Cloud Code の Secret Manager 統合を使用すると、コードベースで Secret を作成せずに、IDE 内で Secret を作成、表示、更新、使用できます。
このページでは、IDE 内で Secret Manager にアクセスする方法と、Secret の作成と管理を開始する方法について説明します。
このタスクを Cloud Shell エディタで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。
以降のセクションでは、[ガイドを表示] をクリックした場合と同じ手順について説明します。
Secret Manager を有効にする
Cloud Code で Secret を管理する場合、Secret は Secret Manager に安全に保存され、必要に応じてプログラムで取得できます。必要な要件は、Secret Manager API が有効になっており、Secret を管理するための適切な権限が付与されていることのみです。
アプリケーション コードが存在するプロジェクトで作業していることを確認してください。Secret はアプリケーション コードと同じプロジェクト内にある必要があります。
左側のアクティビティ バーで
Cloud Code のアイコンをクリックします。
[Secret Manager] セクションを展開します。
Secret Manager API を有効にしていない場合は、Secret Manager セクションで有効にします。
Secret Manager ビューを使用したシークレットの作成
左側のアクティビティ バーで
Cloud Code のアイコンをクリックします。
[Secret Manager] セクションを展開します。
[Secret Manager] セクションで
[Create Secret] アイコンをクリックします。[Secret の作成] ダイアログで、Secret のプロジェクト、名前、値、リージョンを設定し、Secret を整理するラベルを指定します。
エディタビューを使用したシークレットの作成
- エディタで Secret として保存するテキストを含むファイルを開きます。
- Secret として保存するテキストをハイライト表示して右クリックし、[Secret Manager で Secret を作成] をクリックします。
- [Secret の作成] ダイアログで、Secret のプロジェクト、名前、値、リージョン、ラベルをカスタマイズします。
Secret Manager を使用した新しいバージョンの Secret の作成
既存の Secret を更新するには、Secret の新しいバージョンを作成します。
既存の Secret を右クリックし、[Create Secret Version] を選択します。
[バージョンを作成] ダイアログで、[シークレットの値] フィールドを使用するか、ファイルをインポートして、既存のシークレットの新しい値を設定します。
Secret の以前のすべてのバージョンを削除して、作成する新しいバージョンのみを保持するには、[過去のバージョンをすべて無効にする] を選択します。
[バージョンを作成] をクリックします。バージョンが追加され、[バージョン] プルダウンに最新のシークレット バージョンと以前のバージョンが表示されます。
エディタを使用した新しいバージョンの Secret の作成
既存の Secret を更新するには、Secret の新しいバージョンを作成します。
- エディタでファイルを開き、Secret として保存するテキストをハイライト表示します。
- ハイライト表示されたテキストを右クリックし、[Secret Manager の Secret にバージョンを追加] を選択します。
シークレットの管理
Secret を表示するには、[Secret Manager] セクションでリストから Secret を選択します。名前、レプリケーション ポリシー、作成タイムスタンプ、リソース ID などの詳細は、Secret 名の下に表示されます。
Secret のバージョンを有効化、無効化、または破棄するには、Secret を右クリックして、実行するアクションのコマンドを選択します。Secret の有効なバージョンについては、バージョンの値を表示することもできます。
ブラウザで Secret を表示および管理するには、Secret を右クリックして [Cloud Console で開く] をクリックすることもできます。
![Secret Manager の Secret を右クリックして、[Google Cloud Console で開く] オプションを表示します。Secret Manager ビューにも [プロパティ] プルダウンが表示されます。](https://cloud.google.com/code/docs/vscode/images/secret-properties-oab.png?hl=ja)
アプリケーションから Secret にアクセスする
Secret を作成したら、コードに追加して認証を設定できます。
アプリケーションから Secret にアクセスする方法は次のとおりです。
Secret Manager クライアント ライブラリをインストールします。
アクティビティ バーの
Cloud Code アイコンをクリックします。
[Cloud APIs] セクションを展開します。
Secret Manager API をクリックします。
- Google Cloud APIs Explorer のツリーで、[Cloud Security] > [Secret Manager API] をクリックします。使用している言語に応じて、クライアント ライブラリのインストール手順を行います。
関連するコード スニペットをカスタマイズして、アプリケーションのコードに追加します。
コードで使用する Secret のバージョン名を取得するには、[Secret Manager] セクションで Secret を選択し、右クリックして [リソース ID をコピー] を選択します。
認証設定を完了するには、クライアント ライブラリ認証ガイドに従ってください。
- ローカルでの開発: ローカル クラスタ(minikube、Docker Desktop など)またはローカル エミュレータで開発を行う場合は、ワークフローに関連するローカル開発セクションに示されている手順を完了する必要があります。
- リモート開発: アプリケーションで GKE クラスタまたは Cloud Run サービスを使用している場合は、ワークフローに関連するリモート開発セクションに示されている手順を完了する必要があります。これには、サービス アカウントで必要なロールを設定するための Secret Manager 固有の手順も含まれます。
シークレットを環境変数として追加
既存の Kubernetes Secret を環境変数として Deployment に追加するには:
- Cloud Code の [Clusters] セクションで、minikube クラスタを展開し、[Secrets] を展開します。
- デプロイメント オブジェクトを表す Secret を右クリックして、[Secret を環境変数として追加] をクリックします。
Secret をボリュームとしてマウントする
既存の Kubernetes Secret をボリュームとして Deployment のコンテナにマウントするには:
- Cloud Code の [Clusters] セクションで、minikube クラスタを展開し、[Secrets] を展開します。
- デプロイメント オブジェクトを表す Secret を右クリックし、[Secret をボリュームとしてマウントする] をクリックします。