Configure um projeto para uma equipa

Esta página fornece exemplos de como pode configurar um projeto para uma equipa que trabalha com o Vertex AI. Esta página pressupõe que já conhece os conceitos de gestão de identidade e acesso (IAM), como políticas, funções, autorizações e principais, conforme descrito em Controlo de acesso do Vertex AI com o IAM e Conceitos relacionados com a gestão de acesso.

Estes exemplos destinam-se a ser usados de forma geral. Considere as necessidades específicas da equipa e ajuste a forma como configura o projeto em conformidade.

Vista geral

O Vertex AI usa o IAM para gerir o acesso aos recursos. Quando planear o controlo de acesso aos seus recursos, considere o seguinte:

  • Pode gerir o acesso ao nível do projeto ou do recurso. O acesso ao nível do projeto aplica-se a todos os recursos nesse projeto. O acesso a um recurso específico aplica-se apenas a esse recurso.

  • Concede acesso atribuindo funções de IAM a principais. As funções predefinidas estão disponíveis para facilitar a configuração do acesso, mas as funções personalizadas são recomendadas porque as cria e, por isso, pode limitar o acesso apenas às autorizações necessárias.

Para saber mais sobre o controlo de acesso, consulte o artigo Controlo de acesso da Vertex AI com a IAM.

Projeto único com acesso partilhado aos dados e aos recursos do Vertex AI

Neste exemplo, uma equipa partilha um único projeto que contém os respetivos dados e recursos do Vertex AI.

Pode configurar um projeto desta forma se os dados, os contentores e outros recursos do Vertex AI da equipa puderem ser partilhados entre todos os utilizadores do projeto.

A política de autorização da IAM do seu projeto pode ter um aspeto semelhante ao seguinte:

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

A configuração de um projeto desta forma facilita a colaboração de uma equipa para preparar modelos, depurar código, implementar modelos e observar pontos finais. Todos os utilizadores veem os mesmos recursos e podem fazer a preparação com os mesmos dados. Os recursos do Vertex AI operam num único projeto, pelo que não tem de conceder acesso a recursos fora do projeto. A quota é partilhada entre a equipa.

Para configurar o controlo de acesso ao projeto da sua equipa, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Separe os dados e os recursos do Vertex AI

Neste exemplo, os dados da equipa estão localizados num projeto separado dos recursos do Vertex AI.

Pode configurar um projeto desta forma se:

  • Os dados da equipa são demasiado difíceis de mover para o mesmo projeto que os seus recursos do Vertex AI.

  • Os dados da equipa requerem um controlo específico sobre quem pode aceder aos mesmos.

Nestas situações, recomendamos que crie um projeto para os dados e um projeto para os recursos do Vertex AI. Os programadores da equipa partilham o projeto que contém os recursos do Vertex AI. Usam os recursos da Vertex AI para aceder e processar os dados armazenados no outro projeto. Os administradores de dados concedem acesso aos recursos do Vertex AI através de agentes de serviço ou contas de serviço personalizadas.

Por exemplo, pode conceder aos agentes de serviço do Vertex AI predefinidos acesso a um contentor do Cloud Storage com uma política de autorização semelhante à seguinte:

{
  "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 identidade do recurso quando criar recursos do Vertex AI e use essa conta de serviço para gerir o controlo de acesso. Isto facilita a concessão de acesso a recursos específicos aos dados e a gestão de autorizações ao longo do tempo.

Por exemplo, pode conceder a uma conta de serviço acesso ao BigQuery com uma política semelhante à seguinte:

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

Para configurar o controlo de acesso para contas de serviço, consulte o artigo Faça a gestão do acesso às contas de serviço.

No projeto com os recursos do Vertex AI, os administradores podem conceder aos utilizadores acesso aos dados atribuindo-lhes a função de utilizador da conta de serviço (roles/iam.serviceAccountUser) nas contas de serviço especificadas.

Isolar código menos fidedigno em projetos separados adicionais

Os modelos, os contentores de previsão e os contentores de preparação são código. É importante isolar o código menos fidedigno de modelos e dados confidenciais. Implemente pontos finais e fases de preparação nos seus próprios projetos, use uma conta de serviço dedicada com autorizações muito limitadas e use os VPC Service Controls para os isolar e reduzir o impacto do acesso concedido a esses contentores e modelos.

O que se segue?