Controle de acesso

O AI Platform gerencia o acesso aos recursos com o gerenciamento de identidade e acesso (IAM, na sigla em inglês). Para conceder acesso a um recurso, atribua um ou mais papéis a um usuário, um grupo ou uma conta de serviço.

Há três tipos de papéis do IAM que podem ser usados no AI Platform:

  • Os papéis primários (proprietário, leitor e editor) são comuns a todos os serviços do GCP.

  • Os papéis predefinidos do AI Platform fornecem um controle de acesso refinado para os recursos dessa plataforma no nível do modelo e para envolvidos no projeto.

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

Este guia se concentra em papéis predefinidos do AI Platform, o uso típico deles e as permissões associadas.

Papéis primários

Os papéis legados de IAM do AI Platform são baseados nos papéis primitivos, comuns a todos os serviços do GCP: proprietário, visualizador e editor.

O papel legado de editor do projeto é equivalente ao papel de administrador do AI Platform.

O papel legado de leitor do projeto concede as mesmas permissões que o papel de visualizador da AI Platform, além do acesso para enviar solicitações de previsão on-line. A vantagem de usar esse papel é que o usuário consegue acesso somente de leitura aos recursos do AI Platform.

Papéis predefinidos

Os papéis predefinidos concedem um grupo de permissões relacionadas. O AI Platform oferece papéis predefinidos não só para o projeto, mas também para modelos, jobs e operações individuais.

Para a lista de permissões completa, clique no nome do papel.

Papéis do projeto

Os papéis de administrador, desenvolvedor e visualizador do AI Platform concedem níveis variados de acesso a recursos para envolvidos no projeto.

Para adicionar, atualizar ou remover esses papéis do projeto do AI Platform, consulte a documentação sobre como conceder, alterar e revogar acesso aos membros da equipe.

Título do papel Nome do papel Recursos
Administrador do AI Platform

roles/ml.admin

Controle total do projeto do AI Platform e os jobs, operações, modelos e versões dele.

Observação: o papel primário Editor de projeto equivale a roles/ml.admin.

Desenvolvedor do AI Platform

roles/ml.developer

Acesso para criar jobs, modelos e versões de treinamento e predição, e para enviar solicitações de predição on-line.

Leitor do AI Platform

roles/ml.viewer

Acesso somente leitura dos recursos do AI Platform.

Papéis de modelo

Os papéis de proprietário e usuário do modelo do AI Platform concedem permissões variáveis a um recurso de modelo específico.

Compartilhe modelos com indivíduos ou serviços concedendo a eles o papel de usuário do modelo.

Título do papel Nome do papel Recursos
Proprietário do modelo do AI Platform

roles/ml.modelOwner

Acesso total ao modelo e às respectivas versões. Este papel é concedido automaticamente ao usuário que cria o modelo.

Usuário do modelo do AI Platform

roles/ml.modelUser

Permissões para ler o modelo e as respectivas versões, além de usá-los para predição. A concessão deste papel facilita o compartilhamento de modelos específicos.

Papéis de job e de operação

Assim como o papel de proprietário do modelo, há papéis de proprietário no nível de recursos de job e de operação que são atribuídos automaticamente ao usuário que cria o job ou a operação. Com esses papéis, os usuários têm o controle total de qualquer job ou operação que criarem. Para mais informações, consulte as permissões para papéis de job e de operação.

Permissões e papéis

Consulte esta seção para ver uma lista completa de permissões concedidas com cada papel predefinido do AI Platform. Se esses papéis predefinidos não atenderem às suas necessidades, use esta seção como referência para criar seus próprios papéis personalizados.

Papel de administrador

Nome do papel Descrição Permissões
roles/ml.admin Administrador do AI Platform

Acesso total ao projeto do AI Platform e os respectivos jobs, operações, modelos e versões.

Observação: é bem simples migrar para este papel a partir do papel primário de editor do projeto. Se já usou o papel primário de editor para envolvidos no projeto, utilize o papel roles/ml.admin para atribuir o mesmo conjunto de permissões ao usuário.

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.create
  • ml.jobs.list
  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.jobs.setIamPolicy
  • ml.jobs.cancel
  • ml.operations.list
  • ml.operations.get
  • ml.operations.cancel
  • ml.models.create
  • ml.models.list
  • ml.models.get
  • ml.models.setIamPolicy
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.models.delete
  • ml.models.update
  • ml.versions.create
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict
  • ml.versions.delete

Papel de desenvolvedor

Nome do papel Descrição Permissões
roles/ml.developer

Acesso que permite criar jobs de treinamento e predição, modelos e versões, além de enviar solicitações de predição on-line.

Observação: como a criação de um job automaticamente concede o papel de proprietário do job da AI Platform ao seu desenvolvedor, ele recebe as permissões ml.jobs.cancel e ml.jobs.update em todos os jobs que cria.

