En esta página se ofrecen ejemplos de cómo puedes configurar un proyecto para un equipo que trabaje con Vertex AI. En esta página se da por hecho que ya conoces los conceptos de Gestión de Identidades y Accesos (IAM), como las políticas, los roles, los permisos y las entidades de seguridad, tal como se describe en Control de acceso a Vertex AI con IAM y Conceptos relacionados con la gestión de acceso.
Estos ejemplos se han creado para que se puedan usar de forma general. Ten en cuenta las necesidades específicas del equipo y ajusta la configuración del proyecto en consecuencia.
Información general
Vertex AI usa IAM para gestionar el acceso a los recursos. Cuando planifiques el control de acceso de tus recursos, ten en cuenta lo siguiente:
Puedes gestionar el acceso a nivel de proyecto o de recurso. El acceso a nivel de proyecto se aplica a todos los recursos de ese proyecto. El acceso a un recurso específico solo se aplica a ese recurso.
Para conceder acceso, asigna roles de gestión de identidades y accesos a los principales. Hay roles predefinidos disponibles para facilitar la configuración del acceso, pero se recomiendan los roles personalizados porque los creas tú y, por lo tanto, puedes limitar su acceso solo a los permisos necesarios.
Para obtener más información sobre el control de acceso, consulta Control de acceso a Vertex AI con IAM.
Un solo proyecto con acceso compartido a datos y recursos de Vertex AI
En este ejemplo, un equipo comparte un proyecto que contiene sus datos y recursos de Vertex AI.
Puedes configurar un proyecto de esta forma si los datos, los contenedores y otros recursos de Vertex AI del equipo se pueden compartir entre todos los usuarios del proyecto.
La política de permisos de IAM de tu proyecto puede tener un aspecto similar al siguiente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/aiplatform.user", "members": [ "user:USER1_EMAIL_ADDRESS", "user:USER2_EMAIL_ADDRESS" ] }, { "role": "roles/storage.admin", "members": [ "user:USER1_EMAIL_ADDRESS", "user:USER2_EMAIL_ADDRESS" ] }, { "role": "roles/aiplatform.serviceAgent", "members": [ "user:service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com" ] } ] }
Si configuras un proyecto de esta forma, será más fácil que un equipo colabore para entrenar modelos, depurar código, desplegar modelos y observar endpoints. Todos los usuarios ven los mismos recursos y pueden entrenar con los mismos datos. Los recursos de Vertex AI operan en un solo proyecto, por lo que no es necesario conceder acceso a recursos que estén fuera del proyecto. La cuota se comparte entre los miembros del equipo.
Para configurar el control de acceso al proyecto de tu equipo, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Separar los datos y los recursos de Vertex AI
En este ejemplo, los datos del equipo se encuentran en un proyecto independiente de los recursos de Vertex AI.
Puedes configurar un proyecto de esta forma si:
Los datos del equipo son demasiado difíciles de mover al mismo proyecto que tus recursos de Vertex AI.
Los datos del equipo requieren un control específico sobre quién puede acceder a ellos.
En estos casos, le recomendamos que cree un proyecto para los datos y otro para los recursos de Vertex AI. Los desarrolladores del equipo comparten el proyecto que contiene los recursos de Vertex AI. Usan los recursos de Vertex AI para acceder a los datos almacenados en el otro proyecto y procesarlos. Los administradores de datos conceden acceso a los recursos de Vertex AI a través de agentes de servicio o cuentas de servicio personalizadas.
Por ejemplo, puedes conceder a los agentes de servicio predeterminados de Vertex AI acceso a un segmento de Cloud Storage con una política de permiso similar a la siguiente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/storage.objectViewer", "members": [ "user:service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com", "user:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com" ] } ] }
Cuando sea posible, especifica una cuenta de servicio que se usará como identidad de recurso al crear recursos de Vertex AI y usa esa cuenta de servicio para gestionar el control de acceso. De esta forma, resulta más fácil conceder acceso a recursos específicos a los datos y gestionar los permisos a lo largo del tiempo.
Por ejemplo, puedes conceder acceso a BigQuery a una cuenta de servicio con una política como la siguiente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/bigquery.user", "members": [ "user:SERVICE_ACCOUNT_NAME@PROJECT_NUMBER.iam.gserviceaccount.com" ] } ] }
Para configurar el control de acceso a las cuentas de servicio, consulta el artículo sobre cómo gestionar el acceso a cuentas de servicio.
En el proyecto con los recursos de Vertex AI, los administradores pueden conceder a los usuarios acceso a los datos asignándoles el rol Usuario de cuenta de servicio (roles/iam.serviceAccountUser
) en las cuentas de servicio especificadas.
Aísla el código menos fiable en proyectos independientes adicionales
Los modelos, los contenedores de predicción y los contenedores de entrenamiento son código. Es importante aislar el código menos fiable de los modelos y los datos sensibles. Despliega los endpoints y las fases de entrenamiento en sus propios proyectos, usa una cuenta de servicio específica con permisos muy limitados y usa Controles de Servicio de VPC para aislarlos y reducir el impacto del acceso concedido a esos contenedores y modelos.
Siguientes pasos
Para obtener más información sobre el control de acceso a endpoints, consulta Controlar el acceso a los endpoints de Vertex AI.
Para obtener más información sobre cómo usar una cuenta de servicio personalizada para controlar el acceso a recursos específicos, consulta Usar una cuenta de servicio personalizada.