Cloud KMS では、データの暗号化、復号、署名、検証に使用する暗号鍵マテリアルが、鍵バージョンに保存されています。鍵には、0 個以上の鍵バージョンがあります。鍵をローテーションすると、新しい鍵バージョンが作成されます。
このトピックでは、鍵バージョンを永久に破棄するようにスケジュールする方法について説明します。鍵が破棄された後は、その鍵を使用して暗号化されたデータにはアクセスできません。
鍵バージョンの破棄リクエストを送信すると、鍵バージョンを復元して破棄リクエストをキャンセルしない限り、24 時間後に破棄されます。鍵へのアクセスは、Identity and Access Management(IAM)を使用して管理することもできます。IAM オペレーションの整合性は、数秒以内に確保されます。詳細については、IAM の使用をご覧ください。
鍵バージョンを無効にすることもできます。
このトピックの残りの部分では、破棄が直ちに行われるわけではありませんが、鍵の破棄をスケジュールすることを鍵の破棄と呼びます。
鍵バージョンを破棄する
鍵バージョンは、有効または無効のものを破棄できます。
Console
Cloud Console で [暗号鍵リング] ページに移動します。
破棄をスケジュールする鍵バージョンの鍵が含まれる鍵リング名をクリックします。
破棄をスケジュールする鍵バージョンの鍵をクリックします。
破棄をスケジュールする鍵バージョンの横にあるチェックボックスをオンにします。
ヘッダーの [破棄] をクリックします。
確認プロンプトで、鍵名を入力して [破棄をスケジュール] をクリックします。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys versions destroy key-version \ --key key \ --keyring key-ring \ --location location
key-version は、破棄する鍵のバージョンに置き換えます。key を鍵の名前に置き換えます。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 をインストールします。
破棄リクエストを送信すると、鍵バージョンの状態は、破棄がスケジュール済みになります。24 時間が経過すると、鍵バージョンの状態は破棄になり、アクティブ システムからの論理削除が開始され、鍵マテリアルをお客様が復元できなくなります。鍵マテリアルは、スケジュールされた破棄時刻から最大 45 日間まで Google システム内に保持できます。
鍵バージョンの破棄がスケジュールされたときにアラートを受け取るには、Cloud KMS での Cloud Monitoring の使用をご覧ください。
破棄された鍵バージョンは、課金対象のリソースではありません。
鍵バージョンを復元する
鍵バージョンのステータスが破棄がスケジュール済みの期間内で、復元リクエストを送信して鍵バージョンを復元できます。
Console
Cloud Console で [暗号鍵リング] ページに移動します。
復元にする鍵バージョンの鍵が含まれるキーリング名をクリックします。
復元する鍵バージョンの鍵をクリックします。
復元する鍵バージョンの横にあるチェックボックスをオンにします。
ヘッダーの [復元] をクリックします。
確認プロンプトで [復元] をクリックします。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys versions restore key-version \ --key key \ --keyring key-ring \ --location location
key-version は、復元する鍵のバージョンに置き換えます。key を鍵の名前に置き換えます。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 をインストールします。
復元リクエストが完了すると、鍵バージョンの状態は無効になります。使用する前に、鍵を有効にする必要があります。
必要な IAM 権限
鍵バージョンを破棄するには、呼び出し元に、鍵、キーリング、プロジェクト、フォルダ、または組織に対する cloudkms.cryptoKeyVersions.destroy
IAM 権限が必要です。
鍵バージョンを復元するには、呼び出し元に cloudkms.cryptoKeyVersions.restore
権限が必要です。
これらの権限は、Cloud KMS 管理者のロール(roles/cloudkms.admin
)に付与されます。
削除のタイムライン
Cloud KMS は、スケジュールされた破棄時間から 45 日以内にすべての Google インフラストラクチャから顧客鍵マテリアルの削除を確約します。これには、アクティブ システムとデータセンターのバックアップの両方からのデータの削除が含まれます。その他のお客様のデータには、180 日間の標準 Google Cloud 削除タイムラインが適用されます。