このページでは、Identity and Access Management(IAM)を使用して Vertex AI リソースへのアクセスを管理する方法について説明します。Vertex AI Workbench インスタンスへのアクセスを管理するには、Vertex AI Workbench インスタンスのアクセス制御をご覧ください。
Vertex AI は、IAM を使用してリソースへのアクセスを管理します。プロジェクト レベルまたはリソースレベルでアクセスを管理できます。プロジェクト レベルでリソースへのアクセス権を付与するには、プリンシパル(ユーザー、グループ、またはサービス アカウント)に 1 つ以上のロールを割り当てます。特定のリソースへのアクセス権を付与するには、そのリソースに IAM ポリシーを設定します。リソースで、リソースレベルのポリシーがサポートされている必要があります。このポリシーでは、どのプリンシパルをどのロールに割り当てるかを定義します。
Vertex AI で使用できる IAM ロールには次のような種類があります。
事前定義ロールを使用すると、Vertex AI のリソースに関連する一連の権限をプロジェクト レベルで付与できます。
基本ロール(オーナー、編集者、閲覧者)は、Vertex AI のリソースに対するアクセス権をプロジェクト レベルで付与します。すべての Google Cloud サービスに共通のロールです。
カスタムロールを使用すると、特定の権限セットを選択し、それらの権限を持つ独自のロールを作成して、組織内のユーザーに付与できます。
Vertex AI のプロジェクトで、これらのロールを追加、更新または削除する方法については、アクセス権の付与、変更、取り消しに関するドキュメントをご覧ください。
Vertex AI の事前定義ロール
Role | Permissions |
---|---|
Vertex AI Administrator( Grants full access to all resources in Vertex AI |
|
Colab Enterprise Admin( Admin role of using colab enterprise. |
|
Colab Enterprise User( User role of using colab enterprise. |
|
Vertex AI Feature Store EntityType owner( Provides full access to all permissions for a particular entity type resource. Lowest-level resources where you can grant this role:
|
|
Vertex AI Platform Express Admin Beta( Grants admin access to Vertex AI Express |
|
Vertex AI Platform Express User Beta( Grants user access to Vertex AI Express |
|
Vertex AI Feature Store Admin( Grants full access to all resources in Vertex AI Feature Store Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Data Viewer( This role provides permissions to read Feature data. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Data Writer( This role provides permissions to read and write Feature data. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Instance Creator( Administrator of Featurestore resources, but not the child resources under Featurestores. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Resource Viewer( Viewer of all resources in Vertex AI Feature Store but cannot make changes. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store User Beta( Deprecated. Use featurestoreAdmin instead. |
|
Vertex AI Migration Service User( Grants access to use migration service in Vertex AI |
|
Notebook Executor User Beta( Grants users full access to schedules and notebook execution jobs. |
|
Notebook Runtime Admin( Grants full access to all runtime templates and runtimes in Notebook Service. |
|
Notebook Runtime User( Grants users permissions to create runtime resources using a runtime template and manage the runtime resources they created. |
|
Vertex AI Tensorboard Web App User Beta( Grants access to the Vertex AI TensorBoard web app. |
|
Vertex AI User( Grants access to use all resource in Vertex AI |
|
Vertex AI Viewer( Grants access to view all resource in Vertex AI |
|
基本ロール
従来の Google Cloud 基本ロールは、すべての Google Cloud サービスで共通です。オーナー、編集者、閲覧者のロールがあります。
基本ロールは、Vertex AI だけでなく Google Cloud 全体に対する権限を付与します。このため、可能であれば Vertex AI のロールを使用してください。
カスタムロール
Vertex AI の IAM 事前定義ロールがニーズに合わない場合は、カスタムロールを定義できます。カスタムロールを使用すると、特定の権限セットを選択し、それらの権限を持つ独自のロールを作成して、組織内のユーザーに付与できます。詳細については、IAM カスタムロールについてをご覧ください。
プロジェクト レベルとリソースレベルのポリシー
リソースレベルでポリシーを設定しても、プロジェクト レベルのポリシーには影響しません。リソースは祖先からすべてのポリシーを継承します。この 2 つのレベルを使用して、権限をカスタマイズできます。たとえば、ユーザーにプロジェクト レベルで読み取り権限を付与し、プロジェクト内のすべてのリソースを読み取るようにした後、リソースごとに(リソースレベルで)書き込み権限を付与できます。
Vertex AI の事前定義ロールとリソースがすべてリソースレベルのポリシーをサポートしているわけではありません。どのリソースでどのロールを使用できるかを確認するには、各ロールの説明を確認してください。
サポートされているリソース
Vertex AI は、Vertex AI Feature Store の featurestore リソースとエンティティ タイプのリソースをサポートしています。詳細については、Vertex AI Feature Store リソースへのアクセスを制御するをご覧ください。
リソースへのアクセス権の付与または取り消しを行った後、これらの変更が反映されるまでに時間がかかります。詳細については、アクセス権変更の伝播をご覧ください。
サービス アカウントとサービス エージェントについて
サービス アカウント
サービス アカウントは、ユーザーではなく、アプリケーションや仮想マシン(VM)インスタンスで使用される特別なアカウントです。サービス アカウントを作成して権限を割り当てることで、リソースまたはアプリケーションに特定の権限を付与できます。
サービス アカウントを使用して、カスタム トレーニング コンテナの権限またはカスタム トレーニング モデルのオンライン予測を提供するコンテナの権限をカスタマイズする方法については、カスタム サービス アカウントの使用をご覧ください。
サービス アカウントはメールアドレスで識別されます。
サービス エージェント
サービス エージェントは、Google が管理するサービス アカウントで、自動的に提供されます。これにより、ユーザーに代わってサービスがリソースにアクセスできるようになります。
サービス エージェントが作成されると、サービス エージェントにプロジェクトの事前定義ロールが付与されます。次の表に、Vertex AI サービス エージェント、そのメールアドレス、それぞれのロールを示します。
名前 | 用途 | メールアドレス | ロール |
---|---|---|---|
Vertex AI サービス エージェント | Vertex AI の機能 | service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com |
roles/aiplatform.serviceAgent |
Vertex AI Custom Code サービス エージェント | カスタム トレーニング コード | service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com |
roles/aiplatform.customCodeServiceAgent |
Vertex AI Extension サービス エージェント | Vertex の拡張機能 | service-PROJECT_NUMBER@gcp-sa-vertex-ex.iam.gserviceaccount.com |
roles/aiplatform.extensionServiceAgent |
Cloud AI Platform Notebooks サービス アカウント | Vertex AI Workbench の機能 | service-PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com |
roles/notebooks.serviceAgent |
Vertex AI Custom Code サービス エージェントは、カスタム トレーニング コードでトレーニング済みのモデルをトレーニングした場合にのみ作成されます。
サービス エージェントのロールと権限
Vertex AI サービス エージェントに付与されている次のロールと権限をご覧ください。
ロール | 権限 |
---|---|
Vertex AI サービス エージェント( 動作に必要となる権限を Vertex AI に付与します。 |
|
Vertex AI Custom Code サービス エージェント( Vertex AI Custom Code に適切な権限を付与します。 |
|
AI Platform Notebooks サービス エージェント( ノートブックのサービス エージェントでユーザー プロジェクトのノートブック インスタンスを管理するためのアクセス権を付与します。 |
|
Vertex AI サービス エージェントに他のリソースへのアクセス権を付与する
場合によっては、Vertex AI サービス エージェントに追加のロールを付与する必要があります。たとえば、Vertex AI が別のプロジェクトの Cloud Storage バケットにアクセスする必要がある場合は、サービス エージェントに 1 つ以上の追加のロールを付与する必要があります。
BigQuery のロールの追加要件
次の表に、BigQuery で別のプロジェクトのテーブルまたはビュー、あるいは外部データソースを使用するテーブルやビューを使用する場合に、Vertex AI サービス エージェントに追加する必要があるロールについて説明します。
ホーム プロジェクトとは、Vertex AI のデータセットまたはモデルが配置されているプロジェクトを指します。外部プロジェクトは、別のプロジェクトを指します。
テーブルタイプ | テーブル プロジェクト | データソース プロジェクト | 追加が必要なロール |
---|---|---|---|
ネイティブの BigQuery テーブル | ホーム プロジェクト | なし | なし |
ネイティブの BigQuery テーブル | 別のプロジェクト | なし | BigQuery Data Viewer (別のプロジェクト)。詳細。 |
BigQuery ビュー | ホーム プロジェクト | なし | なし |
BigQuery ビュー | 別のプロジェクト | なし | BigQuery Data Viewer (別のプロジェクト)。詳細。 |
Bigtable でサポートされる外部 BigQuery データソース | ホーム プロジェクト | ホーム プロジェクト | ホーム プロジェクトの Bigtable Reader 。詳細 |
Bigtable でサポートされる外部 BigQuery データソース | ホーム プロジェクト | 別のプロジェクト | Bigtable Reader (別のプロジェクト)。詳細。 |
Bigtable でサポートされる外部 BigQuery データソース | 別のプロジェクト | 別のプロジェクト | 別のプロジェクトの BigQuery Reader と Bigtable Reader 。詳細。 |
Cloud Storage でサポートされる外部 BigQuery データソース | ホーム プロジェクト | ホーム プロジェクト | なし |
Cloud Storage でサポートされる外部 BigQuery データソース | ホーム プロジェクト | 別のプロジェクト | Storage Object Viewer (別のプロジェクト)。詳細。 |
Cloud Storage でサポートされる外部 BigQuery データソース | 別のプロジェクト | 別のプロジェクト | 別のプロジェクトの Storage Object Viewer と BigQuery Data Viewer 。詳細。 |
Google スプレッドシートでサポートされる外部 BigQuery データソース | ホーム プロジェクト | なし | スプレッドシート ファイルを Vertex AI のサービス アカウントと共有します。詳細 |
Google スプレッドシートでサポートされる外部 BigQuery データソース | 別のプロジェクト | なし | 別のプロジェクトの BigQuery Reader 。スプレッドシート ファイルを Vertex AI サービス アカウントと共有します。 |
Cloud Storage のロールの追加要件
別のプロジェクトの Cloud Storage バケットのデータにアクセスする場合は、そのプロジェクトの Vertex AI に Storage > Storage Object Viewer
ロールを付与する必要があります。詳細。
Cloud Storage バケットを使用してインポート オペレーションのためにローカル コンピュータからデータを受信し、バケットが Google Cloud プロジェクトとは異なるプロジェクトにある場合は、そのプロジェクトの Vertex AI に Storage > Storage Object Creator
ロールを付与する必要があります。詳細。
ホーム プロジェクトのリソースに Vertex AI へのアクセス権を付与する
ホーム プロジェクトの Vertex AI のサービス エージェントに追加のロールを付与するには:
ホーム プロジェクトの Google Cloud コンソールの IAM ページに移動します。
[Google 提供のロール付与を含みます] チェックボックスをオンにします。
権限を付与するサービス エージェントを選択し、 鉛筆アイコンをクリックします。
Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com でフィルタして、Vertex AI サービス エージェントを検索できます。
サービス アカウントに必要なロールを付与し、変更を保存します。
別のプロジェクトのリソースに Vertex AI へのアクセス権を付与する
別のプロジェクトのデータソースや宛先を使用する場合は、Vertex AI サービス アカウントにそのプロジェクトの権限を付与する必要があります。Vertex AI サービス アカウントは、最初の非同期ジョブ(エンドポイントの作成など)の開始後に作成されます。また、こちらの手順を行い、gcloud CLI を使用して Vertex AI サービス アカウントを明示的に作成することもできます。この gcloud コマンドは、デフォルトのサービス アカウントとカスタムコードのサービス アカウントの両方を作成しますが、レスポンスではデフォルトのサービス アカウントのみが返されます。
別のプロジェクトの Vertex AI に権限を追加するには:
Google Cloud コンソールで、ホーム プロジェクト(Vertex AI を使用しているプロジェクト)の [IAM] ページに移動します。
[Google 提供のロール付与を含みます] チェックボックスをオンにします。
権限を付与するサービス エージェントを決定し、そのメールアドレス([プリンシパル] の下にリストされている)をコピーします。
Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com でフィルタして、Vertex AI サービス エージェントを検索できます。
プロジェクトを、権限を付与する必要があるプロジェクトに変更します。
[追加] をクリックし、[新しいプリンシパル] にメールアドレスを入力します。
必要なロールをすべて追加し、[保存] をクリックします。
Google スプレッドシートへのアクセスを提供する
Google スプレッドシートでサポートされる BigQuery 外部データソースを使用する場合は、スプレッドシートを Vertex AI サービス アカウントと共有する必要があります。Vertex AI サービス アカウントは、最初の非同期ジョブ(エンドポイントの作成など)の開始後に作成されます。また、こちらの手順を行い、gcloud CLI を使用して Vertex AI サービス アカウントを明示的に作成することもできます。
Vertex AI にスプレッドシート ファイルへのアクセスを許可するには:
Google Cloud コンソールの IAM ページに移動します。
Vertex AI Service Agent
という名前のサービス アカウントを見つけて、そのメールアドレス([プリンシパル] の下にリストされている)をコピーします。スプレッドシート ファイルを開いてそのアドレスと共有します。