En esta página, se describe cómo usar Identity and Access Management (IAM) para administrar el acceso a los recursos de Vertex AI. Para administrar el acceso a las instancias de Vertex AI Workbench, consulta Control de acceso de instancias de Vertex AI Workbench.
Descripción general
Vertex AI usa IAM para administrar el acceso a los recursos. Cuando planifiques el control de acceso para tus recursos, ten en cuenta lo siguiente:
Puedes administrar el acceso a nivel de proyecto o de recursos. El acceso a nivel del proyecto se aplica a todos los recursos de ese proyecto. El acceso a un recurso específico solo se aplica a ese recurso. Consulta Acceso a nivel de proyecto versus acceso a nivel de recurso.
Para otorgar acceso, asigna roles de IAM a las principales. Los roles predefinidos están disponibles para facilitar la configuración del acceso, pero se recomiendan los roles personalizados porque los creas tú, por lo que puedes limitar su acceso solo a los permisos necesarios. Consulta Roles de IAM.
Funciones de IAM
Hay diferentes tipos de funciones de IAM que se pueden usar en Vertex AI:
Los roles personalizados te permiten elegir un conjunto de permisos específico, crear tu propio rol con esos permisos y otorgarlo a los usuarios en tu organización.
Los roles predefinidos te permiten otorgar un conjunto de permisos relacionados a tus recursos de Vertex AI en el nivel del proyecto.
Los roles básicos (propietario, editor y visualizador) proporcionan control de acceso a tus recursos de Vertex AI a nivel del proyecto y son comunes para todos los servicios de Google Cloud .
Para agregar, actualizar o quitar estos roles en tu proyecto de Vertex AI, consulta la documentación sobre cómo otorgar, cambiar y revocar el acceso.
Funciones personalizadas
Los roles personalizados te permiten elegir un conjunto específico de permisos, crear tu propio rol con esos permisos y otorgarlo a los usuarios de tu organización. Para obtener más información, consulta Comprende los roles personalizados de IAM.
Usa roles personalizados para otorgar permisos de privilegio mínimo
Los roles predefinidos suelen contener más permisos de los que necesitas. Puedes crear roles personalizados para otorgar a tus principales solo los permisos específicos que se requieren.
Por ejemplo, puedes crear un rol personalizado con el permiso aiplatform.endpoints.predict
y, luego, asignarlo a una cuenta de servicio en un extremo. Esto otorga a la cuenta de servicio la capacidad de llamar al extremo para obtener predicciones, pero no la capacidad de controlar el extremo.
Funciones predefinidas para Vertex AI
Role | Permissions |
---|---|
Vertex AI Administrator( Grants full access to all resources in Vertex AI |
|
Vertex AI Batch Prediction Service Agent( Vertex AI Batch Prediction Service Agent for serving batch prediction requests. |
|
Colab Enterprise Admin( Admin role of using colab enterprise. |
|
Colab Enterprise User( User role of using colab enterprise. |
|
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 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 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 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 |
|
Vertex AI Model Monitoring Service Agent( Gives Vertex AI Model Monitoring the permissions it needs to function. |
|
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 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 Platform Provisioned Throughput Admin Beta( Grants access to use all resources related to Vertex AI Provisioned Throughput |
|
Vertex AI RAG Data Service Agent( Vertex AI Service Agent used by Vertex RAG to access user imported data, Vertex AI, Document AI processors 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 Tensorboard Web App User Beta( Grants access to the Vertex AI TensorBoard web app. |
|
Vertex AI Tuning Service Agent( Vertex AI Service Agent used for tuning in user project. |
|
Vertex AI User( Grants access to use all resource in Vertex AI |
|
Vertex AI Viewer( Grants access to view all resource in Vertex AI |
|
Funciones básicas
Las Google Cloud funciones básicasanteriores son comunes a todos los servicios Google Cloud . Son las funciones de propietario, editor y visualizador.
Acceso a nivel de proyecto frente a acceso a nivel de recurso
Puedes administrar el acceso a nivel de proyecto o de recursos. También es posible que puedas administrar el acceso a nivel de la carpeta o la organización.
En el caso de la mayoría de los recursos de Vertex AI, el acceso solo se puede controlar por proyecto, carpeta y organización. El acceso a recursos individuales solo se puede otorgar para tipos de recursos específicos, por ejemplo, un extremo o un almacén de atributos.
Los usuarios comparten el control de todos los recursos a los que pueden acceder. Por ejemplo, si un usuario registra un modelo, todos los demás usuarios autorizados del proyecto pueden acceder a él, cambiarlo y borrarlo.
Para otorgar acceso a los recursos a nivel del proyecto, asigna uno o más roles a una principal (usuario, grupo o cuenta de servicio).
En el caso de los recursos de Vertex AI que te permiten otorgar acceso a nivel del recurso, debes establecer una política de IAM en ese recurso. La política define qué funciones se asignan a qué principales.
Establecer una política a nivel de recurso no afecta las políticas a nivel de proyecto. Un recurso hereda todas las políticas de su principal. Puedes usar estos dos niveles de detalle para personalizar los permisos. Por ejemplo, puedes otorgar a los usuarios permisos de lectura a nivel de proyecto para que puedan leer todos los recursos del proyecto y, luego, puedes otorgarles permisos de escritura por recurso (a nivel de recurso).
No todos los roles y recursos predefinidos de Vertex AI admiten políticas a nivel de recurso. Para identificar qué roles se pueden usar en qué recursos, consulta la tabla de roles predefinidos.
Recursos admitidos
Vertex AI es compatible con el almacén de atributos Vertex AI Feature Store y con los recursos de tipo de entidad. Para obtener más información, consulta Controla el acceso a los recursos de Vertex AI Feature Store.
Después de otorgar o revocar el acceso a un recurso, esos cambios tardan en propagarse. Para obtener más información, consulta Propagación de cambios de acceso.
Recursos, cuentas de servicio y agentes de servicio
Los servicios de Vertex AI suelen administrar recursos de larga duración que realizan acciones, como ejecutar un trabajo de entrenamiento que lee datos de entrenamiento o entregar un modelo de aprendizaje automático (AA) que lee el peso del modelo. Estos recursos independientes tienen su propia identidad de recurso cuando realizan acciones. Esta identidad es distinta de la identidad de la principal que creó el recurso. Los permisos otorgados a la identidad del recurso definen a qué datos y otros recursos puede acceder la identidad del recurso, no los permisos de la principal que creó el recurso.
De forma predeterminada, los recursos de Vertex AI usan cuentas de servicio administradas por Vertex AI como identidad de recurso. Estas cuentas de servicio se denominan agentes de servicio de Vertex AI y se adjuntan al proyecto en el que se crea el recurso. Los usuarios con permisos específicos de Vertex AI pueden crear recursos que usen agentes de servicio de Vertex AI. En algunos servicios, puedes especificar una cuenta de servicio para conectar al recurso. El recurso usa esta cuenta de servicio para acceder a otros recursos y servicios. Para obtener más información sobre las cuentas de servicio, consulta Cuentas de servicio.
Vertex AI usa diferentes agentes de servicio según las APIs que se llamen. Cada agente de servicio tiene permisos de IAM específicos en el proyecto al que está vinculado. La identidad del recurso usa estos permisos para realizar acciones, y los permisos pueden incluir acceso de solo lectura a todos los recursos de Cloud Storage y los datos de BigQuery en el proyecto.
Cuentas de servicio
Una cuenta de servicio es una cuenta especial que usa una aplicación o una instancia de máquina virtual (VM), no una persona. Puedes crear y asignar permisos a cuentas de servicio para proporcionar permisos específicos a un recurso o aplicación.
Si quieres obtener información sobre el uso de una cuenta de servicio para personalizar los permisos disponibles para un contenedor de entrenamiento personalizado o un contenedor que entrega predicciones en línea para un modelo entrenado de forma personalizada, lee Usa una cuenta de servicio personalizada.
Las cuentas de servicio se identifican con una dirección de correo electrónico.
Agentes de servicio
Los agentes de servicio se proporcionan automáticamente; permiten que un servicio acceda a recursos en tu nombre.
Cuando se crea un agente de servicio, se le otorga un rol predefinido para tu proyecto. En la siguiente tabla, se enumeran los agentes de servicio de Vertex AI, sus direcciones de correo electrónico y sus respectivos roles:
Nombre | Se usa para | Dirección de correo electrónico | Rol |
---|---|---|---|
Agente de servicio de Vertex AI | Funciones de Vertex AI | service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com |
roles/aiplatform.serviceAgent |
Agente de servicio de datos RAG de Vertex AI | La RAG de Vertex AI accede a los datos importados por el usuario, a Vertex AI y a los procesadores de Document AI en el proyecto | service-PROJECT_NUMBER@gcp-sa-vertex-rag.iam.gserviceaccount.com |
roles/ |
Agente de servicio del código personalizado de Vertex AI |
Código de entrenamiento personalizado Código de la aplicación de Ray en Vertex AI |
service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com |
roles/aiplatform.customCodeServiceAgent |
Agente de servicio de Vertex AI Extension | Extensiones de Vertex | service-PROJECT_NUMBER@gcp-sa-vertex-ex.iam.gserviceaccount.com |
|
Cuenta de servicio de Cloud AI Platform Notebooks | Funciones de Vertex AI Workbench | service-PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com |
roles/notebooks.serviceAgent |
El agente de servicios de código personalizado de Vertex AI se crea solo si ejecutas un código de entrenamiento personalizado para entrenar un modelo personalizado.
Roles y permisos del agente de servicio
Consulta los siguientes roles y permisos que se otorgan a los agentes de servicio de Vertex AI.
Rol | Permisos |
---|---|
Agente de servicio de Vertex AI( Otorga a Vertex AI los permisos que necesita para funcionar. |
|
Agente de servicio de datos RAG de Vertex AI( Es el agente de servicio de Vertex AI que usa la RAG de Vertex para acceder a los datos importados del usuario, Vertex AI y los procesadores de Document AI en el proyecto |
|
Agente de servicio del código personalizado de Vertex AI( Otorga los permisos adecuados al código personalizado de Vertex AI. |
|
Agente de servicio de Vertex AI Extension( Otorga a Vertex AI Extension los permisos que necesita para funcionar. |
|
Agente de servicio de AI Platform Notebooks( Proporciona acceso al agente de servicio de notebooks para que administre instancias de notebooks en proyectos de usuario |
|
Otorga acceso a agentes de servicio de Vertex AI a otros recursos
A veces, es necesario otorgar funciones adicionales a un agente de servicio de Vertex AI. Por ejemplo, si necesitas que Vertex AI acceda a un bucket de Cloud Storage en un proyecto diferente, deberás otorgar uno o más roles adicionales al agente de servicio.
Requisitos de incorporación de funciones para BigQuery
En la siguiente tabla, se describen las funciones adicionales que deben agregarse al agente de servicios de Vertex AI para tablas de BigQuery, o bien verlas en un proyecto diferente o respaldado por una fuente de datos externa.
El término proyecto principal hace referencia al proyecto en el que se encuentra el modelo o conjunto de datos de Vertex AI. El término proyecto diferente hace referencia a cualquier otro proyecto.
Tipo de tabla | Proyecto de la tabla | Proyecto de la fuente de datos | Se requiere agregar una función |
---|---|---|---|
Tabla de BigQuery nativa | Proyecto principal | N/A | Ninguno |
Tabla de BigQuery nativa | Proyecto diferente | N/A | BigQuery Data Viewer para diferentes proyectos Obtén más información. |
Vista de BigQuery | Proyecto principal | N/A | Ninguno |
Vista de BigQuery | Proyecto diferente | N/A | BigQuery Data Viewer para diferentes proyectos Obtén más información. |
Fuente de datos externa de BigQuery respaldada por Bigtable | Proyecto principal | Proyecto principal | Bigtable Reader para el proyecto principal. Obtén más información. |
Fuente de datos externa de BigQuery respaldada por Bigtable | Proyecto principal | Proyecto diferente | Bigtable Reader para diferentes proyectos Obtén más información. |
Fuente de datos externa de BigQuery respaldada por Bigtable | Proyecto diferente | Proyecto diferente | BigQuery Reader y Bigtable Reader para diferentes proyectos. Obtén más información. |
Fuente de datos externa de BigQuery respaldada por Cloud Storage | Proyecto principal | Proyecto principal | Ninguno |
Fuente de datos externa de BigQuery respaldada por Cloud Storage | Proyecto principal | Proyecto diferente | Storage Object Viewer para diferentes proyectos Obtén más información. |
Fuente de datos externa de BigQuery respaldada por Cloud Storage | Proyecto diferente | Proyecto diferente | Storage Object Viewer y BigQuery Data Viewer para diferentes proyectos. Obtén más información. |
Fuente de datos externa de BigQuery respaldada por Hojas de cálculo de Google | Proyecto principal | N/A | Comparte tu archivo de Hojas de cálculo con la cuenta de servicio de Vertex AI. Obtén más información. |
Fuente de datos externa de BigQuery respaldada por Hojas de cálculo de Google | Proyecto diferente | N/A | BigQuery Reader para proyectos diferentes y comparte tu archivo de Hojas de cálculo con la cuenta de servicio de Vertex AI. |
Requisitos de incorporación de funciones para Cloud Storage
Si accedes a los datos de un bucket de Cloud Storage en un proyecto diferente, debes asignar la función Storage > Storage Object Viewer
a Vertex AI en ese proyecto. Obtén más información.
Si usas un bucket de Cloud Storage para recibir datos de tu computadora local para una operación de importación y el bucket está en un proyecto diferente al proyecto deGoogle Cloud , debes asignar el rol de Storage > Storage Object Creator
a Vertex AI en ese proyecto. Obtén más información.
Otorga acceso a la API de Vertex AI a los recursos de tu proyecto principal
A fin de otorgar roles adicionales a un agente de servicio para Vertex AI en tu proyecto principal, sigue estos pasos:
Ve a la página IAM de la consola de Google Cloud para ir a tu proyecto principal.
Selecciona la casilla de verificación Incluir asignaciones de funciones proporcionadas por Google.
Determina el agente de servicio al que deseas otorgar permisos y haz clic en el ícono de lápiz .
Puedes filtrar por Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com para encontrar los agentes de servicio de Vertex AI.
Otorga los roles necesarios al agente de servicio y guarda los cambios.
Otorga acceso a Vertex AI a los recursos en un proyecto diferente
Cuando usas fuentes de datos o destinos en un proyecto diferente, debes otorgar permisos al agente de servicio de Vertex AI en ese proyecto. El agente de servicio de Vertex AI se crea después de que inicias el primer trabajo asíncrono (por ejemplo, cuando se crea un extremo). También puedes crear de forma explícita el agente de servicio de Vertex AI. Para obtener más información, consulta gcloud beta services identity create. Este comando de Google Cloud CLI crea el agente de servicio principal y el agente de servicio de código personalizado. Sin embargo, solo se devuelve el agente de servicio principal en la respuesta.
Para agregar permisos a Vertex AI en un proyecto diferente, haz lo siguiente:
Ve a la página IAM de la consola de Google Cloud para ver tu proyecto principal (el proyecto en el que usas Vertex AI).
Selecciona la casilla de verificación Incluir asignaciones de funciones proporcionadas por Google.
Determina el agente de servicio al que deseas otorgar los permisos y copia su dirección de correo electrónico (que aparece en Principal).
Puedes filtrar por Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com para encontrar los agentes de servicio de Vertex AI.
Cambia los proyectos al proyecto en el que debes otorgar los permisos.
Haz clic en Agregar y, luego, ingresa la dirección de correo electrónico en Principales nuevos.
Agrega todas las funciones necesarias y haz clic en Guardar.
Proporciona acceso a Hojas de cálculo de Google
Si usas una fuente de datos externa de BigQuery con una copia de seguridad en Hojas de cálculo de Google, debes compartir tu hoja con la cuenta de servicio de Vertex AI. La cuenta de servicio de Vertex AI se crea después de que inicias el primer trabajo asíncrono (por ejemplo, cuando se crea un extremo). También puedes crear de forma explícita la cuenta de servicio de Vertex AI mediante gcloud CLI si sigues esta instrucción.
Para autorizar a Vertex AI a que acceda a tu archivo de Hojas de cálculo, haz lo siguiente:
Ve a la página IAM de la consola de Google Cloud .
Busca la cuenta de servicio con el nombre
Vertex AI Service Agent
y copia su dirección de correo electrónico (que aparece en Principal).Abre el archivo de Hojas de cálculo y compártelo con esa dirección.
¿Qué sigue?
- Obtén más información sobre IAM.
- Obtén más información sobre los permisos de IAM específicos y las operaciones que admiten.
- Para obtener información sobre las formas recomendadas de configurar un proyecto para un equipo, consulta Configura un proyecto para un equipo.
- Obtén una descripción general de la Vertex AI.