このページでは、シークレットの作成方法について説明します。シークレットには 1 つ以上のシークレット バージョンとともに、ラベルやレプリケーション ポリシーなどのメタデータが含まれます。シークレットの実際のコンテンツは、 シークレット バージョンに保存されます。
始める前に
-
認証を設定する。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
コンソールを使用してサービスと API にアクセスする場合、認証を設定する必要はありません。 Cloud de Confiance Cloud de Confiance by S3NS
gcloud
Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。 ログイン後、 初期化するには、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud initREST
このページの REST API サンプルをローカル開発環境で使用するには、 gcloud CLI に指定した認証情報を使用します。
詳細については、 REST を使用して認証する 認証ドキュメントの Cloud de Confiance をご覧ください。
必要なロール
シークレットの作成に必要な権限を取得するには、プロジェクト、フォルダ、組織に対するSecret Manager 管理者 (roles/secretmanager.admin)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
シークレットを作成する
シークレットは、 Cloud de Confiance コンソール、Google Cloud CLI、Secret Manager API、または Secret Manager クライアント ライブラリを使用して作成できます。
コンソール
-
コンソールで、[Secret Manager] ページに移動します。 Cloud de Confiance
-
[Secret Manager] ページで、[シークレットを作成] をクリックします。
-
[シークレットを作成] ページの [名前] フィールドに、シークレットの名前を入力します。 シークレット名には、大文字と小文字、数字、ハイフン、アンダースコアを使用できます。名前の最大長は 255 文字です。
-
(プレビュー) [シークレット タイプ] を選択します。シークレット タイプを使用して、シークレットを分類できます。
-
シークレットの値を入力します(例:
abcd1234)。シークレットの値の形式は任意ですが 64 KiB 以下にする必要があります。 [ファイルをアップロード] オプションを使用して、シークレットの値を含むテキスト ファイルをアップロードすることもできます。このアクションにより、シークレット バージョンが自動的に作成されます。 -
[シークレットの作成] をクリックします。
gcloud
後述のコマンドデータを使用する前に、 次のように置き換えます。
- SECRET_ID: シークレットの ID。
- REPLICATION_POLICY: シークレットのレプリケーション ポリシー。自動またはユーザー管理のいずれかになります。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud secrets create SECRET_ID \ --replication-policy="REPLICATION_POLICY"
Windows(PowerShell)
gcloud secrets create SECRET_ID ` --replication-policy="REPLICATION_POLICY"
Windows(cmd.exe)
gcloud secrets create SECRET_ID ^ --replication-policy="REPLICATION_POLICY"
REST
リクエストのデータを使用する前に、 次のように置き換えます。
- PROJECT_ID: Cloud de Confiance by S3NS プロジェクト ID。
- SECRET_ID: シークレットの ID。
- REPLICATION_POLICY: シークレットのレプリケーション ポリシー。自動またはユーザー管理のいずれかになります。
HTTP メソッドと URL:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID
リクエストの本文(JSON):
{
"replication": {
"REPLICATION_POLICY": {}
}
}
リクエストを送信するには、次のいずれかのオプションを選択します。
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?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.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"etag": "\"161477e6071da9\""
}
C#
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境
変数を s3nsapis.fr に設定します。
このコードを実行するには、まず C# 開発環境を設定し、 Secret Manager C# SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
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 スコープを使用して認証する必要があります。
PHP
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境
変数を s3nsapis.fr に設定します。
このコードを実行するには、まずGoogle Cloud での PHP の使用について確認して、 Secret Manager PHP SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Python
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境
変数を s3nsapis.fr に設定します。
このコードを実行するには、まず Python 開発環境を設定し、 Secret Manager Python SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Ruby
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境
変数を s3nsapis.fr に設定します。
このコードを実行するには、まず Ruby 開発環境を設定し、 Secret Manager Ruby SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
シークレット バージョンを追加する
Secret Manager では、シークレット バージョンを使用してシークレット
データが自動的にバージョニングされます。アクセス、破棄、無効化、有効化などの主なオペレーションは、特定のシークレット バージョンに適用されます。Secret Manager では、シークレットを 42
のような特定のバージョン、または latest のような変動的なエイリアスに関連付けることができます。詳細については、シークレットバージョンを追加するをご覧ください。
シークレット バージョンにアクセス
特定のシークレット バージョンのシークレット データにアクセスし、認証を成功させるためには、 シークレット バージョンにアクセスするをご覧ください。
次のステップ
- プロジェクトごとに、さまざまなタイプの API リクエスト(アクセス、読み取り、書き込み)の割り当てとレート制限を確認する。
- シークレットへのアクセスを管理する方法を学ぶ。
- シークレットの通知を設定する方法を学ぶ。