Googleで管理されているサービスアカウントについて
本記事は2025年04月07日に執筆したものです。所属会社のTech Blogプラットフォーム移行に伴い、当該記事を他プラットフォームから移行しました。
はじめに
どうも、@to_fmakです。Google Cloudの一部のサービスでは、サービス利用時にGoogleが管理するデフォルトのサービスアカウントが作成されることがあります。これらのサービスアカウントは、一般的に「サービス エージェント」とも呼ばれ、必要な権限を付与することで利用することができます。今回は、Googleが管理するサービスアカウント(サービス エージェント)の確認方法と、権限を付与する方法について簡単に共有したいと思います。
管理コンソールの表示について
IAMの管理コンソールでは、ユーザが作ったもの以外はデフォルトでは非表示になっています。表示するには、「Google 提供のロール付与を含める」にチェックを入れる必要があります。

また、CLIでサービスアカウントを含めたIAMポリシーを確認する場合、以下のコマンドが使用できます。
gcloud projects get-iam-policy <PROJECT_ID>
権限付与について
管理コンソールから権限を付与する場合、以下の手順で設定できます。
- IAM画面にアクセスし、「アクセスを許可」をクリック
- 「プリンシパルの追加」で対象のサービスアカウントを入力
- 適切なロールを選択し、「保存」をクリック
または、既存のサービスアカウントの権限を変更する場合は、対象プリンシパルの横にある「編集」アイコンをクリックして、ロールを追加・削除できます。
CLIで権限を付与・削除する場合、以下のコマンドを使用します。
# ロールの追加
gcloud projects add-iam-policy-binding <PROJECT_ID> --member='serviceAccount:xxxxx@xxxxx.iam.gserviceaccount.com' --role=<ROLE_NAME>
# ロールの削除
gcloud projects remove-iam-policy-binding <PROJECT_ID> --member='serviceAccount:xxxxx@xxxxx.iam.gserviceaccount.com' --role=<ROLE_NAME>
また、Terraformでロール割り当てを行うことも可能です。以下は一例です。
resource "google_project_iam_member" "example" {
project = "<PROJECT_ID>"
member = "serviceAccount:xxxxx@xxxxx.iam.gserviceaccount.com"
role = "<ROLE_NAME>"
}
参考URL
https://cloud.google.com/iam/docs/service-account-types?hl=ja&_gl=1*101q18r*_ga*MTg0NDcxNjg2Ni4xNzI1OTI5MDk3*_ga_WH2QY8WWF5*MTc0MzY1NDcwNC4yMDguMS4xNzQzNjU3MzIyLjU3LjAuMA..#google-managed_service_accounts
エンジニア募集中
Gakken LEAPは日々、教育のアップデートに取り組んでいます。
興味をお持ちいただいた方は、採用サイトをチェックしてみてください。
Ed-Tech事業の開発及びコンサルティング業務 / 学研グループ各社およびグループ外企業のIT事業・サービスに関する企画、開発、導入支援、運用並びにそれらに関するコンサルティング / ベンチャー企業・ベンチャーキャピタルに対する投資と養成、を行なっている会社です。 gakken-leap.co.jp/
Discussion