Controle de acesso com o IAM

O AI Platform Prediction usa o gerenciamento de identidade e acesso (IAM) para gerenciar o acesso aos recursos. 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 de IAM que podem ser usados no AI Platform Prediction:

  • Os papéis básicos (proprietário, leitor e editor) são comuns a todos os serviços do Google Cloud.

  • Os papéis predefinidos do AI Platform Prediction fornecem um controle de acesso refinado para os recursos dessa plataforma nos níveis de modelo e 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.

Neste guia, abordamos os papéis predefinidos do AI Platform Prediction, seu uso típico e as permissões associadas.

Neste guia, você verá os papéis e as permissões necessários para acessar os recursos do AI Platform Prediction. Para saber mais sobre as permissões que esses recursos têm para acessar outros recursos do Google Cloud, leia sobre o agente de serviço do AI Platform e as contas de serviço personalizadas.

Papéis básicos

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

O papel Editor do projeto legado é equivalente ao papel Administrador do AI Platform Prediction.

O papel Leitor do projeto legado concede as mesmas permissões que o papel Leitor do AI Platform Prediction, além do acesso ao envio de solicitações de previsão on-line. A vantagem de usar o papel Leitor do AI Platform Prediction é que o usuário tem acesso somente leitura aos recursos do AI Platform Prediction.

Papéis predefinidos

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

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

Papéis do projeto

Os papéis Administrador, Desenvolvedor e Leitor do AI Platform Prediction concedem níveis variados de acesso aos recursos no nível do projeto.

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

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

roles/ml.admin

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

Observação: o papel básico Editor do projeto equivale a roles/ml.admin.

Desenvolvedor do AI Platform Prediction

roles/ml.developer

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

Leitor do AI Platform Prediction

roles/ml.viewer

Acesso somente leitura aos recursos do AI Platform Prediction.

Papéis do modelo

Os papéis Proprietário do modelo e Usuário do modelo do AI Platform Prediction 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 Prediction

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 Prediction

roles/ml.modelUser

Permissões para ler o modelo e as respectivas versões e 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 sobre qualquer job ou operação que criarem. Para mais informações, consulte as permissões dos papéis relacionados a jobs e operações.

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

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

Observação: é bem simples migrar para este papel a partir do papel básico Editor do projeto. Se você já usou o papel básico Editor atribuído no nível do projeto, é possível utilizar o papel roles/ml.admin para conceder exatamente 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 e enviar solicitações de predição on-line.

Observação: um desenvolvedor recebe as permissões ml.jobs.cancel e ml.jobs.update em todos os jobs criados, porque a criação de um job concede automaticamente o papel Proprietário do job do AI Platform Prediction.

Recomendação: conceda ao desenvolvedor acesso somente leitura aos registros do AI Platform Prediction para fins de solução de 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 Leitor

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

Acesso somente leitura aos recursos do AI Platform Prediction 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 roles/ml.viewer, além do acesso para enviar solicitações de previsã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 versões dele. 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 tem o papel Desenvolvedor do AI Platform Prediction em um projeto pode criar jobs, listar todos os jobs e acessar todos eles 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 previsão

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

Tarefa Permissão exigida
Previsão em lote
  • ml.jobs.create
  • ml.models.predict*
  • ml.versions.predict*

Observação: para criar um job de previsão em lote sem uma versão implantada, especifique o local de um modelo salvo no Cloud Storage. Esse tipo de job de previsão em lote requer apenas a permissão ml.jobs.create.

Para criar um job de previsão em lote que use uma versão implantada, você também precisará de ml.models.predict ou ml.versions.predict, mas não de ambos.

Previsão on-line
  • ml.models.predict
  • ml.versions.predict

Permissões necessárias para cada método

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

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, você também precisará de ml.models.predict ou ml.versions.predict, mas não de ambos.

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
projects.operations.get ml.operations.get
projects.operations.list ml.operations.list

Permissões exigidas para armazenamento

Ao implantar seu modelo treinado no AI Platform Prediction para fazer previsões, você faz upload dos arquivos de modelo salvos no Cloud Storage. Dentro do bucket do Cloud Storage, os arquivos de modelo são objetos. Certifique-se de que sua conta de serviço do AI Platform Prediction possa acessar os arquivos de seu modelo treinado no bucket do Cloud Storage.

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

Permissão exigida Explicação
storage.buckets.list Permite que seu projeto do AI Platform Prediction encontre arquivos de modelo em seu bucket do Cloud Storage.
storage.objects.get Permite que o projeto do AI Platform Prediction leia os arquivos de modelo no bucket do Cloud Storage.

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

A seguir