Question#37(Professional Cloud Developer)
あなたは GKE にマイクロサービス アプリケーションをデプロイしています。1 つのマイクロサービスが Cloud Storage バケットからファイルをダウンロードする必要があります。バケットを含むプロジェクトに対して
ストレージ オブジェクト閲覧者(Storage Object Viewer) ロールを持つ IAM サービス アカウントが既に用意されています。Google 推奨のプラクティスに従って、アプリケーションがバケットにアクセスできるように構成するにはどうすればよいですか?正解:D
GKE において Google Cloud リソースにアクセスするための現在のベストプラクティスは、Workload Identity(ワークロード アイデンティティ) を使用することです。
なぜ D が正解なのか?
最高レベルのセキュリティ (Keyless 認証): Workload Identity を使用すると、サービス アカウント キー(JSON ファイル)を作成・管理・保存する必要が完全になくなります。キーの漏洩リスクを排除できるため、Google が最も推奨している方法です。
最小権限の原則: ノード全体(ノードプール)に権限を与えるのではなく、特定の Pod(Kubernetes サービス アカウント)に対してのみ権限を紐付けることができます。
具体的な手順: * Kubernetes 側のサービスアカウント(KSA)を作成。
Google Cloud 側のサービスアカウント(GSA)と KSA を IAM ポリシーで紐付け(バインド)。
KSA に「私はこの GSA として振る舞います」という注釈(Annotation)を追加。
これにより、Pod は透過的に Cloud Storage へのアクセス権を得られます。

コメント