A tabela seguinte apresenta as autorizações da gestão de identidade e acesso (IAM) necessárias para executar cada método JSON do Cloud Storage num determinado recurso. As autorizações de IAM são agrupadas para criar funções. Concede funções a utilizadores e grupos.
Para métodos adicionais que se aplicam apenas a contentores com o acesso uniforme ao nível do contentor desativado, consulte a tabela de métodos de LCA.
| Recurso | Método | Autorizações de IAM necessárias1 |
|---|---|---|
AnywhereCache |
create |
storage.anywhereCaches.create |
AnywhereCache |
disable |
storage.anywhereCaches.disable |
AnywhereCache |
get |
storage.anywhereCaches.get |
AnywhereCache |
list |
storage.anywhereCaches.list |
AnywhereCache |
pause |
storage.anywhereCaches.pause |
AnywhereCache |
resume |
storage.anywhereCaches.resume |
AnywhereCache |
update |
storage.anywhereCaches.update |
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.getstorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.get18 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.createstorage.buckets.enableObjectRetention3storage.buckets.setIpFilter14 |
Buckets |
list |
storage.buckets.liststorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.list |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13 |
Buckets |
relocate |
storage.buckets.relocate |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
Nenhum |
Buckets |
update |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13storage.anywhereCaches.update |
DatasetConfigs |
delete |
storageinsights.datasetConfigs.delete |
DatasetConfigs |
get |
storageinsights.datasetConfigs.get |
DatasetConfigs |
insert |
storageinsights.datasetConfigs.create |
DatasetConfigs |
list |
storageinsights.datasetConfigs.list |
DatasetConfigs |
linkDataset |
storageinsights.datasetConfigs.linkDataset |
DatasetConfigs |
unlinkDataset |
storageinsights.datasetConfigs.unlinkDataset |
DatasetConfigs |
patch |
storageinsights.datasetConfigs.update |
Channels |
stop |
Nenhum |
Folders |
get |
storage.folders.get |
Folders |
insert |
storage.folders.create |
Folders |
list |
storage.folders.list |
Folders |
rename |
storage.folders.renamestorage.folders.create |
Folders |
delete |
storage.folders.delete |
IntelligenceConfig |
getIntelligenceConfig |
storage.intelligenceConfigs.get |
IntelligenceConfig |
updateIntelligenceConfig |
storage.intelligenceConfigs.update |
Jobs |
create |
storagebatchoperations.jobs.create |
Jobs |
get |
storagebatchoperations.jobs.getstoragebatchoperations.operations.get |
Jobs |
list |
storagebatchoperations.jobs.liststoragebatchoperations.operations.list |
Jobs |
cancel |
storagebatchoperations.jobs.cancelstoragebatchoperations.operations.cancel |
Jobs |
delete |
storagebatchoperations.jobs.delete |
ManagedFolders |
delete |
storage.managedfolders.deletestorage.managedfolders.setIamPolicy10 |
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.restorestorage.objects.createstorage.objects.delete11storage.objects.restorestorage.objects.setIamPolicy6,12 |
Objects |
compose |
storage.objects.getstorage.objects.createstorage.objects.delete7storage.objects.getIamPolicy2,6storage.objects.setRetention8storage.objects.createContext19 |
Objects |
copy |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.getstorage.objects.getIamPolicy2,6 |
Objects |
insert |
storage.objects.createstorage.objects.delete7storage.objects.setRetention8storage.objects.createContext19 |
Objects |
list |
storage.objects.liststorage.objects.getIamPolicy2,6 |
Objects |
move |
storage.objects.move15storage.objects.delete15storage.objects.get15storage.objects.createstorage.objects.delete16storage.folders.create17 |
Objects |
patch |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
Objects |
restore |
storage.objects.createstorage.objects.delete7storage.objects.restorestorage.objects.getIamPolicy2,6storage.objects.setIamPolicy6,12 |
Objects |
rewrite |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
update |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
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 usar o parâmetro userProject ou o cabeçalho
x-goog-user-project no seu pedido, tem de ter a autorização
serviceusage.services.use para o ID do projeto que especificar, além das autorizações de IAM normais necessárias para fazer o pedido.
2 Esta autorização só é necessária se quiser incluir ACLs ou políticas de IAM como parte de uma projeção full. Se não tiver esta autorização e pedir uma projeção full, recebe apenas uma projeção parcial.
3 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta enableObjectRetention.
4 Esta autorização só é necessária se quiser incluir LCAs como parte da resposta.
5 Esta autorização é necessária se quiser incluir LCAs ou alterações à definição de prevenção de acesso público como parte do pedido.
6 Esta autorização não se aplica a contentores com o acesso uniforme ao nível do contentor ativado.
7 Esta autorização só é necessária se o pedido fizer com que um objeto com o mesmo nome seja substituído.
8 Esta autorização é necessária quando o corpo do pedido inclui a propriedade retention ou quando faz um pedido UPDATE para um objeto que tenha uma configuração de retenção existente.
9 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta overrideUnlockedRetention=true.
10 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta allowNonEmpty=true.
11 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta allowOverwrite=true e o pedido faz com que um objeto com o mesmo nome seja substituído.
12 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta copySourceAcl=true.
13 Esta autorização só é necessária se quiser incluir regras de filtragem de IP do contentor como parte do pedido Buckets: get. Se não tiver esta autorização, recebe apenas uma projeção parcial.
14 Esta autorização só é necessária se quiser criar, listar, eliminar e atualizar regras de filtragem de IP de contentores.
15 Para mover um objeto num contentor com o espaço de nomes hierárquico ativado, precisa das autorizações storage.objects.delete e storage.objects.get ou da autorização storage.objects.move se quiser movê-lo sem conceder acesso de leitura ou eliminação ao objeto.
16 Esta autorização só é necessária se quiser substituir um objeto.
17 Esta autorização só é necessária se quiser criar automaticamente as pastas superiores em falta.
18 Esta autorização só é necessária se quiser devolver caches criadas com a Anywhere Cache.
19 Esta autorização só é necessária se o pedido incluir a propriedade destination.contexts.custom não vazia para compor um objeto ou a propriedade contexts.custom não vazia para copiar, inserir ou reescrever um objeto.
20 Esta autorização só é necessária se quiser adicionar contextos a um objeto.
21 Esta autorização só é necessária se quiser atualizar os contextos de um objeto.
22 Esta autorização só é necessária se quiser eliminar contextos de um objeto.
Métodos relacionados com a LCA
A tabela seguinte lista as autorizações de IAM necessárias para executar métodos JSON que se aplicam especificamente à gestão de ACLs. Estes métodos aplicam-se apenas a contentores que tenham o acesso uniforme ao nível do contentor desativado.
| Recurso | Método | Autorizações de IAM necessárias1 |
|---|---|---|
BucketAccessControls |
delete |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
get |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
list |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
update |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
1 Se usar o parâmetro userProject ou o cabeçalho x-goog-user-project no seu pedido, tem de ter a autorização serviceusage.services.use para o ID do projeto que especificar, além das autorizações de IAM normais necessárias para fazer o pedido.
O que se segue?
Para ver uma lista das funções e das autorizações que contêm, consulte o artigo Funções de IAM para o Cloud Storage.
Atribua funções do IAM ao nível do projeto e do contentor.