Secret バージョンを無効化にする

このページでは、シークレット バージョンを無効にする方法について説明します。シークレット バージョンは、次の 3 つの状態のいずれかになります。

  • 有効

  • 無効

  • 破棄

シークレット バージョンを無効にすると、シークレット バージョンにアクセスできなくなります。バージョンを再度有効にすると、アクセスを復元できます。

必要なロール

シークレット バージョンを無効にするために必要な権限を取得するには、シークレットに対するSecret Manager のシークレット バージョン マネージャー roles/secretmanager.secretVersionManager)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Secret バージョンを無効化にする

シークレット バージョンを無効にするには、次のいずれかの方法を使用します。

コンソール

  1. コンソールで、[Secret Manager] ページに移動します。 Google Cloud

    Secret Manager に移動

  2. [Secret Manager] ページで、シークレットをクリックしてそのバージョンにアクセスします。

  3. [シークレットの詳細] ページの [**バージョン**] タブで、アクセスするシークレット バージョン を選択します。

  4. 無効にするシークレット バージョンの [**アクション**] をクリックし、[**無効にする**] をクリックします。

  5. 表示される確認ダイアログで、[選択したバージョンを無効にする] をクリックします。

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • VERSION_ID: シークレット バージョンの ID
  • SECRET_ID: シークレットの ID

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud secrets versions disable VERSION_ID --secret=SECRET_ID

Windows(PowerShell)

gcloud secrets versions disable VERSION_ID --secret=SECRET_ID

Windows(cmd.exe)

gcloud secrets versions disable VERSION_ID --secret=SECRET_ID

REST

リクエストのデータを使用する前に、 次のように置き換えます。

  • PROJECT_ID: プロジェクト ID Google Cloud
  • SECRET_ID: シークレットの ID
  • VERSION_ID: シークレット バージョンの ID

HTTP メソッドと URL:

POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:disable

リクエストの本文(JSON):

{}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:disable"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:disable" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID",
  "createTime": "2024-09-02T07:16:34.566706Z",
  "state": "DISABLED",
  "etag": "\"16214546481514\""
}

C#

このコードを実行するには、まず C# 開発環境を設定し、 Secret Manager C# SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。


using Google.Cloud.SecretManager.V1;

public class DisableSecretVersionSample
{
    public SecretVersion DisableSecretVersion(
      string projectId = "my-project", string secretId