会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

サービスアカウント ― 鍵ファイルを使わずに、アプリに最小限の権限を持たせる

目安学習時間 25分

課題

全問正解でレクチャー完了です。

【問題1】

開発者が一時的にサービスアカウントの権限で gcloud を実行したいとき、対象のサービスアカウントに対して開発者に要るロールはどれですか。

[選択肢]

【問題2】

Compute Engine の VM で動くアプリから Cloud Storage を読みたいとき、公式の勧めに最も合う方法はどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

サービスアカウントはアプリの身分証

サービスアカウントは、人ではなく、アプリや VM が使うアカウントです。メールアドレスの形の名前を持ち、IAM のロールを付けられます。自分で作るものと、Google のサービスが使うために Google が管理するものがあります。

鍵ファイルは最後の手段

サービスアカウントの鍵(JSON の鍵ファイル)は、漏れるとだれでもそのアカウントになりすませます。公式も、できる限りほかの方法を選ぶよう勧めています。2024年5月3日以降に作られた組織では、鍵の作成とアップロードを禁じる組織ポリシーが、はじめから効いています。

鍵を使わない方法

  • 資源に割り当てる … VM や Cloud Run にサービスアカウントを割り当てると、中のアプリは鍵なしでその権限を使える
  • なりすまし(impersonation) … 人が一時的にサービスアカウントとして操作する。対象のサービスアカウントに、サービス アカウント トークン作成者のロールが要る。gcloud では --impersonate-service-account を付ける
  • Workload Identity Federation … ほかのクラウドや CI など、Google Cloud の外から鍵なしで入る
  • Workload Identity Federation for GKE … GKE の Pod ごとに別の身分を持たせる

最小の権限

サービスアカウントにも、必要な事前定義ロールだけを付けます。アプリごとにサービスアカウントを分けると、どのアプリが何をしたかを監査ログで追えます。

このレクチャーで学ぶこと

  • サービスアカウントとは何か
  • 鍵ファイルを避ける理由と、それを強制する組織ポリシー
  • 資源への割り当て・なりすまし・Workload Identity Federation
  • アプリごとに分けて最小の権限を付ける

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。