Access control with IAM
This page describes how to use Identity and Access Management (IAM) to manage access to Colab Enterprise resources. To manage access for other Vertex AI resources, see Vertex AI access control with IAM.
Control access to notebooks with IAM
You can manage access to Colab Enterprise notebooks (IPYNB files) at the project level or per notebook.
- To grant access to notebooks at the project level, assign one or more roles to a principal (user, group, or service account).
- To grant access to a specific notebook, assign one or more roles to a principal on the notebook. To learn more, see Manage access to a notebook.
Running code that interacts with other Google Cloud services
Granting access to a notebook is limited to the specific permissions related to interacting with the notebook. For example, you can grant the ability to create a notebook, write code in it, or delete the notebook.
To run code that interacts with other Google Cloud services, you must use one of the following methods:
Run code in a runtime with end-user credentials enabled. This means your notebook has the same access to Google Cloud services as your notebook user.
Run code that authenticates and authorizes your notebook to interact with Google Cloud services.
To learn more, see Run code that interacts with Google Cloud.
Types of IAM roles
There are different types of IAM roles that can be used in Colab Enterprise:
Predefined roles let you grant a set of related permissions to your Colab Enterprise resources at the project level.
Basic roles (Owner, Editor, and Viewer) provide access control to your Colab Enterprise resources at the project level, and are common to all Google Cloud services.
Custom roles enable you to choose a specific set of permissions, create your own role with those permissions, and grant the role to users in your organization.
To add, update, or remove these roles in your Colab Enterprise project, see the documentation on managing access to projects, folders, and organizations.
Predefined roles for Colab Enterprise
Colab Enterprise is a part of Vertex AI, and Colab Enterprise resources are managed through the Vertex AI API. Therefore, you can grant principals access to Colab Enterprise resources through Vertex AI roles. For more information on predefined roles for Colab Enterprise, see the Colab Enterprise roles in the following table of Vertex AI roles.
Role | Permissions |
---|---|
Vertex AI Administrator( Grants full access to all resources in Vertex AI |
aiplatform.*
resourcemanager.projects.get resourcemanager.projects.list |
Colab Enterprise Admin( Admin role of using colab enterprise. |
aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.notebookRuntimes.*
aiplatform.operations.list aiplatform.pipelineJobs.create aiplatform.schedules.*
dataform.*
resourcemanager.projects.get resourcemanager.projects.list |
Colab Enterprise User( User role of using colab enterprise. |
aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.operations.list aiplatform.pipelineJobs.create aiplatform.schedules.*
dataform.locations.*
dataform.repositories.create dataform.repositories.list resourcemanager.projects.get resourcemanager.projects.list |
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:
|
aiplatform.entityTypes.delete aiplatform. aiplatform. aiplatform.entityTypes.get aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.entityTypes.update aiplatform. aiplatform.featureGroups.get aiplatform.featureGroups.list aiplatform. aiplatform. aiplatform.featureViewSyncs.*
aiplatform. aiplatform.featureViews.get aiplatform.featureViews.list aiplatform.features.*
aiplatform. resourcemanager.projects.get resourcemanager.projects.list |
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:
|
aiplatform.entityTypes.*
aiplatform.featureGroups.*
aiplatform.
aiplatform.featureViewSyncs.*
aiplatform.featureViews.create aiplatform.featureViews.delete aiplatform. aiplatform.featureViews.get aiplatform.featureViews.list aiplatform.featureViews.sync aiplatform.featureViews.update aiplatform.features.*
aiplatform.featurestores.*
aiplatform.operations.list resourcemanager.projects.get resourcemanager.projects.list |
Vertex AI Feature Store Data Viewer( This role provides permissions to read Feature data. Lowest-level resources where you can grant this role:
|
aiplatform. aiplatform.entityTypes.get aiplatform. aiplatform. aiplatform.featureGroups.get aiplatform.featureGroups.list aiplatform. aiplatform. aiplatform.featureViewSyncs.*
aiplatform. aiplatform.featureViews.get aiplatform.featureViews.list aiplatform.features.get aiplatform.features.list aiplatform. resourcemanager.projects.get resourcemanager.projects.list |
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:
|
aiplatform. aiplatform. aiplatform.entityTypes.get aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.featureGroups.get aiplatform.featureGroups.list aiplatform. aiplatform. aiplatform.featureViewSyncs.*
aiplatform. aiplatform.featureViews.get aiplatform.featureViews.list aiplatform.features.get aiplatform.features.list aiplatform. resourcemanager.projects.get resourcemanager.projects.list |
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:
|
aiplatform. aiplatform. aiplatform.featurestores.get aiplatform.featurestores.list aiplatform. |
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:
|
aiplatform.entityTypes.get aiplatform.entityTypes.list aiplatform.features.get aiplatform.features.list aiplatform.featurestores.get aiplatform.featurestores.list aiplatform.operations.list resourcemanager.projects.get resourcemanager.projects.list |
Vertex AI Feature Store User Beta( Deprecated. Use featurestoreAdmin instead. |
aiplatform.entityTypes.*
aiplatform.features.*
aiplatform.featurestores.*
aiplatform.operations.list resourcemanager.projects.get resourcemanager.projects.list |
Vertex AI Migration Service User( Grants access to use migration service in Vertex AI |
aiplatform.
|
Notebook Runtime Admin( Grants full access to all runtime templates and runtimes in Notebook Service. |
aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.notebookRuntimes.*
aiplatform.operations.list |
Notebook Runtime User( Grants users permissions to create runtime resources using a runtime template and manage the runtime resources they created. |
aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.operations.list |
Vertex AI Tensorboard Web App User Beta( Grants access to the Vertex AI TensorBoard web app. |
aiplatform. |
Vertex AI User( Grants access to use all resource in Vertex AI |
aiplatform.annotationSpecs.*
aiplatform.annotations.*
aiplatform.artifacts.*
aiplatform.
aiplatform.contexts.*
aiplatform.customJobs.*
aiplatform.dataItems.*
aiplatform.dataLabelingJobs.*
aiplatform.datasetVersions.*
aiplatform.datasets.*
aiplatform.
aiplatform.
aiplatform. aiplatform.edgeDevices.*
aiplatform.endpoints.create aiplatform.endpoints.delete aiplatform.endpoints.deploy aiplatform.endpoints.explain aiplatform.endpoints.get aiplatform.endpoints.list aiplatform.endpoints.predict aiplatform.endpoints.undeploy aiplatform.endpoints.update aiplatform.entityTypes.create aiplatform.entityTypes.delete aiplatform. aiplatform. aiplatform.entityTypes.get aiplatform. aiplatform.entityTypes.list aiplatform. aiplatform. aiplatform.entityTypes.update aiplatform. aiplatform.executions.*
aiplatform.featureGroups.*
aiplatform.
aiplatform.featureViewSyncs.*
aiplatform.featureViews.*
aiplatform.features.*
aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.featurestores.get aiplatform. aiplatform.featurestores.list aiplatform. aiplatform. aiplatform. aiplatform.humanInTheLoops.*
aiplatform.
aiplatform.indexEndpoints.*
aiplatform.indexes.*
aiplatform.locations.*
aiplatform.metadataSchemas.*
aiplatform.metadataStores.*
aiplatform.
aiplatform.
aiplatform.modelEvaluations.*
aiplatform.models.*
aiplatform.nasJobs.*
aiplatform.nasTrialDetails.*
aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.notebookRuntimes.*
aiplatform.operations.list aiplatform. aiplatform. aiplatform.pipelineJobs.*
aiplatform.schedules.*
aiplatform.specialistPools.*
aiplatform.studies.*
aiplatform.
aiplatform.tensorboardRuns.*
aiplatform.
aiplatform.tensorboards.create aiplatform.tensorboards.delete aiplatform.tensorboards.get aiplatform.tensorboards.list aiplatform.tensorboards.update aiplatform.trainingPipelines.*
aiplatform.trials.*
resourcemanager.projects.get resourcemanager.projects.list |
Vertex AI Viewer( Grants access to view all resource in Vertex AI |
aiplatform.annotationSpecs.get aiplatform. aiplatform.annotations.get aiplatform.annotations.list aiplatform.artifacts.get aiplatform.artifacts.list aiplatform. aiplatform. aiplatform.contexts.get aiplatform.contexts.list aiplatform. aiplatform.customJobs.get aiplatform.customJobs.list aiplatform.dataItems.get aiplatform.dataItems.list aiplatform. aiplatform. aiplatform.datasetVersions.get aiplatform. aiplatform.datasets.get aiplatform.datasets.list aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.edgeDevices.get aiplatform.edgeDevices.list aiplatform.endpoints.get aiplatform.endpoints.list aiplatform.entityTypes.get aiplatform.entityTypes.list aiplatform.executions.get aiplatform.executions.list aiplatform. aiplatform.featureGroups.get aiplatform.featureGroups.list aiplatform. aiplatform. aiplatform.featureViewSyncs.*
aiplatform. aiplatform.featureViews.get aiplatform.featureViews.list aiplatform. aiplatform.features.get aiplatform.features.list aiplatform.featurestores.get aiplatform.featurestores.list aiplatform.humanInTheLoops.get aiplatform. aiplatform. aiplatform. aiplatform.indexEndpoints.get aiplatform.indexEndpoints.list aiplatform. aiplatform.indexes.get aiplatform.indexes.list aiplatform.locations.*
aiplatform.metadataSchemas.get aiplatform. aiplatform.metadataStores.get aiplatform.metadataStores.list aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.models.get aiplatform.models.list aiplatform.nasJobs.get aiplatform.nasJobs.list aiplatform.nasTrialDetails.*
aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.operations.list aiplatform. aiplatform. aiplatform.pipelineJobs.get aiplatform.pipelineJobs.list aiplatform.schedules.get aiplatform.schedules.list aiplatform.specialistPools.get aiplatform. aiplatform. aiplatform.studies.get aiplatform.studies.list aiplatform. aiplatform. aiplatform.tensorboardRuns.get aiplatform. aiplatform. aiplatform. aiplatform. aiplatform. aiplatform.tensorboards.get aiplatform.tensorboards.list aiplatform. aiplatform. aiplatform.trials.get aiplatform.trials.list resourcemanager.projects.get resourcemanager.projects.list |
Basic roles
The older Google Cloud basic roles are common to all Google Cloud services. These roles are Owner, Editor, and Viewer.
The basic roles provide permissions across Google Cloud, not just for Colab Enterprise. For this reason, you should use Colab Enterprise roles whenever possible.
Custom roles
If the predefined IAM roles for Colab Enterprise don't meet your needs, you can define custom roles. Custom roles enable you to choose a specific set of permissions, create your own role with those permissions, and grant the role to users in your organization. For more information, see Understanding IAM custom roles.
What's next
Learn how to create and manage custom IAM roles.