WEB問題集
他のチームと共有しているプロジェクト内の Compute Engine インスタンスでアプリケーションをホストする必要があります。他のチームが誤ってそのアプリケーションをダウンさせるのを防ぎたいと考えています。どの機能を使用すべきですか?
正解:D
誤削除を防ぐ直接的な機能が deletion protection(削除保護)です。有効化すると、保護を解除しない限り gcloud/コンソール/API のいずれからも削除が拒否されます。
- Shielded VM: ルートキット等からの保護であり、誤削除防止とは無関係。
- Preemptible VM: むしろ 24時間以内に停止される VM。
- Sole-tenant node: 専有ハードウェア要件用で、誤削除防止の目的ではない。
組織のユーザーに BigQuery のデータセットをクエリする権限を付与する必要がありますが、データセットを誤って削除できないようにしたいと考えています。Google 推奨のプラクティスに従うソリューションが望まれます。どうすべきですか?
正解:A
Google 推奨プラクティスでは、まず定義済み (predefined) ロールを優先し、必要な場合のみカスタムロールを作成します。
- roles/bigquery.user: クエリジョブの実行は可能だがデータセットの削除権限は持たない。
- roles/bigquery.dataEditor: データセットの削除が可能なため不適切。
- カスタムロールは定義済みロールで要件を満たせない場合の最終手段。
会社が Google Cloud 上に数百のフォルダとプロジェクトを含む複雑な組織構造を構築しました。階層構造を閲覧できるのは一部のチームメンバーのみにすべきです。これらのメンバーに最小限の権限を割り当てる必要があり、Google 推奨プラクティスに従いたいと考えています。どうすべきですか?
正解:C
roles/browser はプロジェクト/フォルダ/組織の階層を閲覧する権限を提供する定義済みロールで、この用途にぴったり合致します。
Google 推奨プラクティスでは、ユーザーに直接ロールを付与するのではなく、グループに対してロールを付与することで管理性を高めます。
- roles/iam.roleViewer: IAM ロール定義を閲覧するためのもので、階層閲覧とは無関係。
組織には Google Cloud プロジェクト用のすべてのサービスアカウントを作成・管理する担当者がいます。この担当者にプロジェクトに対する最小限のロールを割り当てる必要があります。どうすべきですか?
正解:D
サービスアカウントの作成・削除・管理を行う権限は roles/iam.serviceAccountAdmin に含まれています。
- roles/iam.roleAdmin: カスタムロールの管理用で、サービスアカウント管理はできない。
- roles/iam.securityAdmin: IAM ポリシー全般の管理で権限が広すぎる(最小権限の原則に反する)。
- roles/iam.serviceAccountUser: 既存のサービスアカウントとして実行する権限で、作成・管理はできない。
経営層が外部監査人にプロジェクト内のすべてのリソースをレビューさせるよう依頼しました。セキュリティチームは組織ノードで『Domain Restricted Sharing』という組織ポリシーを有効にし、自社の Cloud Identity ドメインのみを指定しています。監査人にはそのプロジェクトのリソースを閲覧のみ可能で、変更はできないようにしたいと考えています。どうすべきですか?
正解:C
キーは Domain Restricted Sharing(ドメイン制限付き共有)が自社ドメインのみを許可している点です。外部監査人の個人 Google アカウント(自社ドメイン外)には IAM ポリシーを付与できません。
そのため、自社の Cloud Identity に一時アカウントを作成し、それに対してロールを付与する必要があります。
- 閲覧のみで良いので、権限の広い Security Reviewer ではなく Viewer ロールで十分(最小権限の原則)。
- Security Reviewer は IAM ポリシーの閲覧に特化しており、『すべてのリソースのレビュー』には Viewer の方が適切。
