このトピックでは、シークレット バージョンを破棄する方法について説明します。破棄された状態では、シークレット バージョンの内容は破棄されます。シークレット バージョンの破棄は後から変更できません。シークレットにアクセスできなくなります。シークレット バージョンを別の状態に変更することはできません。
シークレット バージョンを破棄する前に、無効にしてアプリケーションの動作を確認してください。予期しない問題が発生した場合は、シークレット バージョンを再度有効にできます。
シークレットやシークレット バージョンを無効化または破棄する際、変更がシステム全体に反映されるまでに時間がかかります。必要に応じて、シークレットへの IAM アクセス権を取り消すことができます。IAM 権限の変更の整合性は、数秒以内に確保されます。
必要なロール
シークレット バージョンを破棄するために必要な権限を取得するには、シークレットに対する Secret Manager のシークレット バージョン マネージャー(roles/secretmanager.secretVersionManager
)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
シークレット バージョンの破棄
Console
-
Google Cloud コンソールの [Secret Manager] ページに移動します。
-
[Secret Manager] ページで、シークレットの [名前] をクリックします。
-
[シークレットの詳細] ページの [バージョン] テーブルで、アクセスするシークレット バージョンのロケーションを確認します。
-
[アクション] 列で、[
の詳細] をクリックします。 -
メニューの [破棄] をクリックします。
-
[シークレット バージョンの破棄] ダイアログで、シークレットの名前を入力します。
-
[選択したバージョンの破棄] ボタンをクリックします。
gcloud
Secret Manager をコマンドラインで使用するには、まず Google Cloud CLI のバージョン 378.0.0 以降をインストールまたはアップグレードします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
$ gcloud secrets versions destroy version-id --secret="secret-id"
C#
このコードを実行するには、まず C# 開発環境を設定し、Secret Manager C# SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Go
このコードを実行するには、まず Go 開発環境を設定し、Secret Manager Go SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Java
このコードを実行するには、まず Java 開発環境を設定し、Secret Manager Java SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Secret Manager Node.js SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について確認して、Secret Manager PHP SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Python
このコードを実行するには、まず Python 開発環境を設定し、Secret Manager Python SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Secret Manager Ruby SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
API
次の例では、API の使用を示すために curl を使用します。gcloud auth print-access-token を使用してアクセス トークンを生成できます。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id:destroy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
シークレット バージョンの破棄の遅延
Secret Manager 管理者は、シークレットでシークレット バージョンの破棄を遅延する機能を有効にすることで、シークレット バージョンの破棄の遅延を設定できます。この機能を有効にすると、リクエスト時にシークレット バージョンはすぐに破棄されません。代わりに、シークレット バージョンは無効になり、後日破棄がスケジュールされます。この間、Secret Manager 管理者はシークレット バージョンを復元できます。詳細については、シークレット バージョンの破棄を遅らせるをご覧ください。
次のステップ
- データの整合性を確保する方法を学習する。
- ベスト プラクティスについて確認する。