Compute Engine 上のアプリから Cloud Storage を読む。認証情報の渡し方として適切なのは?
正答
- サービスアカウントキーの JSON を VM のイメージに焼き込む
- 必要なロールだけ持つサービスアカウントを VM に関連付ける
- 開発者個人のアカウントで gcloud にログインしたままにする
- アプリの設定ファイルにキーの中身を直書きする
解説
VM にサービスアカウントを関連付けると、アプリはメタデータサーバーから短期のアクセストークンを自動で受け取れる。クライアントライブラリはアプリケーションのデフォルト認証情報(ADC)でこれを使うため、鍵のファイルを VM に置く必要が無い。そのサービスアカウントには対象バケットの閲覧ロールなど必要な権限だけを付ける。キーの JSON をイメージや設定ファイルに入れると、イメージの共有やリポジトリ経由で漏れやすく、期限も無い。個人のアカウントでログインしたままにすると、その人の全権限でアプリが動き、誰の操作かも区別できなくなる。
この問題を含む Google Cloud のテストを制限時間つきで解く
Google Cloudクイズへ