Gemini のアシスト機能を使用して事前定義ロールの候補を取得する

このページでは、Gemini の支援を受けて、最も制限の厳しい Identity and Access Management(IAM)事前定義ロールをプリンシパルに付与する方法について説明します。

IAM ロール選択ツールを使用すると、プリンシパルに付与するロールを Gemini に質問できます。通常、付与する適切な事前定義ロールを見つけるには、IAM ロールと権限のインデックスまたはGoogle Cloud コンソールの [ロール] ページで検索する必要があります。IAM ロール選択ツールを使用すると、プリンシパルに実行させるアクションと、そのアクションを実行するために必要なリソースを説明できます。入力に基づいて、Gemini は適切と判断した最も制限の厳しい事前定義ロールを提案します。

Gemini は、個々のプリンシパルに対する事前定義ロールを提案できます。Gemini がプロジェクト レベルでロールを付与することを提案した場合、IAM ロール選択ツールを使用してそのロールを付与できます。

Gemini は、次の権限の付与を提案することはできません

  • カスタムロール
  • 複数のプリンシパルに対するロール

Gemini for Google Cloud がデータを使用する方法とタイミングに関する説明をご覧ください。

始める前に

プロジェクトで IAM ロール選択ツールを有効にするには、 Google Cloud コンソールで Gemini for Google Cloud API を有効にします。

API の有効化

API を有効にしないと、 Google Cloud コンソールの IAM ロール選択ツールにアクセスするための [推奨ロールを表示] ボタンが無効になります。

必要なロール

IAM ロール選択ツールを使用するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Gemini の支援機能を使用してロールの候補を取得する

Gemini からロールの候補を取得するには、プロジェクト レベルでアクセス権を付与できる Google Cloud コンソールのページで IAM ロール選択ツールにアクセスします。たとえば、IAM ロール選択ツールは次のページで使用できます。

  • IAM ページ
  • [サービス アカウント] ページ
  • Google Cloud コンソールの [ダッシュボード] ページ

次の手順では、IAM ページを主なエントリ ポイントとして使用します。

  1. Google Cloud コンソールで、[IAM] ページに移動します。

    [IAM] に移動

  2. プロジェクトを選択します。

  3. ロールの候補を取得するプリンシパルを選択します。

    • リソースに対する他のロールをすでに持っているプリンシパルのロールの候補を取得するには、プリンシパルを含む行を見つけて、その行で [ プリンシパルを編集] をクリックします。

      サービス エージェントにロールを付与するには、[Google提供のロール付与を含みます] チェックボックスをオンにして、メールアドレスを表示します。

    • リソースに対する既存のロールを持たないプリンシパルのロール候補を取得するには、 [アクセスを許可] をクリックし、プリンシパル IDmy-user@example.com//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com など)を入力します。

  4. IAM ロール選択ツール ダイアログを開くには、[推奨ロールを表示] をクリックします。

  5. プリンシパルに実行させるアクションと、そのアクションを実行するために必要なプロジェクト内のリソースを、自身の表現で説明します。

  6. [推奨ロールを取得] をクリックします。入力に基づいて、Gemini は適切と判断した最も制限の厳しい事前定義ロールを提案します。

    ロールの詳細と Gemini がそれらのロールを提案した理由を確認するには、[理由を表示] をクリックします。また、ロールと権限のリファレンスを使用して、Gemini によって推奨されるロールを検証してからプリンシパルに付与することをおすすめします。

  7. 省略可: Gemini が適切なロールを提案しない場合は、プロンプトを調整できます。

    1. プロンプトを変更するには、[編集] をクリックします。
    2. 説明を編集し、[更新] をクリックします。Gemini は、新しい説明に基づいてロールの候補を更新します。
  8. 候補を承認するには、[ロールを追加] をクリックします。

  9. (省略可)ロールに条件を追加します。

  10. [保存] をクリックします。リソースのロールがプリンシパルに付与されます。

Gemini が提案するプロジェクト レベルのロールは、IAM ロール選択ツールから直接付与できます。組織レベル、フォルダレベル、またはリソースレベルでのロールの候補については、推奨されるロールをメモし、 Google Cloud コンソールの一般的なプロセスを使用して、適切なレベルでプリンシパルに付与します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

組織レベル、フォルダレベル、またはリソースレベルでロールを付与する権限がない場合は、管理者にお問い合わせください。

サンプルのユースケース

次の表に、Gemini がプリンシパルに対する最も制限の厳しいロールの特定に役立つユースケースの例を示します。

ユースケース プロンプトの例
特定のタスクを実行するために必要な最も制限の厳しいロールを特定する
  • 「VM の作成、起動、停止に必要なロールは何ですか?」
  • 「IAM ポリシーの作成に必要な最小権限の IAM ロールは何ですか?」
  • 「ユーザーが BigQuery データセットとテーブルを作成して管理できるようにする必要があります。どのロールを割り当てるべきですか?」
  • 「Cloud Run functions の関数を呼び出す権限をサービス アカウントに付与する必要があります。必要な最小限のロールは何ですか?」
  • 「サービス アカウントが Cloud Storage からデータを読み取ることはできるが、オブジェクトの書き込みや削除はできないロールはどれですか?」
