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
とにかくこのようなものはありますか?
別の方法でソリューションにアプローチします。
異なるサービスアカウントを使用する代わりに、各プロジェクトへのアクセス(特権)を持つ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