このページでは、シークレットのメタデータを編集する方法について説明します。暗号化タイプ、ローテーション ポリシー、有効期限、ラベル、イベント通知など、シークレットの多くのプロパティを更新できます。アノテーションを追加したり、シークレット バージョンのエイリアスを設定したりすることもできます。シークレットの名前または値は編集できません。シークレットに新しい値を追加するには、新しいシークレット バージョンを作成する必要があります。
必要なロール
シークレットのメタデータを更新するために必要な権限を取得するには、シークレットまたはプロジェクトに対する Secret Manager 管理者 (roles/secretmanager.admin
)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
シークレットを編集する
シークレットを編集するには、次のいずれかの方法を使用します。
Console
-
Google Cloud コンソールの [Secret Manager] ページに移動します。
-
[Secret Manager] ページで、[リージョン シークレット] タブをクリックします。
-
シークレットを編集するには、次のいずれかの方法を使用します。
-
リストでシークレットを見つけて、そのシークレットに関連付けられている
[操作] メニューをクリックします。[操作] メニューで [編集] をクリックします。 -
シークレット名をクリックして、シークレットの詳細ページに移動します。[シークレットの詳細] ページで、
[シークレットを編集する] をクリックします。
-
-
[シークレットを編集する] ページで、必要に応じてシークレットのプロパティを更新し、[シークレットを更新する] をクリックします。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
- SECRET_ID: シークレットの ID またはシークレットの完全修飾識別子
- LOCATION: シークレットの Google Cloud ロケーション
- KEY:ラベルキー。
- VALUE: ラベルの対応する値
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION \ --update-labels=KEY=VALUE
Windows(PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --update-labels=KEY=VALUE
Windows(cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --update-labels=KEY=VALUE
レスポンスで、更新されたシークレットが返されます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: シークレットの Google Cloud ロケーション
- PROJECT_ID: Google Cloud プロジェクト ID
- SECRET_ID: シークレットの ID またはシークレットの完全修飾識別子
- KEY:ラベルキー。
- VALUE: ラベルの対応する値
HTTP メソッドと URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=labels
リクエストの本文(JSON):
{'labels': {'KEY': 'VAL'}}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=labels"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=labels" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-02T07:14:00.281541Z", "labels": { "key": "value" }, "etag": "\"16211dc7d040b1\"" }
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 スコープを使用して認証する必要があります。
Python
このコードを実行するには、まず Python 開発環境を設定し、Secret Manager Python SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
複数のシークレットの権限とラベルを編集する
複数のシークレットの権限とラベルは、Google Cloud コンソールを使用して編集できます。
-
Google Cloud コンソールの [Secret Manager] ページに移動します。
-
[Secret Manager] ページで、[リージョン シークレット] タブをクリックし、権限とラベルを編集するシークレットを選択します。
-
[情報パネル] が閉じている場合は、[情報パネルを表示] をクリックして表示します。
-
すべてのシークレットに対して構成された権限とラベルは、[情報パネル] の対応するタブに表示されます。個々のタブに移動し、必要に応じて値を更新します。
-
完了したら、[保存] をクリックします。