IAM を使用したアクセス制御
このページでは、Identity and Access Management(IAM) を使用して Colab Enterprise リソースへのアクセスを管理する方法について説明します。他の Vertex AI リソースへのアクセスを管理するには、Vertex AI IAM を使用したアクセス制御をご覧ください。
IAM を使用してノートブックへのアクセスを制御する
Colab Enterprise ノートブック(IPYNB ファイル)へのアクセスは、プロジェクト レベルまたはノートブックごとに管理できます。
- プロジェクト レベルでノートブックへのアクセス権を付与するには、プリンシパル(ユーザー、グループ、または サービス アカウント)に 1 つ以上の ロールを割り当てます。
- 特定のノートブックへのアクセス権を付与するには、ノートブックのプリンシパルに 1 つ以上のロールを割り当てます。詳細については、 ノートブックへのアクセスを管理するをご覧ください。
他の Google Cloud サービスとやり取りするコードを実行する
ノートブックへのアクセス権の付与は、ノートブックとのやり取りに関連する特定の権限に限定されます。たとえば、ノートブックを作成、コードを記述、ノートブックを削除する権限を付与できます。
他の Google Cloud サービスとやり取りするコードを実行するには、次のいずれかの方法を 使用する必要があります。
エンドユーザー認証情報が有効になっているランタイムでコードを実行します。つまり、 ノートブックのサービスへのアクセス権は、 Google Cloud ノートブック ユーザーと同じになります。
サービスとやり取りするためにノートブックを認証して認可するコードを実行します。Google Cloud
詳細については、とやり取りするコードを実行する Google Cloudをご覧ください。
IAM ロールのタイプ
Colab Enterprise で使用できる IAM ロールには次の種類があります。
事前定義ロールを使用すると、Colab Enterprise のリソースに関連する一連の 権限をプロジェクト レベルで付与できます。
基本ロール(オーナー、 編集者、閲覧者)は、Colab Enterprise のリソースに対するアクセス制御をプロジェクト レベルで付与します。すべての Google Cloud サービスに共通のロールです。
カスタムロールを使用すると、 特定の権限セットを選択し、それらの権限を持つ独自のロールを作成して、 組織内のユーザーに付与できます。
これらのロールを Colab Enterprise プロジェクトで追加、更新、削除するには、 プロジェクト、フォルダ、組織へのアクセスの管理のドキュメントをご覧ください。
Colab Enterprise の事前定義ロール
Colab Enterprise は Vertex AI の一部であり、Colab Enterprise リソースは Vertex AI API を介して管理されます。 したがって、Vertex AI ロールを使用して、プリンシパルに Colab Enterprise リソースへのアクセス権を付与できます。
次の表に、Vertex AI の事前定義ロールをすべて示します。
一般的な Colab Enterprise オペレーションに事前定義ロールを使用するには、 Colab Enterprise 管理者 (
roles/aiplatform.colabEnterpriseAdmin)と Colab Enterprise ユーザー (roles/aiplatform.colabEnterpriseUser)をご覧ください。ランタイム管理に関連するロールについては、 ノートブック ランタイム管理者 (
roles/aiplatform.notebookRuntimeAdmin)と ノートブック ランタイム ユーザー (roles/aiplatform.notebookRuntimeUser)をご覧ください。Vertex AI 管理者 (
roles/aiplatform.admin)、 Vertex AI ユーザー (roles/aiplatform.user)、および Vertex AI 閲覧者 (roles/aiplatform.viewer) にも Colab Enterprise の権限が含まれています。
| Role | Permissions |
|---|---|
Agent Platform Administrator( Grants full access to all resources in Agent Platform. |
|
Aiplatform Editor( Editor role for aiplatform |
|
Agent Platform Express User Beta( Grants user access to Agent Platform Express. |
|
Agent Platform User( Grants access to use all resource in Agent Platform. |
|
Agent Platform Viewer( Grants access to view all resource in Agent Platform. |
|
Colab Enterprise Admin( Admin role of using colab enterprise. |
|
Colab Enterprise User( User role of using colab enterprise. |
|
Agent Platform 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:
|
|
Agent Platform Express Admin Beta( Grants admin access to Agent Platform Express. |
|
Agent Platform Feature Store Admin( Grants full access to all resources in Agent Platform Feature Store. Lowest-level resources where you can grant this role:
|
|
Agent Platform Feature Store Data Viewer( This role provides permissions to read Feature data. Lowest-level resources where you can grant this role:
|
|
Agent Platform Feature Store Data Writer( This role provides permissions to read and write Feature data. Lowest-level resources where you can grant this role:
|
|
Agent Platform Feature Store Instance Creator( Administrator of Featurestore resources, but not the child resources under Featurestores. Lowest-level resources where you can grant this role:
|
|
Agent Platform Feature Store Resource Viewer( Viewer of all resources in Agent Platform Feature Store but cannot make changes. Lowest-level resources where you can grant this role:
|
|
Agent Platform Feature Store User Beta( Deprecated. Use featurestoreAdmin instead. |
|
Agent Platform Memory Bank Editor Role( Grants edit access to Agent Platform Memory Bank. |
|
Agent Platform Memory Bank User Role( Grants full user access to Agent Platform Memory Bank. |
|
Agent Platform Memory Bank Viewer Role( Grants viewer access to Agent Platform Memory Bank. |
|
Agent Platform Migration Service User( Grants access to use migration service in Agent Platform |
|
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 Platform Provisioned Throughput Admin Beta( Grants access to use all resources related to Vertex AI Provisioned Throughput |
|
Vertex AI Platform Publisher Provisioned Throughput Admin Beta( Grants Publisher access to use all resources related to Vertex AI Provisioned Throughput Orders |
|
Vertex AI Platform Publisher Provisioned Throughput Viewer Beta( Grants Publisher access to view all resources related to Vertex AI Provisioned Throughput Orders |
|
Agent Platform Sessions Editor Role( Grants edit access to Agent Platform Sessions. |
|
Agent Platform Sessions User Role( Grants full user access to Agent Platform Sessions. |
|
Agent Platform Sessions Viewer Role( Grants viewer access to Agent Platform Sessions |
|
Agent Platform Tensorboard Web App User Beta( Grants access to the Vertex AI TensorBoard web app. |
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Vertex AI Agent Sandbox Service Agent( Vertex AI Service Agent used to access Agent Sandbox managed resources in consumer project with restricted permissions. |
|
Vertex AI Batch Prediction Service Agent( Vertex AI Batch Prediction Service Agent for serving batch prediction requests. |
|
Vertex AI Colab Service Agent( Gives Vertex AI Colab the proper permissions to function. |
|
Vertex AI Custom Code Service Agent( Gives Vertex AI Custom Code the proper permissions. |
|
Vertex AI Extension Custom Code Service Agent( Gives Vertex AI Extension that executes custom code the permissions it needs to function. |
|
Vertex AI Extension Service Agent( Gives Vertex AI Extension the permissions it needs to function. |
|
Vertex AI Model Monitoring Service Agent( Gives Vertex AI Model Monitoring the permissions it needs to function. |
|
Vertex AI Notebook Service Agent( Vertex AI Service Agent used to run Notebook managed resources in user project with restricted permissions. |
|
Vertex AI Online Prediction Service Agent( Gives Vertex AI Online Prediction the permissions it needs to function. |
|
Vertex AI RAG Data Service Agent( Vertex AI Service Agent used by Vertex RAG to access user imported data, Vertex AI, Document AI processors, and Vector Search in the project |
|
Vertex AI Rapid Eval Service Agent( Vertex AI Service Agent used by GenAI Rapid Evaluation Service to access publisher model endpoints in the user project |
|
Vertex AI Reasoning Engine Service Agent( Gives Vertex AI Reasoning Engine the proper permissions to function. The aiplatform.reasoningEngines.create IAM permission implies read access to the GCS objects of the consumer project through this service agent. |
|
Vertex AI Service Agent( Gives Vertex AI the permissions it needs to function. |
|
Vertex AI Telemetry Service Agent( Allows Vertex AI Telemetry Service Agent to access telemetry data. |
|
Vertex AI Tuning Service Agent( Vertex AI Service Agent used for tuning in user project. |
|
基本ロール
従来の Google Cloud基本ロールは、すべての Google Cloud サービスで共通です。オーナー、編集者、閲覧者のロールがあります。
基本ロールは、 Google CloudColab Enterprise だけでなく 全体に対する権限を付与します。このため、可能であれば Colab Enterprise のロールを使用してください。
カスタムロール
Colab Enterprise の IAM 事前定義ロールがニーズに合わない場合は、カスタムロールを定義できます。カスタムロールを使用すると、特定の権限セットを選択し、それらの権限を持つ独自のロールを作成して、組織内のユーザーに付与できます。 詳細については、Understanding IAM カスタムロールについてをご覧ください。
Colab Enterprise のサービス エージェント
Colab Enterprise は、ユーザーに代わってリソースにアクセスするために、 サービス エージェントを自動的に作成して使用します。サービス エージェントが作成されると、プロジェクトの事前定義ロールがサービス エージェントに付与されます。
次の表に、Colab Enterprise サービス エージェント、そのメールアドレス、それぞれのロールを示します。
| 名前 | 用途 | メールアドレス | ロール |
|---|---|---|---|
| Vertex AI サービス エージェント | Vertex AI の機能 | service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com |
roles/aiplatform.serviceAgent |
| Vertex AI Colab サービス エージェント | Colab Enterprise が機能するための適切な権限を付与します | service-PROJECT_NUMBER@gcp-sa-vertex-nb.iam.gserviceaccount.com |
roles/aiplatform.colabServiceAgent |
| Vertex AI ノートブック サービス エージェント | 制限付きの権限を使用してユーザー プロジェクト内でノートブック管理リソースを実行する | service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com |
roles/aiplatform.notebookServiceAgent |
Colab Enterprise サービス エージェントのデフォルト ロールを削除すると、Colab Enterprise は、サービス機能を中断しないように、これらのロールを自動的に再割り当てできます。Colab Enterprise サービスを停止するには、ロールを削除するのではなく、関連する API をオフにする必要があります。
Colab Enterprise の権限に関するセキュリティ上の考慮事項
ユーザーが Colab Enterprise ノートブックを作成すると、そのノートブックに対する
コード オーナー(roles/dataform.codeOwner)
ロールが自動的に
付与されます。このリソースレベルのロール付与は、プロジェクト
レベルの IAM ロールとは異なります。
IAM は、ポリシーを 階層的に整理します:
- ユーザーはプロジェクト IAM ポリシーでロールを持つことができ、そのロールはプロジェクト内のすべてのリソースに自動的に伝播されます。
- ユーザーは、個々のノートブックなど、特定のリソース ポリシーでロールを持つこともできます。
ユーザーは、リソース ポリシー または その親ポリシーのいずれかにロールがある場合、リソースにアクセスできます。
ユーザーのアクセス権を完全に取り消すには、管理者は次のいずれかを行います。
- 個々のノートブックからユーザーのロールを削除します。詳細については、 ノートブックからリソースレベルのアクセス権を削除するをご覧ください。
- IAM 拒否ポリシーを作成して、 プロジェクト内のすべてのリソースに対するユーザーの権限をすべて取り消します。
次のステップ
サービス エージェントの詳細を確認する