web-dev-qa-db-ja.com

Google CloudgsutilでJSONキーを使用して複数のキーを管理する方法

DEV、STAGING、.. PRODなどの異なる環境の複数のGCPサービスアカウントキーがあります。

Dev環境にあるjenkinsボックスでコマンドを実行して、AccessDEVおよびステージング環境を作成したいと思います。

gcloud authコマンドを毎回実行したくありません。代わりに、次のようなものを期待しています。

gcloud compute instances list --key-file=dev-sa.json

または

gsutil ls -l --key-file=dev-sa.json

とにかくこのようなものはありますか?

3
Dinesh SC

別の方法でソリューションにアプローチします。

異なるサービスアカウントを使用する代わりに、各プロジェクトへのアクセス(特権)を持つ1つのサービスアカウントを使用します。

サービスアカウントを作成します(または作成したアカウントを使用します)。サービスアカウントのメールアドレスをメモします(これはそのIDです)。

各プロジェクトのIAMに移動し、このメールアドレスをメンバーとして追加します。このサービスアカウントに必要な役割/権限を割り当てます。プロジェクトごとに繰り返します。

これで、このサービスアカウントのjsonファイルを使用して、gcloud、ソフトウェアアプリケーションなどをセットアップできます。必要なのは、資格情報を使用するときにプロジェクトを指定することだけです。

gcloud auth activate-service-account [email protected] --key-file=test_google_account.json

デフォルトのプロジェクトはgcloud config set project PROJECT_IDで設定できます。または、環境変数CLOUDSDK_CORE_PROJECTを使用します。

コマンドラインで--project PROJECT_IDを使用してプロジェクトを指定できます

gcloud --project development-123456 compute instances list
4
John Hanley