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