Referência do controle de acesso

O Cloud Tasks usa o Gerenciamento de Identidade e Acesso (IAM) para fazer o controle de acesso.

O controle de acesso pode ser configurado no nível do projeto e no nível da fila. Por exemplo: você pode conceder acesso com recursos limitados, como criar e adicionar tarefas a uma fila, mas não exclui-la. Como opção, é possível conceder acesso a todos os recursos do Cloud Tasks em um projeto para um grupo de desenvolvedores.

Para uma descrição detalhada do IAM e dos recursos dele, consulte a documentação do IAM. Consulte a seção Como conceder, alterar e revogar acesso de membros do projeto.

Todos os métodos do Cloud Tasks exigem as devidas permissões do autor da chamada. Veja a seguir uma lista das permissões e papéis compatíveis. As permissões de IAM do Cloud Tasks também são verificadas quando o queue.yaml/xml é atualizado ou quando o Console do Cloud é usado.

Permissões

A tabela a seguir lista as permissões que o solicitante precisa ter para chamar cada método:

Método Permissão exigida
ListQueues cloudtasks.queues.list no projeto especificado
GetQueue cloudtasks.queues.get na fila especificada
CreateQueue cloudtasks.queues.create na fila especificada
UpdateQueue cloudtasks.queues.update na fila especificada
PurgeQueue cloudtasks.queues.purge na fila especificada
DeleteQueue cloudtasks.queues.delete na fila especificada
PauseQueue cloudtasks.queues.pause na fila especificada
ResumeQueue cloudtasks.queues.resume na fila especificada
GetIamPolicy cloudtasks.queues.getIamPolicy na fila especificada
SetIamPolicy cloudtasks.queues.setIamPolicy na fila especificada
ListTasks cloudtasks.tasks.list na fila especificada
GetTask cloudtasks.tasks.get na fila especificada
CreateTask cloudtasks.tasks.create na fila especificada
DeleteTask cloudtasks.tasks.delete na fila especificada
RunTask cloudtasks.tasks.run na tarefa especificada
ListLocations cloudtasks.locations.list no projeto especificado
GetLocation cloudtasks.locations.get no projeto especificado

Papéis

Veja na tabela abaixo os papéis do IAM do Cloud Tasks com uma lista correspondente de todas as permissões que cada um deles inclui. Cada permissão se aplica a um tipo específico de recurso.

Papel Inclui as permissões:
roles/cloudtasks.admin cloudtasks.locations.list
cloudtasks.locations.get

cloudtasks.queues.list
cloudtasks.queues.get
cloudtasks.queues.create
cloudtasks.queues.update
cloudtasks.queues.purge
cloudtasks.queues.delete
cloudtasks.queues.pause
cloudtasks.queues.resume
cloudtasks.queues.getIamPolicy
cloudtasks.queues.setIamPolicy

cloudtasks.tasks.list
cloudtasks.tasks.get
cloudtasks.tasks.create
cloudtasks.tasks.delete
cloudtasks.tasks.run
cloudtasks.tasks.fullView

resourcemanager.projects.get
resourcemanager.projects.list
roles/cloudtasks.queueAdmin cloudtasks.locations.list
cloudtasks.locations.get

cloudtasks.queues.list
cloudtasks.queues.get
cloudtasks.queues.create
cloudtasks.queues.update
cloudtasks.queues.purge
cloudtasks.queues.delete
cloudtasks.queues.pause
cloudtasks.queues.resume
cloudtasks.queues.getIamPolicy
cloudtasks.queues.setIamPolicy

resourcemanager.projects.get
resourcemanager.projects.list
roles/cloudtasks.viewer cloudtasks.locations.list
cloudtasks.locations.get

cloudtasks.queues.list
cloudtasks.queues.get

cloudtasks.tasks.list
cloudtasks.tasks.get
cloudtasks.tasks.fullView

resourcemanager.projects.get
resourcemanager.projects.list
roles/cloudtasks.enqueuer cloudtasks.tasks.create
cloudtasks.tasks.fullView

resourcemanager.projects.get
resourcemanager.projects.list
roles/cloudtasks.taskRunner cloudtasks.tasks.run
cloudtasks.tasks.fullView

resourcemanager.projects.get
resourcemanager.projects.list
roles/cloudtasks.taskDeleter cloudtasks.tasks.delete

resourcemanager.projects.get
resourcemanager.projects.list