ロール提案の生成を構成する

IAM Recommender の構成を変更することで、ロールの推奨事項の生成方法をカスタマイズできます。このページでは、構成を編集してプロジェクトの推奨事項を生成する速度を変更する方法について説明します。

IAM Recommender は、さまざまなリソースに対するロールの推奨事項を生成しますが、編集できるのはプロジェクトに対するロールの推奨事項の生成方法のみです。

始める前に

必要なロール

IAM ロールの推奨事項の構成に必要な権限を付与するには、IAM Recommender を構成するプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

  • 構成の詳細を表示する: IAM Recommender 閲覧者(roles/recommender.iamViewer)
  • 構成を変更する: IAM Recommender 管理者(roles/recommender.iamAdmin)

ロールの付与の詳細については、アクセスの管理をご覧ください。

これらの事前定義ロールには、IAM ロールの推奨事項の構成に必要な権限が含まれています。必要な権限を正確に確認するには、[必要な権限] セクションを開いてください。

必要な権限

IAM ロールの推奨事項を構成するには、次の権限が必要です。

  • 構成の詳細を表示します: recommender.iamPolicyRecommenderConfig.get
  • 構成を変更します: recommender.iamPolicyRecommenderConfig.get

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

現在の構成を表示する

現在の構成を表示して、IAM Recommender がロールの推奨事項を生成するまでに待機する権限の使用状況データの日数を確認します。

構成を表示するには、gcloud CLI または REST API を使用します。

gcloud

IAM Recommender の構成を取得するには、gcloud beta recommender recommender-config describe コマンドを使用します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト IDプロジェクト ID は英数字からなる文字列です(例: my-project)。

gcloud beta recommender recommender-config describe コマンドを実行します。

Linux、macOS、Cloud Shell

gcloud beta recommender recommender-config describe \
google.iam.policy.Recommender \
--project="PROJECT_ID" \
--location="global"

Windows(PowerShell)

gcloud beta recommender recommender-config describe `
google.iam.policy.Recommender `
--project="PROJECT_ID" `
--location="global"

Windows(cmd.exe)

gcloud beta recommender recommender-config describe ^
google.iam.policy.Recommender ^
--project="PROJECT_ID" ^
--location="global"

レスポンスには、IAM Recommender の構成が含まれます。レスポンスの例を以下に示します。

etag: '"d3e779ee3f34f276"'
name: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config
recommenderGenerationConfig:
  params:
    minimum_observation_period: P90D
revisionId: DEFAULT
updateTime: '2022-10-02T22:57:33Z'

REST

IAM Recommender の構成を取得するには、Recommender API の projects.locations.recommenders.getConfig メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER: Google Cloud プロジェクトの ID
  • PROJECT_ID: Google Cloud プロジェクト IDプロジェクト ID は英数字からなる文字列です(例: my-project)。

HTTP メソッドと URL:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、IAM Recommender の構成が含まれます。レスポンスの例を以下に示します。

{
  "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "minimum_observation_period": "P90D"
    }
  },
  "etag": "\"d3e779ee3f34f276\"",
  "updateTime": "2022-10-02T22:57:33Z",
  "revisionId": "DEFAULT"
}

構成の詳細を理解する

構成の内容は、構成の対象となる Recommender によって異なります。IAM Recommender の構成には次のコンポーネントがあります(順番は異なる場合があります)。

  • name: 構成の ID(projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config 形式)。
  • recommenderGenerationConfig: IAM Recommender が推奨事項の生成時に使用するパラメータ。このフィールドには次のパラメータが含まれます。

    • minimum_observation_period: IAM Recommender がロールの推奨事項の生成を開始するために必要な権限の使用状況データの日数。
  • etag: 構成の現在の状態の識別子。同時更新の防止に使用されます。構成が変わるたびに、新しい ETag 値が割り当てられます。

  • updateTime: 構成が最後に更新された時刻のタイムスタンプ(UTC 形式(RFC 3339)。

  • revisionId: 出力のみ。構成の現在のリビジョンの ID。この値は、構成が編集されるたびに更新されます。

設定を編集する

プロジェクトに対する推奨事項の生成速度を変更するには、構成を編集します。

gcloud

IAM Recommender の構成を編集するには、gcloud beta recommender recommender-config update コマンドを使用します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • OBSERVATION_PERIOD: 設定する最小観察期間。 次の値のいずれかを使用します。P30D(30 日)、P60D(60 日)、P90D(90 日)。
  • ETAG: 構成の現在の ETag。現在の構成を取得し、レスポンスの etag フィールドの値をコピーすると確認できます。
  • PROJECT_ID: Google Cloud プロジェクト IDプロジェクト ID は英数字からなる文字列です(例: my-project)。
  • 次の内容を request.json という名前のファイルに保存します。

    {
      "params": {
        "minimum_observation_period": "OBSERVATION_PERIOD"
      }
    }
    

    gcloud beta recommender recommender-config update コマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud beta recommender recommender-config update \
    google.iam.policy.Recommender \
    --etag="ETAG" \
    --project="PROJECT_ID" \
    --location="global" \
    --config-file="request.json"
    

    Windows(PowerShell)

    gcloud beta recommender recommender-config update `
    google.iam.policy.Recommender `
    --etag="ETAG" `
    --project="PROJECT_ID" `
    --location="global" `
    --config-file="request.json"
    

    Windows(cmd.exe)

    gcloud beta recommender recommender-config update ^
    google.iam.policy.Recommender ^
    --etag="ETAG" ^
    --project="PROJECT_ID" ^
    --location="global" ^
    --config-file="request.json"
    

    レスポンスには、更新された構成が含まれます。レスポンスの例を以下に示します。

    etag: '"2549af0942332910"'
    name: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config
    recommenderGenerationConfig:
      params:
        minimum_observation_period: P60D
    revisionId: 288c60eb
    updateTime: '2022-10-05T21:42:21.069170Z'
    

REST

IAM Recommender の構成を編集するには、Recommender API の projects.locations.recommenders.updateConfig メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER: Google Cloud プロジェクトの ID
  • OBSERVATION_PERIOD: 設定する最小観察期間。 次の値のいずれかを使用します。P30D(30 日)、P60D(60 日)、P90D(90 日)。
  • ETAG: 構成の現在の ETag。現在の構成を取得し、レスポンスの etag フィールドの値をコピーすると確認できます。バックスラッシュを使用して引用符をエスケープします(例: "\"df7308cca9719dcc\"")。
  • PROJECT_ID: Google Cloud プロジェクト IDプロジェクト ID は英数字からなる文字列です(例: my-project)。
  • HTTP メソッドと URL:

    PATCH https://recommender.googleapis.com/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

    リクエストの本文(JSON):

    {
      "name": "projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "OBSERVATION_PERIOD"
        }
      },
      "etag": "ETAG"
    }
    

    リクエストを送信するには、次のいずれかのオプションを展開します。

    レスポンスには、更新された構成が含まれます。レスポンスの例を以下に示します。

    {
      "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "P60D"
        }
      },
      "etag": "\"2549af0942332910\"",
      "updateTime": "2022-10-05T21:26:52.127512Z",
      "revisionId": "b5fc0053"
    }
    

次のステップ