Cómo configurar un proyecto para un equipo

En esta página, se proporcionan ejemplos de cómo configurar un proyecto para un equipo que trabaja con Vertex AI. En esta página, se supone que ya estás familiarizado con los conceptos de Identity and Access Management (IAM), como las políticas, los roles, los permisos y las principales, como se describe en Control de acceso de Vertex AI con IAM y Conceptos relacionados con la administración del acceso.

Estos ejemplos están diseñados para usarse de forma general. Ten en cuenta las necesidades específicas del equipo y ajusta la configuración del proyecto según corresponda.

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.

  • 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.

Para obtener más información sobre el control de acceso, consulta Control de acceso de Vertex AI con IAM.

Un solo proyecto con acceso compartido a los datos y los recursos de Vertex AI

En este ejemplo, un equipo comparte un solo proyecto que contiene sus datos y recursos de Vertex AI.

Puedes configurar un proyecto de esta manera 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 podría ser similar a la 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"
      ]
    }
  ]
}

Configurar un proyecto de esta manera facilita que un equipo colabore para entrenar modelos, depurar código, implementar modelos y observar extremos. Todos los usuarios ven los mismos recursos y pueden entrenar con los mismos datos. Los recursos de Vertex AI operan dentro de un solo proyecto, por lo que no necesitas otorgar acceso a recursos fuera del proyecto. La cuota se comparte con el equipo.

Para configurar el control de acceso del proyecto de tu equipo, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Separa 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 manera en los siguientes casos:

  • Los datos del equipo son demasiado difíciles de trasladar 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 estas situaciones, te recomendamos que crees un proyecto para los datos y un proyecto 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 otorgan acceso a los recursos de Vertex AI a través de agentes de servicio o cuentas de servicio personalizadas.

Por ejemplo, puedes otorgar a los agentes de servicio predeterminados de Vertex AI acceso a un bucket de Cloud Storage con una política de permiso que se vea de la siguiente manera:

{
  "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 para usarla como la identidad del recurso cuando crees recursos de Vertex AI y úsala para administrar el control de acceso. Esto facilita el otorgamiento de acceso a los datos a recursos específicos y la administración de permisos a lo largo del tiempo.

Por ejemplo, puedes otorgar acceso a BigQuery a una cuenta de servicio con una política que tenga el siguiente aspecto:

{
  "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 de las cuentas de servicio, consulta Administra el acceso a las cuentas de servicio.

En el proyecto con los recursos de Vertex AI, los administradores pueden otorgar a los usuarios acceso a los datos otorgándoles el rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser) en las cuentas de servicio especificadas.

Aísla el código de menor confianza 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 confiable de los modelos y datos sensibles. Implementa extremos y etapas de entrenamiento en sus propios proyectos, usa una cuenta de servicio dedicada con permisos muy limitados y usa los Controles del servicio de VPC para aislarlos y reducir el impacto del acceso otorgado a esos contenedores y modelos.

¿Qué sigue?