このトピックでは、鍵を自動または手動でローテーションする方法について説明します。鍵のローテーションの詳細については、鍵のローテーションをご覧ください。
必要なロール
鍵をローテーションするために必要な権限を取得するには、鍵に対する次の IAM ロールを付与するよう管理者に依頼してください。
-
Cloud KMS 管理者(
roles/cloudkms.admin
) -
データを再暗号化する:
Cloud KMS 暗号鍵の暗号化 / 復号 (
roles/cloudkms.cryptoKeyEncrypterDecrypter
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
これらの事前定義ロールには、鍵のローテーションに必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
鍵をローテーションするには、次の権限が必要です。
-
メインの鍵バージョンを変更する:
cloudkms.cryptoKeys.update
-
自動ローテーションを変更または無効にする:
cloudkms.cryptoKeys.update
-
新しい鍵バージョンを作成する:
cloudkms.cryptoKeyVersions.create
-
古い鍵バージョンを無効にする:
cloudkms.cryptoKeyVersions.update
-
データを再暗号化する:
-
cloudkms.cryptoKeyVersions.useToDecrypt
-
cloudkms.cryptoKeyVersions.useToEncrypt
-
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
これらの権限のすべてを含むカスタムロールを持つ 1 人のユーザーが、鍵をローテーションし、独自にデータを再暗号化できます。Cloud KMS 管理者のロールを持つユーザーと Cloud KMS 暗号鍵の暗号化/復号のロールを持つユーザーは、協力して鍵のローテーションとデータの再暗号化を行うことができます。ロールを割り当てるときは、最小権限の原則に従います。詳細については、権限とロールをご覧ください。
鍵をローテーションする場合、以前の鍵バージョンで暗号化されたデータは自動的に再暗号化されません。詳しくは、復号と再暗号化をご覧ください。鍵をローテーションしても、既存の鍵バージョンが自動的に無効になったり、破棄されたりすることはありません。不要になった鍵バージョンを破棄すると、費用を削減できます。
自動ローテーションを構成する
新しい鍵の作成時に自動ローテーションを構成するには:
Console
Google Cloud コンソールを使用して鍵を作成すると、Cloud KMS は自動的にローテーション期間と次のローテーション時間を設定します。デフォルト値を使用するか、別の値を指定できます。
異なるローテーション期間と開始時間を指定する場合は、鍵の作成時に次の操作を行ってから、[作成] ボタンをクリックします。
[鍵のローテーション期間] でオプションを選択します。
[開始日] で、最初の自動ローテーションを開始する日付を選択します。[開始日] をデフォルト値のままにして、鍵を作成してから 1 回の鍵のローテーション期間が経過した後に最初の自動ローテーションを開始できます。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーションROTATION_PERIOD
: 鍵をローテーションする間隔。たとえば、30d
は 30 日ごとに鍵をローテーションします。ローテーション期間は 1 日~100 年にする必要があります。詳細については、CryptoKey.rotationPeriod をご覧ください。NEXT_ROTATION_TIME
: 最初のローテーションが完了する時点のタイムスタンプ(例:2023-01-01T01:02:03
)。--next-rotation-time
を省略すると、最初のローテーションをコマンドの実行時から 1 回のローテーション期間にスケジュール設定できます。詳細については、CryptoKey.nextRotationTime
をご覧ください。
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
C#
このコードを実行するには、まず C# 開発環境を設定し、Cloud KMS C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Cloud KMS Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Cloud KMS Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Cloud KMS Node.js SDK をインストールします。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について学び、Cloud KMS PHP SDK をインストールしてください。
Python
このコードを実行するには、まず Python 開発環境を設定し、Cloud KMS Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Cloud KMS Ruby SDK をインストールします。
API
これらの例では、HTTP クライアントとして curl を使用して API の使用例を示しています。アクセス制御の詳細については、Cloud KMS API へのアクセスをご覧ください。
鍵を作成するには、CryptoKey.create
メソッドを使用します。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
以下を置き換えます。
PURPOSE
: 鍵の目的。ROTATION_PERIOD
: 鍵をローテーションする間隔。たとえば、30d
は 30 日ごとに鍵をローテーションします。ローテーション期間は 1 日~100 年にする必要があります。詳細については、CryptoKey.rotationPeriod をご覧ください。NEXT_ROTATION_TIME
: 最初のローテーションが完了する時点のタイムスタンプ(例:2023-01-01T01:02:03
)。詳細については、CryptoKey.nextRotationTime
をご覧ください。
既存の鍵で自動ローテーションを構成するには:
Console
Google Cloud コンソールで、[鍵の管理] ページに移動します。
ローテーション スケジュールを追加する鍵を含むキーリングの名前をクリックします。
ローテーション スケジュールを追加する鍵をクリックします。
ヘッダーで [ローテーション期間を編集] をクリックします。
プロンプトで、[ローテーション期間] フィールドと [開始日] フィールドで新しい値を選択します。
プロンプトで [保存] をクリックします。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys update KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーションROTATION_PERIOD
: 鍵をローテーションする間隔。たとえば、30d
は 30 日ごとに鍵をローテーションします。ローテーション期間は 1 日~100 年にする必要があります。詳細については、CryptoKey.rotationPeriod をご覧ください。NEXT_ROTATION_TIME
: 次のローテーションが完了する時点のタイムスタンプ(例:2023-01-01T01:02:03
)。--next-rotation-time
を省略すると、次のローテーションをコマンドの実行時から 1 回のローテーション期間にスケジュール設定できます。詳細については、CryptoKey.nextRotationTime
をご覧ください。
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
C#
このコードを実行するには、まず C# 開発環境を設定し、Cloud KMS C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Cloud KMS Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Cloud KMS Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Cloud KMS Node.js SDK をインストールします。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について学び、Cloud KMS PHP SDK をインストールしてください。
Python
このコードを実行するには、まず Python 開発環境を設定し、Cloud KMS Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Cloud KMS Ruby SDK をインストールします。
API
これらの例では、HTTP クライアントとして curl を使用して API の使用例を示しています。アクセス制御の詳細については、Cloud KMS API へのアクセスをご覧ください。
鍵を更新するには、CryptoKey.patch
メソッドを使用します。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
以下を置き換えます。
ROTATION_PERIOD
: 鍵をローテーションする間隔。たとえば、30d
は 30 日ごとに鍵をローテーションします。ローテーション期間は 1 日~100 年にする必要があります。詳細については、CryptoKey.rotationPeriod をご覧ください。NEXT_ROTATION_TIME
: 次のローテーションが完了する時点のタイムスタンプ(例:2023-01-01T01:02:03
)。詳細については、CryptoKey.nextRotationTime
をご覧ください。
鍵を手動でローテーションする
最初に、新しい鍵バージョンを作成します。
Console
Google Cloud コンソールで、[鍵の管理] ページに移動します。
新しい鍵バージョンを作成する鍵が含まれる鍵リング名をクリックします。
新しい鍵バージョンを作成する鍵をクリックします。
ヘッダーで [ローテーション] をクリックします。
プロンプトで、[ローテーション] をクリックして確定します。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーション
鍵バージョンには順番に番号が付けられます。
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
C#
このコードを実行するには、まず C# 開発環境を設定し、Cloud KMS C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Cloud KMS Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Cloud KMS Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Cloud KMS Node.js SDK をインストールします。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について学び、Cloud KMS PHP SDK をインストールしてください。
Python
このコードを実行するには、まず Python 開発環境を設定し、Cloud KMS Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Cloud KMS Ruby SDK をインストールします。
API
これらの例では、HTTP クライアントとして curl を使用して API の使用例を示しています。アクセス制御の詳細については、Cloud KMS API へのアクセスをご覧ください。
鍵を手動でローテーションするには、まず CryptoKeyVersions.create メソッドを呼び出して新しい鍵バージョンを作成します。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \ --request "POST" \ --header "authorization: Bearer TOKEN"
このコマンドにより、新しい鍵バージョンが作成されますが、メインのバージョンには設定されません。
新しい鍵バージョンをメインのバージョンとして設定するには、既存のバージョンをメインの鍵バージョンとして設定をご覧ください。
必要に応じて、以前の鍵バージョンを使用して暗号化されたデータを再暗号化します。
既存のバージョンをメインの鍵バージョンとして設定する
鍵のメイン バージョンとして別の鍵バージョンを設定するには、新しいメイン バージョンの情報で鍵を更新します。鍵バージョンをメイン バージョンとして設定する前に有効にする必要があります。
Console
Google Cloud コンソールで、[鍵の管理] ページに移動します。
メインのバージョンを更新する鍵を含む鍵リングの名前をクリックします。
メインのバージョンを更新する鍵をクリックします。
メインにする鍵バージョンに対応する行で、[もっと見る
] をクリックします。メニューの [メインのバージョンにする] をクリックします。
確認プロンプトで、[メインにする] をクリックします。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary-version KEY_VERSION
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーション- KEY_VERSION: 新しいメインの鍵バージョンのバージョン番号。
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
C#
このコードを実行するには、まず C# 開発環境を設定し、Cloud KMS C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Cloud KMS Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Cloud KMS Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Cloud KMS Node.js SDK をインストールします。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について学び、Cloud KMS PHP SDK をインストールしてください。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Cloud KMS Ruby SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Cloud KMS Python SDK をインストールします。
API
これらの例では、HTTP クライアントとして curl を使用して API の使用例を示しています。アクセス制御の詳細については、Cloud KMS API へのアクセスをご覧ください。
CryptoKey.updatePrimaryVersion メソッドを呼び出してメインの鍵バージョンを変更します。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME:updatePrimaryVersion" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"cryptoKeyVersionId": "KEY_VERSION"}'
以下を置き換えます。
PROJECT_ID
: キーリングを含むプロジェクトの ID。LOCATION
: キーリングの Cloud KMS のロケーションKEY_RING
: 鍵を含むキーリングの名前。KEY_NAME
: 鍵の名前- KEY_VERSION: 新しいメインの鍵バージョンのバージョン番号。
メインの鍵バージョンを変更すると、通常は 1 分以内に変更が反映されます。ただし、この変更が反映されるまでに最大で 3 時間かかることがあります。この間、以前のメインのバージョンがデータの暗号化に使用されます。詳細については、Cloud KMS リソースの整合性をご覧ください。
自動ローテーションの無効化
鍵の自動ローテーションを無効にするには、鍵のローテーション スケジュールをクリアします。
Console
Google Cloud コンソールで、[鍵の管理] ページに移動します。
ローテーション スケジュールを追加する鍵を含むキーリングの名前をクリックします。
ローテーション スケジュールを削除する鍵をクリックします。
ヘッダーで [ローテーション期間を編集] をクリックします。
プロンプトで [ローテーション期間] フィールドをクリックし、[使用しない(手動ローテーション)] を選択します。
プロンプトで [保存] をクリックします。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --remove-rotation-schedule
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーション
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
C#
このコードを実行するには、まず C# 開発環境を設定し、Cloud KMS C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Cloud KMS Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Cloud KMS Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Cloud KMS Node.js SDK をインストールします。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について学び、Cloud KMS PHP SDK をインストールしてください。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Cloud KMS Ruby SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Cloud KMS Python SDK をインストールします。
API
これらの例では、HTTP クライアントとして curl を使用して API の使用例を示しています。アクセス制御の詳細については、Cloud KMS API へのアクセスをご覧ください。
鍵を更新するには、CryptoKey.patch
メソッドを使用します。
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": null, "nextRotationTime": null}'
rotationPeriod
と nextRotationTime
の詳細については、keyRings.cryptoKeys
をご覧ください。
外部鍵をローテーションする
調整された外部鍵をローテーションする
対称の調整された外部鍵に対して自動ローテーションを構成できます。対称または非対称のされた外部鍵に対して、新しい鍵バージョンを手動で作成することもできます。
鍵バージョンをローテーションまたは作成すると、その鍵で保護された新しく作成されたすべてのデータが新しい鍵バージョンで暗号化されます。以前の鍵バージョンで保護されたデータは再暗号化されません。そのため、外部鍵マネージャーでは、以前の鍵バージョンの鍵マテリアルを引き続き使用できるようにする必要があります。
調整された外部鍵の新しい鍵バージョンを作成するには、次の操作を行います。
Console
Google Cloud コンソールで [鍵管理] ページに移動します。
キーリングを選択し、鍵を選択します。
[バージョンを作成] をクリックします。 Cloud KMS と EKM の両方で新しい鍵バージョンが生成されることを示すメッセージが表示されます。[鍵のパス] または [鍵の URI] フィールドがある場合、選択した鍵は調整された外部鍵ではありません。
新しい鍵バージョンを作成することを確定するには、[バージョンを作成] をクリックします。
新しい鍵バージョンは [生成保留中] の状態になります。対称鍵の場合、手動で作成した鍵バージョンがメインの鍵バージョンとして自動的に設定されることはありません。新しい鍵バージョンをメインとして設定できます。
gcloud CLI
新しい対称鍵バージョンを作成し、それをメインの鍵バージョンとして設定するには、--primary
フラグを指定して kms keys versions create
コマンドを使用します。
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーション
新しい非対称鍵バージョンを作成する場合、またはメインの鍵バージョンではない新しい対称鍵バージョンを作成する場合、kms keys versions
create
コマンドを使用します。
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーション
VPC 鍵を使用して手動で管理する Cloud EKM をローテーションする
まず、外部鍵マネージャーで外部鍵マテリアルをローテーションします。その結果として新しい鍵のパスが生成された場合は、新しい鍵のパスを使用して Cloud EKM の鍵バージョンをローテーションするか、作成する必要があります。対称暗号鍵の場合は、Cloud EKM 鍵をローテーションし、外部鍵マネージャーから取得した新しい鍵 URI を指定します。非対称鍵の場合は、新しい鍵バージョンを作成し、新しい鍵のパスを指定します。
鍵バージョンをローテーションまたは作成すると、その鍵で保護された新しく作成されたすべてのデータが新しい鍵バージョンで暗号化されます。以前の鍵バージョンで保護されたデータは再暗号化されません。そのため、外部鍵マネージャーでは、以前の鍵バージョンの鍵マテリアルを引き続き使用できるようにする必要があります。
外部鍵管理パートナー システムの鍵マテリアルは変更されず、鍵のパスが変更された場合は、鍵をローテーションせずに鍵の外部パスを更新できます。
Console
Google Cloud コンソールで [鍵管理] ページに移動します。
キーリングを選択し、鍵を選択します。
[鍵をローテーションする] をクリックします。
[鍵のパス] に、新しいバージョンの鍵のパスを入力します。
[鍵をローテーションする] をクリックして確定します。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
新しい対称鍵バージョンを作成し、それをメインの鍵バージョンとして設定するには、--primary
フラグを指定して kms keys versions create
コマンドを使用します。
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH \ --primary
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーションEXTERNAL_KEY_PATH
: 新しい外部鍵バージョンへのパス。
新しい非対称鍵バージョンを作成する場合、またはメインの鍵バージョンではない新しい対称鍵バージョンを作成する場合、kms keys versions
create
コマンドを使用します。
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーションEXTERNAL_KEY_PATH
: 新しい外部鍵バージョンへのパス。
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
鍵バージョンが正常に作成されると、他の Cloud KMS 鍵バージョンを使用する場合と同様に使用できます。
インターネット鍵を使用して手動で管理する Cloud EKM をローテーションする
まず、外部鍵マネージャーで外部鍵マテリアルをローテーションします。その結果として新しい URI が生成された場合は、新しい URI を使用して新しい Cloud EKM 鍵バージョンをローテーションするか、作成する必要があります。 対称暗号鍵の場合は、Cloud EKM 鍵をローテーションし、外部鍵マネージャーから取得した新しい鍵の URI を指定します。非対称鍵の場合は、新しい鍵バージョンを作成し、新しい鍵の URI を指定します。
鍵バージョンをローテーションまたは作成すると、その鍵で保護された新しく作成されたすべてのデータが新しい鍵バージョンで暗号化されます。以前の鍵バージョンで保護されたデータは再暗号化されません。そのため、外部鍵マネージャーでは、以前の鍵バージョンの鍵マテリアルを引き続き使用できるようにする必要があります。
外部鍵管理パートナー システムの鍵マテリアルは変更されず、URI が変更された場合は、鍵をローテーションせずに鍵の外部 URI を更新できます。
Console
Google Cloud コンソールで [鍵管理] ページに移動します。
キーリングを選択し、鍵を選択します。
対称鍵の場合は [鍵をローテーション]、非対称鍵の場合は [バージョンを作成] を選択します。
新しい鍵 URI を入力し、対称鍵の場合は [鍵をローテーション] を、非対称鍵の場合は [バージョンを作成] を選択します。
新しい鍵バージョンがメインのバージョンになります。
gcloud CLI
新しい対称鍵バージョンを作成し、それをメインの鍵バージョンとして設定するには、--primary
フラグを指定して kms keys versions create
コマンドを使用します。
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI \ --primary
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーションEXTERNAL_KEY_URI
: 新しい外部鍵バージョンの鍵の URI。
新しい非対称鍵バージョンを作成する場合、またはメインの鍵バージョンではない新しい対称鍵バージョンを作成する場合、kms keys versions
create
コマンドを使用します。
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI
以下を置き換えます。
KEY_NAME
: 鍵の名前KEY_RING
: 鍵を含むキーリングの名前。LOCATION
: キーリングの Cloud KMS のロケーションEXTERNAL_KEY_URI
: 新しい外部鍵バージョンの鍵の URI。
次のステップ
- 鍵をローテーションした後、その鍵で暗号化されたデータを再暗号化できます。
- データを再暗号化したら、鍵バージョンが使用されているかどうかを確認できます。
- 鍵バージョンが使用されなくなったことを確認したら、鍵バージョンを破棄できます。