Recomendação: conceda ao desenvolvedor acesso somente leitura aos registros da AI Platform para solucionar problemas.

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.create
  • ml.jobs.list
  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.operations.list
  • ml.operations.get
  • ml.models.create
  • ml.models.list
  • ml.models.get
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict

Papel de visualizador

Nome do papel Descrição Permissões
roles/ml.viewer

Acesso somente leitura aos recursos do AI Platform em um projeto específico.

Observação: o papel legado de leitor do projeto concede ao usuário as mesmas permissões que o papel de roles/ml.viewer, além de acesso para enviar solicitações de predição on-line.

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.list
  • ml.jobs.get
  • ml.operations.list
  • ml.operations.get
  • ml.models.list
  • ml.models.get
  • ml.versions.list
  • ml.versions.get

Papel de proprietário do modelo

Nome do papel Descrição Permissões
roles/ml.modelOwner Acesso total ao modelo e às respectivas versões. Este papel é concedido automaticamente ao usuário que cria o modelo.
  • ml.models.get
  • ml.models.setIamPolicy
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.models.delete
  • ml.models.update
  • ml.versions.create
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict
  • ml.versions.delete

Papel de usuário do modelo

Nome do papel Descrição Permissões
roles/ml.modelUser Permissões para ler o modelo e as respectivas versões e usá-los para predição.
  • ml.models.get
  • ml.models.predict
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict

Papel de proprietário do job

Nome do papel Descrição Permissões
roles/ml.jobOwner

Acesso total a todas as permissões para um determinado recurso de job. Esse papel é concedido automaticamente ao usuário que cria o job.

Por exemplo, um usuário que tenha o papel desenvolvedor do AI Platform em um projeto pode criar, listar e conseguir todos os jobs em um determinado projeto. Ele tem permissão para cancelar apenas os jobs criados por ele.

  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.jobs.cancel

Papel de proprietário de operação

Nome do papel Descrição Permissões
roles/ml.operationOwner

Acesso total a todas as permissões para um determinado recurso de operação. Este papel é concedido ao usuário automaticamente em todas as operações que ele criar indiretamente durante a criação de uma versão ou um modelo, para que o usuário possa sempre ver e cancelar as próprias operações.

  • ml.operations.get
  • ml.operations.cancel

Permissões necessárias para treinamento e predição

Para facilitar, esta tabela resume as permissões que são necessárias especificamente para treinamento e predição:

Tarefa Permissões necessárias
Treinamento
  • ml.jobs.create
Predição em lote
  • ml.jobs.create
  • ml.models.predict*
  • ml.versions.predict*

Observação: é possível criar um job de predição em lote sem uma versão implantada. Basta especificar a localização de um modelo salvo no Google Cloud Storage. Esse tipo de job de predição em lote exige apenas a permissão ml.jobs.create.

Para criar um job de predição em lote que use uma versão implantada, também será necessário usar ml.models.predict ou ml.versions.predict, mas não ambas.

Predição on-line
  • ml.models.predict
  • ml.versions.predict

Permissões necessárias para métodos

Para facilitar, nesta seção, há uma lista das permissões necessárias para chamar cada método no AI Platform:

Método Permissões necessárias
projects.getConfig ml.projects.getConfig
projects.jobs.cancel ml.jobs.cancel
projects.jobs.create ml.jobs.create

Observação: para criar um job de predição em lote que use uma versão implantada, será necessário utilizar ml.models.predict ou ml.versions.predict, mas não ambas.

projects.jobs.get ml.jobs.get
projects.jobs.list ml.jobs.list
projects.models.create ml.models.create
projects.models.delete ml.models.delete
projects.models.get ml.models.get
projects.models.list ml.models.list
projects.models.versions.create ml.versions.create
projects.models.versions.delete ml.versions.delete
projects.models.versions.get ml.versions.get
projects.models.versions.list ml.versions.list
projects.models.versions.setDefault ml.models.update
projects.operations.cancel ml.operations.cancel
operations.delete ml.operations.delete
projects.operations.get ml.operations.get
projects.operations.list ml.operations.list

Permissões necessárias para armazenamento

Ao implantar o modelo treinado no AI Platform para conseguir previsões, faça upload dos arquivos modelo salvos no Cloud Storage. Dentro do intervalo do Cloud Storage, os arquivos modelo são objetos. Certifique-se de que a conta de serviço do AI Platform consegue acessar os arquivos do modelo treinado no intervalo do Cloud Storage.

Conceda à conta de serviço do AI Platform um papel de IAM do Cloud Storage que inclua, pelo menos, as seguintes permissões:

Tarefa Permissões necessárias Explicação
Predição storage.buckets.list Permite que o projeto do AI Platform localize arquivos modelo no intervalo do Cloud Storage.
Predição storage.objects.get Permite que o projeto do AI Platform leia os arquivos modelo no seu intervalo do Cloud Storage.

Veja como configurar as permissões do Cloud Storage para o AI Platform.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

AI Platform para TensorFlow