Nesta página, descrevemos como usar o Identity and Access Management (IAM) para gerenciar o acesso aos recursos do Vertex AI Workbench. Para gerenciar o acesso às instâncias do Vertex AI Workbench, consulte Controle de acesso de instâncias do Vertex AI Workbench.
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. Consulte Acesso no nível do projeto e no nível do 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. Consulte Papéis do IAM.
Papéis do IAM
Há diferentes tipos de papéis do IAM que podem ser usados na Vertex AI:
Os papéis personalizados permitem escolher um conjunto específico de permissões, criar seu próprio papel com elas e concedê-lo aos usuários da organização.
Os papéis predefinidos permitem conceder um conjunto de permissões relacionadas aos recursos da Vertex AI no nível do projeto.
Os papéis básicos (proprietário, editor e visualizador) controlam o acesso aos recursos da Vertex AI no nível do projeto e são comuns a todos os serviços do Google Cloud.
Para adicionar, atualizar ou remover esses papéis do projeto da Vertex AI, consulte a documentação sobre como conceder, alterar e revogar acesso.
Papéis personalizados
Com os papéis personalizados, você escolhe um conjunto específico de permissões, cria seu próprio papel com elas e o concede aos usuários da organização. Para mais informações, consulte Noções básicas sobre papéis personalizados do IAM.
Usar papéis personalizados para conceder as permissões de privilégio mínimo
Os papéis predefinidos geralmente contêm mais permissões do que o necessário. É possível criar papéis personalizados para conceder aos principais apenas as permissões específicas necessárias.
Por exemplo, é possível criar um papel personalizado com a
permissão aiplatform.endpoints.predict
e atribuir o papel a
uma conta de serviço em um endpoint. Assim a conta de serviço pode chamar o endpoint para previsões, mas não pode controlá-lo.
Papéis predefinidos da 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 |
|
Papéis básicos
Os papéis básicos mais antigos do Google Cloud são comuns a todos os serviços do Google Cloud. Esses papéis são Proprietário, Editor e Visualizador.
Acesso no nível do projeto e no nível do recurso
É possível gerenciar o acesso no nível do projeto ou do recurso. Você também pode gerenciar o acesso no nível da pasta ou da organização.
Para a maioria dos recursos da Vertex AI, o acesso só pode ser controlado pelo projeto, pela pasta e pela organização. O acesso a recursos individuais só pode ser concedido para tipos de recursos específicos, por exemplo, um endpoint ou um featurestore.
Os usuários compartilham o controle de todos os recursos que eles podem acessar. Por exemplo, se um usuário registrar um modelo, todos os outros usuários autorizados no projeto poderão acessar, alterar e excluir o modelo.
Para conceder acesso a recursos no nível do projeto, atribua um ou mais papéis a um principal (usuário, grupo ou conta de serviço).
Para recursos do Vertex AI que permitem conceder acesso no nível do recurso, defina uma política do IAM nesse recurso. A política define quais papéis são atribuídos a quais principais.
Definir uma política no nível do recurso não afeta as políticas no nível do projeto. Um recurso herda todas as políticas do ancestral. Você pode usar esses dois níveis de granularidade para personalizar permissões. Por exemplo, é possível conceder aos usuários permissões de leitura no nível do projeto para que eles leiam todos os recursos no projeto. Em seguida, conceda aos usuários permissões de gravação por recurso (no nível do recurso).
Nem todos os papéis e recursos predefinidos da Vertex AI são compatíveis com políticas no nível do recurso. Para identificar quais papéis podem ser usados em quais recursos, consulte a tabela de papéis predefinidos.
Recursos com suporte
A Vertex AI é compatível com a featurestore e os recursos de tipo de entidade da Vertex AI Feature Store. Para mais informações, consulte Controlar o acesso aos recursos da Vertex AI Feature Store.
Depois de conceder ou revogar o acesso a um recurso, essas alterações levam algum tempo para serem propagadas. Para mais informações, consulte Propagação de alteração de acesso.
Recursos, contas de serviço e agentes de serviço
Os serviços da Vertex AI geralmente gerenciam recursos de longa duração que realizam ações, como executar um job de treinamento que lê dados de treinamento ou disponibilizar um modelo de aprendizado de máquina (ML) que lê o peso do modelo. Esses recursos independentes têm uma identidade própria ao realizar ações. Essa identidade é diferente da identidade do principal que criou o recurso. As permissões concedidas à identidade do recurso definem quais dados e outros recursos ele pode acessar, e não as permissões do principal que criou o recurso.
Por padrão, os recursos da Vertex AI usam contas de serviço gerenciadas pela Vertex AI como uma identidade de recurso. Essas contas de serviço são chamadas de agentes de serviço da Vertex AI e são anexadas ao projeto em que o recurso é criado. Os usuários com permissões específicas da Vertex AI podem criar recursos que usam agentes de serviço da Vertex AI. Em alguns serviços, é possível especificar uma conta de serviço para anexar ao recurso. O recurso usa essa conta de serviço para acessar outros recursos e serviços. Para saber mais sobre contas de serviço, consulte contas de serviço.
A Vertex AI usa diferentes agentes de serviço dependendo das APIs que estão sendo chamadas. Cada agente de serviço tem permissões específicas do IAM no projeto a que está vinculado. Essas permissões são usadas pela identidade do recurso para realizar ações, e podem incluir acesso somente leitura a todos os recursos do Cloud Storage e dados do BigQuery no projeto.
Contas de serviço
Uma conta de serviço é um tipo especial de conta usada por um aplicativo ou instância de máquina virtual (VM), não uma pessoa. É possível criar e atribuir permissões a contas de serviço para dar permissões específicas a um recurso ou aplicativo.
Para saber como usar uma conta de serviço para personalizar as permissões disponíveis de um contêiner de treinamento personalizado ou um contêiner que disponibilize predições on-line para um modelo treinado personalizado, leia Usar uma conta de serviço personalizada para criar um anexo da VLAN de monitoramento.
As contas de serviço são identificadas por um endereço de e-mail.
Agentes de serviço
Os agentes de serviço são fornecidos automaticamente e permitem que um serviço acesse recursos em seu nome.
Quando um agente de serviço é criado, ele recebe um papel predefinido para o projeto. A tabela a seguir lista os agentes de serviço da Vertex AI, os endereços de e-mail e os respectivos papéis:
Nome | Usado para | Endereço de e-mail | Papel |
---|---|---|---|
Agente de serviço da Vertex AI | Recursos da Vertex AI | service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com |
roles/aiplatform.serviceAgent |
Agente de serviço de código personalizado da Vertex AI |
Código de treinamento personalizado Ray no código do aplicativo da Vertex AI |
service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com |
roles/aiplatform.customCodeServiceAgent |
Agente de serviço da extensão Vertex AI | Extensões do Vertex | service-PROJECT_NUMBER@gcp-sa-vertex-ex.iam.gserviceaccount.com |
roles/aiplatform.extensionServiceAgent |
Conta de serviços do AI Platform Notebooks do Cloud | Recursos do Vertex AI Workbench | service-PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com |
roles/notebooks.serviceAgent |
O Agente de serviço de código personalizado da Vertex AI será criado somente se você executar um código de treinamento personalizado para treinar um modelo personalizado.
Papéis e permissões do agente de serviço
Confira os seguintes papéis e permissões concedidos aos agentes de serviço da Vertex AI.
Papel | Permissões |
---|---|
Agente de serviço da Vertex AI( Concede à Vertex AI as permissões necessárias para funcionar. |
|
Agente de serviço de código personalizado da Vertex AI( Concede as permissões adequadas ao código personalizado da Vertex AI. |
|
Agente de serviço do AI Platform Notebooks( Concede acesso de gerenciamento de instâncias de notebooks em projetos de usuário para agentes de serviço de notebooks |
|
Conceder aos agentes de serviço da Vertex AI acesso a outros recursos
Às vezes, é preciso conceder outros papéis a um agente de serviço da Vertex AI. Por exemplo, se você precisar que a Vertex AI acesse um bucket do Cloud Storage em um projeto diferente, será necessário conceder um ou mais papéis adicionais ao agente de serviço.
Requisitos de adição de papéis do BigQuery
A tabela a seguir descreve os papéis adicionais necessários para serem adicionados ao Agente de serviços da Vertex AI para tabelas do BigQuery ou visualização em um projeto diferente ou apoiado por uma fonte de dados externa.
O termo projeto inicial refere-se ao projeto em que o conjunto de dados ou o modelo da Vertex AI está localizado. O termo projeto diferente refere-se a qualquer outro projeto.
Tipo de tabela | Projeto de tabela | Projeto de origem de dados | Adição de papel obrigatória |
---|---|---|---|
Tabela nativa do BigQuery | Projeto inicial | N/A | Nenhuma. |
Tabela nativa do BigQuery | Projeto diferente | N/A | BigQuery Data Viewer para projetos diferentes. Saiba mais. |
Visualização do BigQuery | Projeto inicial | N/A | Nenhuma. |
Visualização do BigQuery | Projeto diferente | N/A | BigQuery Data Viewer para projetos diferentes. Saiba mais. |
Fonte de dados externa do BigQuery com suporte do Bigtable | Projeto inicial | Projeto inicial | Bigtable Reader para projeto inicial. Saiba mais. |
Fonte de dados externa do BigQuery com suporte do Bigtable | Projeto inicial | Projeto diferente | Bigtable Reader para projetos diferentes. Saiba mais. |
Fonte de dados externa do BigQuery com suporte do Bigtable | Projeto diferente | Projeto diferente | BigQuery Reader e Bigtable Reader para projetos diferentes. Saiba mais. |
Fonte de dados externa do BigQuery com suporte do Cloud Storage | Projeto inicial | Projeto inicial | Nenhuma. |
Fonte de dados externa do BigQuery com suporte do Cloud Storage | Projeto inicial | Projeto diferente | Storage Object Viewer para projetos diferentes. Saiba mais. |
Fonte de dados externa do BigQuery com suporte do Cloud Storage | Projeto diferente | Projeto diferente | Storage Object Viewer e BigQuery Data Viewer para projetos diferentes. Saiba mais. |
Fonte de dados externa do BigQuery com suporte do Planilhas Google | Projeto inicial | N/A | Compartilhe o arquivo do Planilhas com a conta de serviço da Vertex AI. Saiba mais. |
Fonte de dados externa do BigQuery com suporte do Planilhas Google | Projeto diferente | N/A | BigQuery Reader para projeto diferente e compartilhe o arquivo do Planilhas com a conta de serviço da Vertex AI. |
Requisitos de adição de papéis para o Cloud Storage
Se você estiver acessando dados em um bucket do Cloud Storage em um projeto
diferente, será preciso conceder o papel Storage > Storage Object Viewer
à
Vertex AI nesse projeto. Saiba mais.
Se você estiver usando um bucket do Cloud Storage a fim de receber dados do seu
computador local para uma operação de importação e esse bucket estiver em um projeto diferente do
projeto do Google Cloud, será preciso atribuir o papel Storage > Storage Object Creator
à Vertex AI nesse projeto. Saiba mais.
Conceder à Vertex AI acesso aos recursos no projeto inicial
Para conceder outros papéis a um agente de serviços da Vertex AI no projeto inicial:
Acesse a página do IAM no Console do Google Cloud para ver o projeto inicial.
Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.
Determine o agente de serviços a que você quer conceder as permissões e clique no ícone de lápis .
É possível fazer a filtragem por Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com para encontrar os agentes de serviço da Vertex AI.
Conceda os papéis necessários à conta de serviço e salve as alterações.
Conceder à Vertex AI acesso aos recursos em um projeto diferente
Ao usar fontes de dados ou destinos em um projeto diferente, é preciso fornecer as permissões da conta de serviço da Vertex AI nesse projeto. A conta de serviço do Vertex AI é criada depois que você inicia o primeiro job assíncrono, como ao criar um endpoint, por exemplo. Também é possível criar explicitamente a conta de serviço da Vertex AI usando a CLI do gcloud seguindo estas instruções. Esse comando cria as contas de serviço padrão e de código personalizado, embora somente a conta de serviço padrão seja retornada na resposta.
Para adicionar permissões à Vertex AI em um projeto diferente:
Acesse a página do IAM no Console do Google Cloud para ver o projeto (em que você está usando o Vertex AI).
Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.
Determine o agente de serviços a que você quer conceder as permissões e copie o endereço de e-mail, listado em Principal.
É possível fazer a filtragem por Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com para encontrar os agentes de serviço da Vertex AI.
Mude os projetos para aquele em que você precisa conceder as permissões.
Clique em Adicionar e insira o endereço de e-mail em Novos principais.
Adicione todos os papéis necessários e clique em Salvar.
Conceder acesso ao Planilhas Google
Se você estiver usando uma fonte de dados externa do BigQuery com suporte do Planilhas Google, compartilhe as planilhas com a conta de serviço da Vertex AI. A conta de serviço do Vertex AI é criada depois que você inicia o primeiro job assíncrono, como ao criar um endpoint, por exemplo. Também é possível criar explicitamente a conta de serviço da Vertex AI usando a CLI gcloud seguindo esta instrução.
Para autorizar a Vertex AI a acessar o arquivo do Planilhas:
Acesse a página IAM do Console do Google Cloud.
Procure a conta de serviço com o nome
Vertex AI Service Agent
e copie o endereço de e-mail, listado em Principal.Abra o arquivo do Planilhas Google e compartilhe-o com esse endereço.
A seguir
- Saiba mais sobre o IAM.
- Saiba mais sobre permissões de IAM específicas e as operações compatíveis.
- Para saber mais sobre as maneiras recomendadas de configurar um projeto para uma equipe, consulte Configurar um projeto para uma equipe.
- Confira informações gerais da Vertex AI.