このページでは、リージョン シークレットの作成方法について説明します。シークレットには 1 つ以上のシークレット バージョンとともに、ラベルやアノテーションなどのメタデータが含まれます。シークレットの実際のコンテンツは、シークレット バージョンに保存されます。
始める前に
-
認証を設定する。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
シークレットを作成するために必要な権限を取得するには、プロジェクト、フォルダ、または組織に対する Secret Manager 管理者 (roles/secretmanager.admin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
リージョン シークレットを作成する
Secret は、Google Cloud コンソール、Google Cloud CLI、Secret Manager API、または Secret Manager クライアント ライブラリを使用して作成できます。
Console
-
Google Cloud コンソールの [Secret Manager] ページに移動します。
-
[Secret Manager] ページで、[リージョン シークレット] タブをクリックし、[リージョン シークレットを作成] をクリックします。
-
[リージョン シークレットの作成] ページの [名前] フィールドに、シークレットの名前を入力します。シークレット名には、大文字と小文字、数字、ハイフン、アンダースコアを使用できます。名前の最大長は 255 文字です。
-
シークレットの値を入力します(例:
abcd1234
)。シークレット値の形式は任意ですが、64 KiB 以下にする必要があります。[ファイルをアップロード] オプションを使用して、シークレット値を含むテキスト ファイルをアップロードすることもできます。この操作により、シークレット バージョンが自動的に作成されます。 -
[リージョン] リストから、リージョン シークレットを保存する場所を選択します。
-
[シークレットの作成] をクリックします。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
- SECRET_ID: Secret の ID または Secret の完全修飾識別子
- LOCATION: シークレットの Google Cloud ロケーション
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud secrets create SECRET_ID \ --location=LOCATION
Windows(PowerShell)
gcloud secrets create SECRET_ID ` --location=LOCATION
Windows(cmd.exe)
gcloud secrets create SECRET_ID ^ --location=LOCATION
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: シークレットの Google Cloud ロケーション
- PROJECT_ID: Google Cloud プロジェクト ID
- SECRET_ID: Secret の ID または Secret の完全修飾識別子
HTTP メソッドと URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID
リクエストの本文(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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID"
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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-03-25T08:24:13.153705Z", "etag": "\"161477e6071da9\"" }
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 スコープを使用して認証する必要があります。
シークレット バージョンを追加する
Secret Manager では、シークレット バージョンを使用してシークレット データが自動的にバージョニングされます。アクセス、破棄、無効化、有効化などの鍵オペレーションは、特定のシークレット バージョンに適用されます。Secret Manager では、シークレットを 42
などの特定のバージョンまたは latest
などの動的エイリアスに関連付けることができます。詳細については、シークレット バージョンを追加するをご覧ください。
シークレット バージョンにアクセス
特定のシークレット バージョンのシークレット データにアクセスし、認証を成功させるためには、リージョンのシークレット バージョンにアクセスするをご覧ください。