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 de 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 frente a 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 de acceso, pero se recomiendan los roles personalizados porque los creas, de modo que puedes limitar su acceso solo a los permisos necesarios. Consulta Funciones 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 otorgar, cambiar y revocar el acceso.
Funciones personalizadas
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. 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 otorgarles 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 le otorga a la cuenta de servicio la posibilidad 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 |
|
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 |
|
Funciones básicas
Las funciones básicas anteriores de Google Cloud son comunes a todos los servicios de 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 organización o la carpeta.
En la mayoría de los recursos de Vertex AI, solo el proyecto, la carpeta y la organización pueden controlar el acceso. 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 de proyecto, asigna una o más funciones 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 configurar 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 recursos cuando realizan acciones. Esta identidad es distinta de la identidad del 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 del principal que creó el recurso.
De forma predeterminada, los recursos de Vertex AI usan cuentas de servicio que administra Vertex AI como identidad de recursos. Estas cuentas de servicio se llaman 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 usan agentes de servicio de Vertex AI. En algunos servicios, puedes especificar una cuenta de servicio para conectarla 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 a las que se llama. Cada agente de servicio tiene permisos específicos de IAM en el proyecto al que está vinculado. La identidad del recurso usa estos permisos para realizar acciones, y estos pueden incluir acceso de solo lectura a todos los recursos de Cloud Storage y los datos de BigQuery del 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 de entrenamiento personalizado, 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 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 |
roles/aiplatform.extensionServiceAgent |
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 del código personalizado de Vertex AI( Otorga los permisos adecuados al código personalizado de Vertex AI. |
|
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 Vertex AI para acceder a un bucket de Cloud Storage en un proyecto diferente, deberás otorgar una o más funciones 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 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 Más información. |
Fuente de datos externa de BigQuery respaldada por Bigtable | Proyecto principal | Proyecto principal | Bigtable Reader para el proyecto principal. Más información. |
Fuente de datos externa de BigQuery respaldada por Bigtable | Proyecto principal | Proyecto diferente | Bigtable Reader para diferentes proyectos 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. 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 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. 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. 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. Más información.
Si usas un bucket de Cloud Storage a fin de recibir datos de tu computadora local para una operación de importación y el bucket está en un proyecto diferente al proyecto de Google Cloud, debes asignar el rol Storage > Storage Object Creator
a Vertex AI en ese proyecto. 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 las funciones necesarias a la cuenta 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 a la cuenta de servicio de Vertex AI en ese proyecto. 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 estas instrucciones para gcloud CLI. Este comando de gcloud creará la cuenta de servicio predeterminada y la cuenta de servicio de código personalizado, aunque solo la cuenta de servicio predeterminada se mostrará 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.