このページでは、リージョン シークレットを作成する方法について説明します。シークレットには 1 つ以上のシークレット バージョンとともに、ラベルやアノテーションなどのメタデータが含まれます。シークレットの実際のコンテンツは、シークレット バージョンに保存されます。
始める前に
-
認証を設定する。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Cloud de Confiance コンソールを使用して Cloud de Confiance by S3NS サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud initREST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。
詳細については、 Cloud de Confiance 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
シークレットの作成に必要な権限を取得するには、プロジェクト、フォルダ、組織に対する Secret Manager 管理者 (roles/secretmanager.admin)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
リージョン シークレットを作成する
シークレットは、 Cloud de Confiance コンソール、Google Cloud CLI、Secret Manager API、Secret Manager クライアント ライブラリを使用して作成できます。
コンソール
-
Cloud de Confiance コンソールで、[Secret Manager] ページに移動します。
-
[Secret Manager] ページで、[リージョン シークレット] タブをクリックし、[リージョン シークレットを作成] をクリックします。
-
[リージョン シークレットを作成] ページの [名前] フィールドに、シークレットの名前を入力します。シークレット名には、大文字と小文字、数字、ハイフン、アンダースコアを使用できます。名前の最大長は 255 文字です。
-
(プレビュー)シークレット タイプを選択します。シークレット タイプを使用してシークレットを分類できます。
-
シークレットの値を入力します(例:
abcd1234)。シークレット値の形式は任意ですが、64 KiB 以下にする必要があります。[ファイルをアップロード] オプションを使用して、シークレットの値を含むテキスト ファイルをアップロードすることもできます。このアクションにより、シークレット バージョンが自動的に作成されます。 -
リージョン シークレットを保存するロケーションを選択します。次のオプションのいずれかを選択します。
- Region: レイテンシを最小限に抑えるため、シークレットを単一のリージョンに保存します。
- マルチリージョン: 高可用性を実現するために、複数のロケーションにシークレットを複製します。詳細については、使用可能なマルチリージョンをご覧ください。
-
[シークレットの作成] をクリックします。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
- SECRET_ID: シークレットの ID。
- LOCATION: シークレットの Cloud de Confiance by S3NS ロケーション。
次のコマンドを実行します。
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: シークレットの Cloud de Confiance by S3NS ロケーション。
- PROJECT_ID: Cloud de Confiance by S3NS プロジェクト ID。
- SECRET_ID: シークレットの ID。
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
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。
このコードを実行するには、まず Go 開発環境を設定し、Secret Manager Go SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Java
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。
このコードを実行するには、まず Java 開発環境を設定し、Secret Manager Java SDK をインストールします。Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Node.js
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。
このコードを実行するには、まず Node.js 開発環境を設定し、Secret Manager Node.js SDK をインストールします。Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Python
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。
このコードを実行するには、まず Python 開発環境を設定し、Secret Manager Python SDK をインストールします。Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
シークレット バージョンを追加する
Secret Manager では、シークレット バージョンを使用してシークレット データが自動的にバージョニングされます。アクセス、破棄、無効化、有効化などの主なオペレーションは、特定のシークレット バージョンに適用されます。Secret Manager では、シークレットを 42 などの特定のバージョンや、latest などの動的エイリアスに関連付けることができます。詳細については、シークレット バージョンを追加するをご覧ください。
シークレット バージョンにアクセス
特定のシークレット バージョンからシークレット データにアクセスし、認証を成功させるためには、リージョン シークレット バージョンにアクセスするをご覧ください。
次のステップ
- プロジェクトごとに、さまざまなタイプの API リクエスト(アクセス、読み取り、書き込み)の割り当てとレート制限を確認します。
- リージョン シークレットに CMEK 暗号化を追加する
- リージョン シークレット バージョンを追加する