Google Cloud CLI コマンドの実行に必要な最も制限の厳しいロールを特定する
  • 「次のコマンド gcloud compute instances create instance-1 --zone=us-central1-a を実行するために必要な IAM ロールは何ですか?」
  • 「次のコマンド gcloud datastore instances describe を実行するためにサービス アカウントに必要なロールを特定したいです。」
推移的依存関係を含むタスクのロールを特定する 「CPU 使用率に基づいて自動的にスケーリングするように Compute Engine インスタンスを構成する必要があります。インスタンス オートスケーラーで使用されるサービス アカウントに付与する必要がある IAM ロールはどれですか?」
複数のきめ細かいロールの組み合わせが必要になる可能性があるタスクのロールを特定する 「ユーザーに特定のデータセットへのアクセス権のみを付与します。すべてのデータセットへのアクセス権を共有したくないため、ユーザーが BigQuery 内の特定のデータセットにのみアクセスできるようにします。ユーザーが新しいデータセットの作成や削除ができないようにする必要があります。」

ベスト プラクティス

Gemini がユースケースに最適な提案を行えるように、プロンプトを作成する際は次のベスト プラクティスに従うことをおすすめします。

  • ユースケースを明確に説明します。プロンプトでは曖昧な表現は避けてください。プリンシパルに実行させたいアクションは、どのサービスとリソースタイプに対するどのようなアクションなのかをできるだけ明確にしてください。

    推奨事項 禁止事項 詳細
    「BigQuery テーブルで SQL クエリを実行してデータを読み取るには、どのロールが必要ですか?」 「SQL ステートメントを実行するために必要なロールは何ですか?」 SQL は、複数の Google Cloud サービスで使用される汎用言語です。サービスやアクションを指定しないと、Gemini は正確なロールを提案できません。
    「Compute Engine 仮想マシン インスタンスの起動、停止、再起動を行うロールが必要です。」 「仮想マシンを管理する必要があります。」 「管理」という用語は曖昧すぎます。管理とは、VM の作成、削除、更新、または表示を意味する場合があります。実行する特定のアクション(開始、停止、再起動)と正確なリソースタイプ(Compute Engine 仮想マシン インスタンス)を明確に記載すると、より正確な提案が得られます。
    example-bucket という名前の Cloud Storage バケットからオブジェクトをアップロードしてダウンロードする必要があります。」 「ストレージへのアクセス権を付与してください。」 「ストレージ」という用語は、Cloud Storage、Filestore、Persistent Disk などのさまざまなサービスを指すことがあります。また、アクションも指定されていません。サービス(Cloud Storage)、リソースタイプ名(example-bucket)、アクション(オブジェクトのアップロードとダウンロード)を指定しないと、Gemini が適切なロールを提案するための情報が不足します。
  • 正式名称を使用します。プロンプトでは、 Google Cloud サービス、リソースタイプ、API オペレーションの正式名称を使用します。サービス、リソースタイプ、API オペレーションの正式名称がわからない場合は、公式のプロダクト ドキュメントを参照することをおすすめします。

    推奨事項 禁止事項 詳細
    「BigQuery データセットを更新するには、どのロールが必要ですか?」 「Big query データセットを更新するには、どのロールが必要ですか?」 プロダクトの正式名称は BigQuery であり、Big query ではありません。
    「プロジェクトで Cloud Storage バケットを作成するには、どのロールが必要ですか?」 「プロジェクトでストレージ バケットを作成するには、どのロールが必要ですか?」 ストレージ バケットは、Cloud Storage、Filestore、Persistent Disk などのサービスのリソースタイプを指す場合があります。プロダクト名と関連するリソースタイプを指定すると、より正確な候補が表示されます。

トラブルシューティング

このセクションでは、IAM ロール選択ツールに関する一般的な問題の解決策について説明します。

Gemini がプロジェクト レベルで付与できないロールを提案する

Gemini はすべてのリソースレベルでロールを提案できますが、IAM ロール選択ツールを使用して付与できるのは、提案されたプロジェクト レベルのロールのみです。Gemini が組織レベル、フォルダレベル、またはリソースレベルのロールを提案すると、IAM ロール選択ツールに、付与できない推奨されるロールがあることが示され、[ロールを追加] ボタンが無効になります。

この場合は、推奨されるロールをコピーし、Google Cloud コンソールの一般的なプロセスを使用して、適切なレベルでプリンシパルに付与できます。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

組織レベル、フォルダレベル、またはリソースレベルでロールを付与する権限がない場合は、管理者にお問い合わせください。

料金

IAM ロール選択ツールは、Gemini Cloud Assist の一部として無料で提供されます。Gemini Cloud Assist の料金の詳細については、Gemini for Google Cloudの料金をご覧ください。

次のステップ