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 necessária |
---|---|
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 |