Nesta tabela, descrevemos a lista de permissões de Gerenciamento de identidade e acesso (IAM) obrigatórias para executar cada método JSON do Cloud Storage em um recurso específico. As permissões do IAM são agrupadas para criar papéis. Você pode conceder papéis a usuários e grupos.
Para outros métodos que só se aplicam a buckets com acesso uniforme no nível do bucket desativado, consulte a tabela de métodos da ACL.
Recurso | Método | Permissões de IAM obrigatórias1 |
---|---|---|
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.get storage.buckets.getIamPolicy 2 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.create storage.buckets.enableObjectRetention 3 |
Buckets |
list |
storage.buckets.list storage.buckets.getIamPolicy 2 |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5 |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
Nenhuma |
Buckets |
update |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5 |
Channels |
stop |
Nenhuma |
ManagedFolders |
delete |
storage.managedfolders.delete storage.managedfolders.setIamPolicy 10 |
ManagedFolders |
get |
storage.managedfolders.get |
ManagedFolders |
getIamPolicy |
storage.managedfolders.getIamPolicy |
ManagedFolders |
insert |
storage.managedfolders.create |
ManagedFolders |
list |
storage.managedfolders.list |
ManagedFolders |
update |
storage.managedfolders.update |
ManagedFolders |
setIamPolicy |
storage.managedfolders.setIamPolicy |
Notifications |
delete |
storage.buckets.update |
Notifications |
get |
storage.buckets.get |
Notifications |
insert |
storage.buckets.update |
Notifications |
list |
storage.buckets.get |
Objects |
bulkRestore |
storage.buckets.restore storage.objects.create storage.objects.delete 11storage.objects.restore storage.objects.setIamPolicy 6,12 |
Objects |
compose |
storage.objects.get storage.objects.create storage.objects.delete 7storage.objects.getIamPolicy 2,6storage.objects.setRetention 8 |
Objects |
copy |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.get storage.objects.getIamPolicy 2,6 |
Objects |
insert |
storage.objects.create storage.objects.delete 7storage.objects.setRetention 8 |
Objects |
list |
storage.objects.list storage.objects.getIamPolicy 2,6 |
Objects |
patch |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4,6storage.objects.setIamPolicy 5,6 |
Objects |
restore |
storage.objects.create storage.objects.delete 7storage.objects.restore storage.objects.getIamPolicy 2,6storage.objects.setIamPolicy 6,12 |
Objects |
rewrite |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
update |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4,6storage.objects.setIamPolicy 5,6 |
Objects |
watchAll |
storage.buckets.update |
Projects.hmacKeys |
create |
storage.hmacKeys.create |
Projects.hmacKeys |
delete |
storage.hmacKeys.delete |
Projects.hmacKeys |
get |
storage.hmacKeys.get |
Projects.hmacKeys |
list |
storage.hmacKeys.list |
Projects.hmacKeys |
update |
storage.hmacKeys.update |
Projects.serviceAccount |
get |
resourceManager.projects.get |
ReportConfigs |
delete |
storageinsights.reportConfigs.delete |
ReportConfigs |
get |
storageinsights.reportConfigs.get |
ReportConfigs |
list |
storageinsights.reportConfigs.list |
ReportConfigs |
insert |
storageinsights.reportConfigs.create |
ReportConfigs |
update |
storageinsights.reportConfigs.update |
ReportDetails |
get |
storageinsights.reportDetails.get |
ReportDetails |
list |
storageinsights.reportDetails.list |
1 Se você usar o parâmetro userProject
ou o
cabeçalho x-goog-user-project
na solicitação, será necessário ter
a permissão serviceusage.services.use
para o ID do projeto especificado,
além das permissões normais de IAM necessárias para fazer a
solicitação.
2 Essa permissão será obrigatória somente se você quiser incluir políticas de
IAM ou ACLs como parte de uma projeção full
. Se você não tiver
essa permissão e solicitar uma projeção full
, receberá apenas uma projeção
parcial.
3 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta enableObjectRetention
.
4 Essa permissão será obrigatória somente se você quiser incluir ACLs como parte da resposta.
5 Essa permissão será obrigatória se você quiser incluir ACLs ou alterações na configuração de prevenção de acesso público como parte da solicitação.
6 Essa permissão não se aplica a buckets com o acesso uniforme no nível do bucket ativado.
7 Essa permissão só será obrigatória se a solicitação fizer com que um objeto com o mesmo nome seja substituído.
8 Essa permissão é necessária quando o corpo da solicitação inclui a propriedade retention
ou ao fazer uma solicitação UPDATE
para um que tem uma configuração de retenção existente.
9 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta overrideUnlockedRetention=true
.
10 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta allowNonEmpty=true
.
11 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta allowOverwrite=true
e faz com que um objeto
com o mesmo nome seja substituído.
12 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta copySourceAcl=true
.
Métodos relacionados à ACL
A tabela a seguir lista as permissões de IAM necessárias para executar métodos JSON que se aplicam especificamente ao gerenciamento de ACLs. Esses métodos se aplicam somente a buckets com o acesso uniforme no nível do bucket desativado.
Recurso | Método | Permissões de IAM obrigatórias1 |
---|---|---|
BucketAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
get |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
list |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
update |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
1 Se você usar o parâmetro userProject
ou o
cabeçalho x-goog-user-project
na solicitação, será necessário ter
a permissão serviceusage.services.use
para o ID do projeto especificado,
além das permissões normais de IAM necessárias para fazer a
solicitação.
A seguir
Veja uma lista de papéis e as permissões que eles contêm em Papéis do IAM para o Cloud Storage.
Atribua papéis do IAM no nível do projeto e do bucket.