このページでは、シークレットの作成方法について説明します。シークレットには 1 つ以上のシークレット バージョンとともに、ラベルやレプリケーション ポリシーなどのメタデータが含まれます。シークレットの実際のコンテンツは、 シークレット バージョンに保存されます。
始める前に
-
認証を設定する。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
コンソールを使用してサービスと API にアクセスする場合、認証を設定する必要はありません。 Google Cloud Google Cloud
gcloud
コンソールで Cloud Shell をアクティブにします。 Google Cloud
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
REST
このページの REST API サンプルをローカル開発環境で使用するには、 gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
詳細については、 REST を使用して認証する 認証ドキュメントの Google Cloud をご覧ください。
必要なロール
シークレットの作成に必要な権限を取得するには、プロジェクト、フォルダ、組織に対するSecret Manager 管理者 (roles/secretmanager.admin)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
シークレットを作成する
シークレットは、 Google Cloud コンソール、Google Cloud CLI、Secret Manager API、または Secret Manager クライアント ライブラリを使用して作成できます。
コンソール
-
コンソールで、[Secret Manager] ページに移動します。 Google Cloud
-
[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: Google Cloud プロジェクト 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#
このコードを実行するには、まず C# 開発環境を設定し、 Secret Manager C# SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
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 スコープを使用して認証する必要があります。
PHP
このコードを実行するには、まずGoogle Cloud での PHP の使用について確認して、 Secret Manager PHP SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Python
このコードを実行するには、まず Python 開発環境を設定し、 Secret Manager Python SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、 Secret Manager Ruby SDK をインストールします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
シークレットに適したレプリケーション ポリシーを選択するには、 レプリケーション ポリシーを選択するをご覧ください。
シークレット バージョンを追加する
Secret Manager では、シークレット バージョンを使用してシークレット
データが自動的にバージョニングされます。アクセス、破棄、無効化、有効化などの主なオペレーションは、特定のシークレット バージョンに適用されます。Secret Manager では、シークレットを 42 などの特定のバージョン、または latest などの動的エイリアスに関連付けることができます。詳細については、シークレットバージョンを追加するをご覧ください。
シークレット バージョンにアクセス
特定のシークレット バージョンのシークレット データにアクセスし、認証を成功させるためには、 シークレット バージョンにアクセスするをご覧ください。
次のステップ
- プロジェクトごとに、さまざまなタイプの API リクエスト(アクセス、読み取り、書き込み)の割り当てとレート上限を確認する。
- シークレットへのアクセスを管理する方法を学ぶ。
- シークレットの通知を設定する方法を学ぶ。