WEB問題集
あるプロジェクトでデータ分析者に BigQuery のクエリ実行と参照のみを許可したい場合、最小権限の原則に最も合致する設計はどれですか。
正解:B
正解の根拠
最小権限の原則では、必要な権限のみを持つ事前定義ロールを優先して付与します。クエリ実行には jobUser、データ参照には dataViewer の組合せが推奨されます。
| ロール | 用途 |
|---|---|
| bigquery.jobUser | クエリジョブ実行 |
| bigquery.dataViewer | データセット参照 |
不正解の理由
- A: editor は権限が広すぎ最小権限に反します。
- C: カスタムロールでも全付与は過剰です。
- D: owner 付与は条件があっても危険です。
本番環境の Compute Engine 管理者ロールを、緊急対応時のみ業務時間外に IP 制限付きで一時的に付与したい場合、最も適切な仕組みはどれですか。
正解:C
正解の根拠
IAM Conditions により時間帯やアクセスレベル(IP/デバイス属性)を条件にロールを付与でき、最小権限と一時付与を両立できます。
| 属性 | 例 |
|---|---|
| request.time | 業務時間外のみ |
| request.auth.access_levels | 許可済み IP からのみ |
不正解の理由
- A: SA キー共有は重大なリスクです。
- B: 恒久的 owner は最小権限違反です。
- D: VPC SC は IAM の代替ではありません。
GKE 上で動くアプリケーションが Cloud Storage にアクセスする必要があります。鍵を発行せずに最も安全な方式はどれですか。
正解:C
正解の根拠
GKE Workload Identity を有効化すると、Kubernetes Service Account が Google Service Account を権限借用できるため、鍵ファイル不要で安全に GCP API にアクセスできます。
| 手順 | 内容 |
|---|---|
| 1 | クラスタで WI を有効化 |
| 2 | KSA に GSA を annotate |
| 3 | GSA に IAM ロールを付与 |
不正解の理由
- A: SA キー保管は漏洩リスクが高いです。
- B: ノード SA 共有では最小権限を満たせません。
- D: 個人トークン利用は監査と信頼性に欠けます。
AWS EC2 上で稼働する CI システムから GCP の Artifact Registry に push したいです。鍵不要で実現する仕組みはどれですか。
正解:C
正解の根拠
Workload Identity Federation により AWS の STS トークンを GCP が信頼し、Service Account を権限借用できます。鍵管理が不要です。
| 要素 | 役割 |
|---|---|
| Workload Identity Pool | 外部 ID の受け皿 |
| AWS Provider | aws:arn を主体属性化 |
| SA impersonation | GCP API 実行 |
不正解の理由
- B: 鍵を保存する時点でリスクが残ります。
- A: 踏み台経由は監査・自動化に不向きです。
- D: ユーザー作成は人間 ID 用の運用です。
参考:WIF with AWS
組織階層で全プロジェクト共通に SecurityAdmin ロールを継承させ、特定 Folder ではそれを取り消したい要件があります。最も適切な実装はどれですか。
正解:C
正解の根拠
IAM Deny ポリシーは Folder などに適用でき、継承された IAM 付与の効果を下位スコープで遮断できます。Allow と Deny の組合せで階層的な例外を実装します。
| 方式 | 効果 |
|---|---|
| IAM 継承のみ | 下位で取消不可 |
| Deny Policy | 下位で拒否可能 |
不正解の理由
- A: IAM 継承は下位で取消できません。
- B: 手動削除は継承では機能しません。
- D: WIF は階層制御の手段ではありません。
