web-dev-qa-db-ja.com

サービスアカウントを使用したプロジェクト間管理

複数のプロジェクトにアクセスできるサービスアカウントが必要ですが、これを行う方法がまったく見つかりませんでした。サービスアカウントは常にプロジェクトにバインドされているようです。

別のオプションは、個別のプロジェクトでサービスアカウントを作成し、gcloud auth activate-service-account --key-file SOME_FILE.jsonを使用してそれらを認証することですが、ここでの問題は、サービスアカウントの作成を自動化できないように見えることです。

質問は次のとおりです。クロスプロジェクトサービスアカウントを作成したり、サービスアカウントの作成を自動化することは可能ですか?両方ができたらもっといい

25
Leon

サービスアカウントを別のプロジェクトに追加できるはずです。

  1. クラウドコンソールのプロジェクトAで最初のサービスアカウントを作成します。 gcloud auth activate-service-accountを使用してアクティブにします。

  2. クラウドコンソールで、プロジェクトBに移動します。[IAM&admin]> [IAM]ページを見つけます。 [追加]ボタンをクリックします。 [新しいメンバー]フィールドに、サービスアカウントの名前(奇妙なメールアドレスのように見えるはずです)を貼り付け、適切な役割を与えます。

  3. --projectをプロジェクトBに設定してgcloudコマンドを実行します。成功するはずです(これが機能することを手動で確認しました)。

サービスアカウントの自動作成は、セキュリティの影響をすべて処理できるようになるまでdoすることです。

40
Zachary Newman

私は少し古いことを知っていますが、誰かがまだこれを探しているなら、@ Zachary Newmanの答えに追加するには、物事を明確にするために、プロジェクトAでサービスアカウントを作成した後、プロジェクトBに移動して「IAM」( 「サービスアカウント」)、ここで、適切な役割で作成したメールを追加できます。

16
Vini