Secret Manager を使用してシークレットを作成してアクセスする
Google Cloudで Secret Manager を使用してシークレットを作成してアクセスする方法を学習します。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。
始める前に
- プロジェクトごとに Secret Manager API を有効にします。
- プロジェクト、フォルダ、または組織に対する Secret Manager 管理者ロール(roles/secretmanager.admin)を割り当てます。
- 次のいずれかの方法で Secret Manager API への認証を行います。 - クライアント ライブラリを使用して Secret Manager API にアクセスする場合は、アプリケーションのデフォルト認証情報を設定します。
- Google Cloud CLI を使用して Secret Manager API にアクセスする場合は、Google Cloud CLI 認証情報を使用して認証します。
- REST 呼び出しを認証するには、Google Cloud CLI 認証情報またはアプリケーションのデフォルト認証情報を使用します。
 
シークレットを作成し、シークレット バージョンにアクセスします。
次の例は、シークレットを作成してシークレット バージョンのコンテンツにアクセスする方法を示しています。
Console
Secret とシークレット バージョンを作成するには:
- 
    Google Cloud コンソールで [Secret Manager] ページに移動します。 
- 
    [シークレット マネージャー] ページで、[シークレットを作成] をクリックします。 
- 
    [シークレットの作成] ページの [名前] に「 my-secret」と入力します。
- 
    [シークレット値] フィールドに「 my super secret data」と入力します。
- 
    [シークレットを作成] ボタンをクリックします。 
シークレット バージョンのコンテンツにアクセスするには:
- 
    Google Cloud コンソールで [Secret Manager] ページに移動します。 
- 
    [Secret Manager] ページで、[my-secret] をクリックします。 
- 
    [シークレットの詳細] ページの [バージョン] テーブルで、バージョン 1 を見つけます。 
- 
    [アクション] 列で、[ の詳細] をクリックします。 
- 
    メニューから [シークレット値の表示] をクリックします。 
- 
    シークレット値を示すダイアログが表示されます。[完了] をクリックしてダイアログを閉じます。 
gcloud
Secret Manager をコマンドラインで使用するには、まず Google Cloud CLI のバージョン 378.0.0 以降をインストールまたはアップグレードします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
シークレットを作成し、最初のシークレット バージョンのコンテンツとして文字列を保存するには:
$ echo -n "my super secret data" | gcloud secrets create my-secret \
    --replication-policy="replication-policy" \
    --data-file=-
replication-policy は、automatic または user-managed のいずれかです。
特定のシークレット バージョンのコンテンツにアクセスするには:
$ gcloud secrets versions access 1 --secret="my-secret"
最新のシークレット バージョンのコンテンツにアクセスするには:
$ gcloud secrets versions access latest --secret="my-secret"
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 スコープを使用して認証する必要があります。
API
次の例では、API の使用を示すために curl を使用します。gcloud auth print-access-token を使用してアクセス トークンを生成できます。Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
シークレットを作成し、最初のシークレット バージョンのコンテンツとして文字列を保存するには:
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets?secretId=my-secret" \
    --request "POST" \
    --header "authorization: Bearer $(gcloud auth print-access-token)" \
    --header "content-type: application/json" \
    --data "{\"replication\": {\"automatic\": {}}}"
シークレット バージョンのコンテンツにアクセスするには:
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/my-secret/versions/1:access" \
    --request "GET" \
    --header "authorization: Bearer $(gcloud auth print-access-token)" \
    --header "content-type: application/json"
次のステップ
- シークレットの編集について学習する。
- シークレットへのアクセス管理に関する詳細。
- シークレット バージョンへのエイリアスの割り当てについて学習する。
- シークレットの通知の設定について学習する。
- ベスト プラクティスについて確認する。