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

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.update

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

現在の構成を表示する

現在の構成を表示して、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: 構成の識別子(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: 出力のみ。構成の現在のリビジョンの識別子。この値は、構成が編集されるたびに更新されます。

構成を編集する

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

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"
    }
    

次のステップ