このドキュメントでは、ワークロード マネージャーの評価を使用し、評価を実行するためのワークロード マネージャー サービス アカウントを自動的に作成するために、さまざまなプロジェクトで必要なロールと権限について説明します。
ワークロード マネージャー プロジェクト
ワークロード マネージャー の評価では、複数のプロジェクト (ターゲット プロジェクト)のリソースがスキャンされますが、評価は 1 つの プロジェクト(コンシューマー プロジェクト)にのみ保存されます。
コンシューマー プロジェクトを使用して、コンソールでワークロード マネージャー Google Cloud にアクセスし、評価を作成して実行します。コンソールを使用して評価を作成する場合は、ワークフローの [評価の範囲] セクションで、評価するリソースを保持するターゲット プロジェクトを指定します。 Google Cloud
評価するリソースが、ワークロード マネージャーの評価を作成するプロジェクトと同じプロジェクトにある場合、コンシューマー プロジェクトもターゲット プロジェクトの 1 つと見なされます。
評価の作成と実行に必要な権限の概要
次の表に、コンシューマー プロジェクトとターゲット プロジェクトのユーザーがワークロード マネージャーを使用して評価を作成して実行するために必要な権限の概要を示します。必要な権限を取得するには、必要な権限を含むロールを付与するか、カスタムロールを作成するよう管理者に依頼してください。
| アクション | コンシューマー プロジェクト | ターゲット プロジェクト |
|---|---|---|
| ワークロード マネージャー API を有効にする |
権限: serviceusage.services.enable権限を含む事前定義ロール: roles/serviceusage.serviceUsageAdmin
|
なし |
| 評価を作成 |
サービス アカウントを作成する権限: resourcemanager.projects.setIamPolicy権限を含む事前定義ロール: roles/resourcemanager.projectIamAdmin
最初の評価を作成する場合にのみ必要です。
評価を作成する権限を付与する事前定義ロール:
アラート通知を作成する権限を付与する事前定義ロール: カスタムルールを使用して評価を作成するには、次の 追加の権限が必要です。 Cloud Asset Inventory データを読み取る権限を付与する事前定義ロール: Cloud Storage バケットに保存されているルールを読み取る権限を付与する事前定義ロール: 評価結果を BigQuery データセットに書き込む権限を付与する事前定義ロール: |
サービス アカウントを作成する権限: resourcemanager.projects.setIamPolicy権限を含む事前定義ロール: roles/resourcemanager.projectIamAdmin
最初の評価を作成する場合にのみ必要です。 |
| 評価を実行する |
権限: workloadmanager.evaluations.run権限を含む事前定義ロール: roles/workloadmanager.evaluationAdmin
|
なし |
| 評価の結果を表示する |
権限: workloadmanager.results.list権限を含む事前定義ロール: roles/workloadmanager.evaluationAdminまたは roles/workloadmanager.evaluationViewer
|
なし |
ワークロード マネージャー サービス エージェント
ワークロード マネージャー は、 サービス エージェント を使用して、リソースと関連 プロジェクト間のアクセスと通信を制御します。
ワークロードの評価には、 Google Cloud console または Workload Manager API を使用できます。コンソールを使用すると、ワークロード マネージャー が必要なサービス エージェントをすべて自動的に作成します。 Google Cloud consoleWorkload Manager API を使用する場合は、サービス エージェントを手動で作成する必要があります。
必要なロール
サービス エージェントの作成に必要な権限を取得するには、スコープ内の各ターゲット プロジェクトに対するプロジェクト IAM 管理者 (roles/resourcemanager.projectIamAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、
resourcemanager.projects.setIamPolicy
権限が含まれています。この権限は、
サービス エージェントの作成に必要です。
カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
ロールを作成してサービス エージェントに付与する
Google Cloud コンソール
コンソールを使用してワークロードを評価すると、Workload Manager はコンシューマー プロジェクトにサービスエージェントを自動的に作成します。 Google Cloud console
このサービス エージェントのメールアドレスは
service-PROJECT_NUMBER@gcp-sa-workloadmanager.iam.gserviceaccount.comで、
ワークロード マネージャー サービス アカウントと呼ばれます。
ワークロード マネージャー サービス エージェントが評価を実行するには、次のロールが必要です。プロンプトが表示されたら、これらのロールをサービス エージェントに付与します。
- ワークロード マネージャー サービス エージェント(
roles/workloadmanager.serviceAgent): ターゲット プロジェクトで必要です。 - ワークロード マネージャー Worker(
roles/workloadmanager.worker): 評価の頻度を設定した場合にのみ、コンシューマー プロジェクトで必要です。
Workload Manager API
Workload Manager API を使用してワークロードを評価する場合は、評価を作成する前に、コンシューマー プロジェクトに Workload Manager サービス エージェントを手動で作成する必要があります。サービス エージェントを作成するには、gcloud beta services identity create コマンドを使用します。
gcloud beta services identity create --service=workloadmanager.googleapis.com \
--project=PROJECT_NUMBER
PROJECT_NUMBER は、サービス エージェントを作成するコンシューマー プロジェクトの数値 ID に置き換えます。
サービス エージェントを作成したら、次のロールをサービス エージェントに付与する必要があります。
- ワークロード マネージャー サービス エージェント(
roles/workloadmanager.serviceAgent): ターゲット プロジェクトで必要です。 - ワークロード マネージャー Worker(
roles/workloadmanager.worker): 評価の頻度を設定した場合にのみ、コンシューマー プロジェクトで必要です。
詳細については、サービス エージェントにロールを付与するをご覧ください。
追加のワークロード マネージャー ロール
Workload Manager の評価とリソースへのアクセスをさらに制御するには、追加の Workload Manager ロールが必要です。
詳細については、 ワークロード マネージャー: IAM によるアクセス制御をご覧ください。