このトピックでは、シークレットを作成する方法について説明します。シークレットには 1 つ以上のシークレット バージョンとともに、ラベルやレプリケーション情報などのメタデータが含まれます。シークレットの実際のコンテンツは、シークレット バージョンに保存されます。
始める前に
- プロジェクトごとに 1 回、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
-
Google Cloud コンソールの [Secret Manager] ページに移動します。
-
[シークレット マネージャー] ページで、[シークレットを作成] をクリックします。
-
[シークレットの作成] ページの [名前] に、シークレットの名前を入力します(例:
my-secret
)。シークレット名には大文字と小文字、数字、ハイフン、アンダースコアを使用できます。名前の最大長は 255 文字です。 -
省略可: 最初のシークレットの作成時にシークレット バージョンも追加するには、[シークレットの値] フィールドにシークレットの値を入力します(例:
abcd1234
)。シークレット値の形式は任意ですが、64 KiB 以下にする必要があります。[ファイルをアップロード] オプションを使用して、シークレット値を含むテキスト ファイルをアップロードすることもできます。 -
[シークレットを作成] ボタンをクリックします。
gcloud
Secret Manager をコマンドラインで使用するには、まず Google Cloud CLI のバージョン 378.0.0 以降をインストールまたはアップグレードします。 Compute Engine または GKE では、cloud-platform スコープを使用して認証する必要があります。
$ gcloud secrets create secret-id \
--replication-policy="automatic"
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=secret-id" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"replication\": {\"automatic\": {}}}"
シークレットに適したレプリケーション ポリシーを選択するには、レプリケーション ポリシーを選択するをご覧ください。
シークレット バージョンを追加する
Secret Manager では、シークレット バージョンを使用してシークレット データが自動的にバージョニングされます。アクセス、破棄、無効化、有効化などのほとんどの操作は、シークレット バージョンで行われます。Secret Manager では、シークレットを 42
のような特定のバージョン、または latest
のような変動的なエイリアスに固定できます。シークレット バージョンを追加する方法をご確認ください。
シークレット バージョンにアクセス
特定のシークレット バージョンのシークレット データにアクセスし、認証を成功させるためには、シークレット バージョンにアクセスするをご覧ください。
次のステップ
- レプリケーション ポリシーを選択する方法を学習する。
- シークレットへのアクセスを管理する方法を学ぶ。
- シークレットの通知を設定する方法を学ぶ。