Configurar um projeto para uma equipe

Esta página contém exemplos de como configurar um projeto para uma equipe que trabalha com a Vertex AI. Você já deve conhecer os conceitos do Identity and Access Management (IAM), como políticas, papéis, permissões e principais, descritos em Controle de acesso da Vertex AI com IAM e Conceitos relacionados ao gerenciamento de acesso.

Os exemplos são destinados a uso geral. Ajuste a configuração do projeto de acordo com as necessidades da equipe.

Informações gerais

O Vertex AI Workbench usa o IAM para gerenciar o acesso aos recursos. Ao planejar o controle de acesso dos seus recursos, considere o seguinte:

  • É possível gerenciar o acesso no nível do projeto ou do recurso. O acesso no nível do projeto se aplica a todos os recursos do projeto. O acesso a um recurso específico se aplica apenas ao recurso.

  • Para conceder acesso, você atribui papéis do IAM a participantes. Há papéis predefinidos disponíveis para facilitar a configuração do acesso, mas recomendamos usar papéis personalizados para limitar o acesso apenas às permissões necessárias.

Para saber mais sobre o controle de acesso, consulte Controle de acesso da Vertex AI com o IAM.

Um projeto único com acesso compartilhado aos dados e recursos da Vertex AI

Neste exemplo, uma equipe compartilha um único projeto que contém os dados e os recursos da Vertex AI.

Você pode configurar um projeto dessa maneira quando os dados, os contêineres e outros recursos da Vertex AI da equipe podem ser compartilhados entre todos os usuários do projeto.

A política de permissão do IAM do projeto pode ser semelhante a esta:

{
  "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 um projeto dessa maneira facilita a colaboração da equipe para treinar modelos, depurar códigos, implantar modelos e observar endpoints. Todos os usuários têm acesso aos mesmos recursos e podem treinar com os mesmos dados. Os recursos da Vertex AI operam em um único projeto, então você não precisa conceder acesso a recursos fora dele. A cota é compartilhada pela equipe.

Para configurar o controle de acesso do projeto da sua equipe, consulte Gerenciar o acesso a projetos, pastas e organizações.

Separar dados e recursos da Vertex AI

Neste exemplo, os dados da equipe estão localizados em um projeto separado dos recursos da Vertex AI.

Você pode configurar um projeto dessa forma quando:

  • Os dados da equipe são muito difíceis de migrar para o mesmo projeto dos recursos da Vertex AI.

  • Os dados da equipe exigem controle específico sobre quem pode acessá-los.

Nessas situações, recomendamos criar um projeto para os dados e outro para os recursos da Vertex AI. Os desenvolvedores da equipe compartilham o projeto que contém os recursos da Vertex AI. Eles usam os recursos da Vertex AI para acessar e processar os dados armazenados no outro projeto. Os administradores de dados concedem acesso aos recursos da Vertex AI por meio de agentes de serviço ou contas de serviço personalizadas.

Por exemplo, você pode conceder aos agentes de serviço padrão da Vertex AI acesso a um bucket do Cloud Storage com uma política de permissão semelhante a esta:

{
  "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"
      ]
    }
  ]
}

Sempre que possível, especifique uma conta de serviço para usar como a identidade do recurso ao criar recursos da Vertex AI e use essa conta de serviço para gerenciar o controle de acesso. Assim fica mais fácil autorizar o acesso de determinados recursos aos dados e gerenciar as permissões ao longo do tempo.

Por exemplo, você pode autorizar uma conta de serviço a acessar o BigQuery com uma política semelhante a esta:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/bigquery.user",
      "members": [
        "user:SERVICE_ACCOUNT_NAME@PROJECT_NUMBER.iam.gserviceaccount.com"
      ]
    }
  ]
}

Para configurar o controle de acesso para contas de serviço, consulte Gerenciar o acesso a contas de serviço.

No projeto com os recursos da Vertex AI, os administradores podem conceder aos usuários acesso aos dados concedendo o papel de usuário da conta de serviço (roles/iam.serviceAccountUser) nas contas de serviço especificadas.

Isolar códigos menos confiáveis em outros projetos separados

Modelos, contêineres de previsão e de treinamento são códigos. É importante separar o código de menor confiança e os modelos e dados sensíveis. Implante endpoints e estágios de treinamento nos próprios projetos, use uma conta de serviço dedicada com permissões muito limitadas e use o VPC Service Controls para isolá-los e reduzir o impacto do acesso concedido a esses contêineres e modelos.

A seguir