Esta página descreve como controlar o acesso a buckets, pastas gerenciadas e objetos por meio das permissões Identity and Access Management (IAM). Com o IAM, você controla quem tem acesso aos buckets, pastas gerenciadas e objetos.
Para conhecer outras maneiras de controlar o acesso a buckets, pastas gerenciadas e objetos, confira Visão geral do controle de acesso. Para saber mais sobre como controlar o acesso a objetos individuais dentro de buckets, consulte Listas de controle de acesso.
Usar o IAM com buckets
As seções a seguir mostram como completar tarefas de IAM básicas em buckets.
Funções exigidas
Para receber as permissões necessárias a fim de definir e gerenciar as políticas do IAM
de um bucket, peça ao administrador para conceder a você o papel do IAM de Administrador do Storage
(roles/storage.admin
) no bucket.
Esse papel contém as seguintes permissões, que são necessárias para definir e gerenciar políticas do IAM em buckets:
storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
storage.buckets.list
- Essa permissão só é necessária ao usar o console do Google Cloud para executar a tarefa nesta página.
Também é possível receber essas permissões com funções personalizadas.
Como adicionar um Principal a uma política no nível do bucket
Para ver a lista de papéis associados ao Cloud Storage, consulte Papéis do IAM. Para informações sobre entidades às quais você concede papéis do IAM, consulte Identificadores de principais.
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket para o qual você quer conceder um papel a um principal.
Selecione a guia Permissões na parte superior da página.
Clique no botão add_boxPermitir acesso.
A caixa de diálogo Adicionar participantes é exibida.
No campo Novos principais, insira uma ou mais identidades que precisam acessar seu bucket.
Escolha um papel ou mais no menu suspenso Selecionar um papel. Os papéis selecionados são exibidos no painel com uma breve descrição das permissões que eles concedem.
Clique em Save.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console do Google Cloud, consulte Solução de problemas.
Linha de comando
Use o comando buckets add-iam-policy-binding
:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Em que:
BUCKET_NAME
é o nome do bucket ao qual você concede acesso principal. Por exemplo,my-bucket
.PRINCIPAL_IDENTIFIER
identifica para quem você está concedendo acesso ao bucket. Por exemplo,user:jane@gmail.com
. Para ver uma lista de formatos de identificadores de principais, consulte Identificadores de principais.IAM_ROLE
é o papel do IAM que você concede à principal. Por exemplo,roles/storage.objectViewer
.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Crie um arquivo JSON com as informações a seguir:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Em que:
IAM_ROLE
é o papel do IAM que você concede. Por exemplo,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica para quem você está concedendo acesso ao bucket. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores de principais, consulte Identificadores de principais.
Use
cURL
para chamar a API JSON com uma solicitaçãoPUT setIamPolicy
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo criado na Etapa 2.OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket ao qual você quer conceder o acesso principal. Por exemplo,my-bucket
.
Ver a política de IAM de um bucket
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele que contém a política que você quer visualizar.
Na página Detalhes do bucket, clique na guia Permissões.
A política do IAM que se aplica ao bucket aparece na seção Permissões.
(Opcional) Use a barra Filtro para filtrar os resultados.
Se você pesquisar por principal, os resultados exibirão todos os papéis concedidos pelo principal.
Linha de comando
Use o comando buckets get-iam-policy
:
gcloud storage buckets get-iam-policy gs://BUCKET_NAME
Em que BUCKET_NAME
é o nome do bucket
em que está a política de IAM que você quer visualizar. Por exemplo, my-bucket
.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use
cURL
para chamar a API JSON com uma solicitaçãoGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.BUCKET_NAME
é o nome do bucket da política de IAM que você quer visualizar. Por exemplo,my-bucket
.
Remover um membro de uma política no nível do bucket
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele de que contém um papel do principal que você quer remover.
Na página Detalhes do bucket, clique na guia Permissões.
A política do IAM que se aplica ao bucket aparece na seção Permissões.
Na guia Visualizar por principais, marque a caixa de seleção do principal que você está removendo.
Clique no botão - Remover acesso.
Na janela de sobreposição exibida, clique em Confirmar.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console do Google Cloud, consulte Solução de problemas.
Linha de comando
Use o comando buckets remove-iam-policy-binding
:
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Em que:
BUCKET_NAME
é o nome do bucket que você está revogando o acesso. Por exemplo,my-bucket
.PRINCIPAL_IDENTIFIER
identifica de quem você está revogando o acesso. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores de principais, consulte Identificadores de principais.IAM_ROLE
é o papel do IAM que você está revogando. Por exemplo,roles/storage.objectViewer
.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Receba a política atual aplicada ao bucket. Para fazer isso, use
cURL
para chamar a API JSON com uma solicitaçãoGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.BUCKET_NAME
é o nome do bucket da política de IAM que você quer visualizar. Por exemplo,my-bucket
.
Crie um arquivo JSON com a política que você recuperou na etapa anterior.
Edite o arquivo JSON para remover o principal da política.
Use
cURL
para chamar a API JSON com uma solicitaçãoPUT setIamPolicy
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo criado na Etapa 3.OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket a partir do qual você quer remover o acesso. Por exemplo,my-bucket
.
Usar condições de IAM em buckets
As seções a seguir mostram como adicionar e remover Condições de IAM nos seus buckets. Para ver as condições de IAM de seu bucket, consulte Como visualizar a política de IAM de um bucket. Para mais informações sobre como usar as condições do IAM com o Cloud Storage, consulte Condições.
Você precisa ativar o acesso uniforme no nível do bucket no bucket antes de adicionar condições.
Definir uma nova condição em um bucket
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele em que você quer adicionar uma nova condição.
Na página Detalhes do bucket, clique na guia Permissões.
A política do IAM que se aplica ao bucket aparece na seção Permissões.
Clique em + Conceder acesso.
Em Novos principais, preencha os principais para os quais você quer conceder acesso ao seu bucket.
Para cada papel onde quer aplicar uma condição:
Selecione um Papel para conceder os membros.
Clique em Adicionar condição para abrir o formulário Editar condição.
Preencha o Título da condição. O campo Descrição é opcional.
Use Criador de condições para construir sua condição visual ou use a guia Editor de condições para inserir a expressão CEL.
Clique em Salvar para retornar ao formulário Adicionar principal. Para adicionar mais papéis, clique em Adicionar outro papel.
Clique em Save.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console do Google Cloud, consulte Solução de problemas.
Linha de comando
Crie um arquivo JSON ou YAML que defina a condição, incluindo o
title
da condição, a lógica baseada em atributoexpression
da condição e, opcionalmente, umdescription
para a condição.O Cloud Storage só é compatível com a data/hora, tipo de recurso e nome do recurso atribuídos no
expression
.Use o comando
buckets add-iam-policy-binding
com a flag--condition-from-file
:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
Em que:
BUCKET_NAME
é o nome do bucket ao qual você concede acesso principal. Por exemplo,my-bucket
.PRINCIPAL_IDENTIFIER
identifica a quem a condição se aplica. Por exemplo,user:jane@gmail.com
. Para ver uma lista de formatos de identificadores de principais, consulte Identificadores de principais.IAM_ROLE
é o papel do IAM que você concede à principal. Por exemplo,roles/storage.objectViewer
.CONDITION_FILE
é o arquivo criado na etapa anterior.
Como alternativa, é possível incluir a condição diretamente no comando
com a flag --condition
em vez da flag --condition-from-file
.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use uma solicitação
GET getIamPolicy
para salvar a política de IAM do bucket em um arquivo JSON temporário:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.
Edite o arquivo
tmp-policy.json
em um editor de texto para adicionar novas condições às vinculações na política do IAM:{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }
Em que:
VERSION
é a versão da política do IAM, que precisa ser três para buckets com condições do IAM.IAM_ROLE
é o papel ao qual a condição se aplica. Por exemplo,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica a quem a condição se aplica. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores de principais, consulte Identificadores de principais.TITLE
é o título da condição. Por exemplo,expires in 2019
.DESCRIPTION
é uma descrição opcional da condição. Por exemplo,Permission revoked on New Year's
.EXPRESSION
é uma expressão lógica com base em atributos. Por exemplo,request.time < timestamp(\"2019-01-01T00:00:00Z\")
. Para ver mais exemplos de expressões, consulte a referência do atributo Condições. O Cloud Storage é compatível apenas com os atributos data/hora, tipo de recurso e nome do recurso.
Não modifique
ETAG
.Use uma solicitação
PUT setIamPolicy
para definir a política de IAM modificada no bucket:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.
Remover uma condição de um bucket
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele que contém uma condição que você quer remover.
Na página Detalhes do bucket, clique na guia Permissões.
A política do IAM que se aplica ao bucket aparece na seção Permissões.
Clique no ícone Editar (edit) do principal associado à condição.
Na sobreposição Editar acesso que é exibida, clique no nome da condição que você quer excluir.
Na sobreposição Editar condições exibida, clique em Excluir e, em seguida, Confirmar.
Clique em Save.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console do Google Cloud, consulte Solução de problemas.
Linha de comando
Use o comando
buckets get-iam-policy
para salvar a política de IAM do bucket em um arquivo JSON temporário.gcloud storage buckets get-iam-policy gs://BUCKET_NAME > tmp-policy.json
Edite o arquivo
tmp-policy.json
em um editor de texto para remover condições da política de IAM.Use
buckets set-iam-policy
para definir a política de IAM modificada no bucket.gcloud storage buckets set-iam-policy gs://BUCKET_NAME tmp-policy.json
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use uma solicitação
GET getIamPolicy
para salvar a política de IAM do bucket em um arquivo JSON temporário:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
Em que:
BUCKET_NAME
é o nome do bucket ao qual você está concedendo acesso. Por exemplo,my-bucket
.OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.
Edite o arquivo
tmp-policy.json
em um editor de texto para remover condições da política de IAM.Use uma solicitação
PUT setIamPolicy
para definir a política de IAM modificada no bucket:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.BUCKET_NAME
é o nome do bucket no qual está a política do IAM que você quer modificar. Por exemplo,my-bucket
.
Use o IAM com pastas gerenciadas
As seções a seguir mostram como concluir tarefas básicas do IAM em pastas gerenciadas.
Funções exigidas
Para receber as permissões necessárias para definir e gerenciar políticas do IAM
para pastas gerenciadas, peça ao administrador
que conceda a você o papel de proprietário do bucket legado do Storage (roles/storage.legacyBucketOwner
) do IAM
para o bucket que contém as pastas gerenciadas.
Esse papel contém as permissões necessárias para definir e gerenciar políticas do IAM para pastas gerenciadas:
storage.managedfolders.getIamPolicy
storage.managedfolders.setIamPolicy
Também é possível receber essas permissões com funções personalizadas.
Para informações sobre como conceder papéis para buckets, consulte Usar o IAM com buckets.
Defina uma política do IAM em uma pasta gerenciada
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém a pasta gerenciada em que você quer definir uma política do IAM.
Na página Detalhes do bucket, clique no ícone Mais opções
no painel Navegador de pastas ao lado das pasta gerenciada em que você quer definir uma política do IAM.Se a pasta que você quer controlar o acesso for simulada, siga as etapas em Criar uma pasta gerenciada para primeiro converter a pasta simulada em uma gerenciada.
Clique em Editar acesso.
No painel Permissões
MANAGED_FOLDER_NAME
, clique em Adicionar principal .No campo Novos principais, insira a principal a que você quer conceder acesso. Para mais informações sobre os principais que podem ser incluídos, consulte a visão geral do IAM.
Na seção Atribuir papéis, use o menu suspenso Selecionar um papel para especificar o nível de acesso que você quer conceder ao principal.
Clique em Salvar.
Linha de comando
Crie um arquivo JSON com as informações a seguir:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Em que:
IAM_ROLE
é o papel do IAM que você concede. Por exemplo,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica para quem você está concedendo acesso à pasta gerenciada. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores de principais, consulte Identificadores de principais.
Use o comando
gcloud storage managed-folders set-iam-policy
(em inglês).gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME POLICY_FILE
Em que:
BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você quer aplicar a política do IAM. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada que você quer aplicar a política do IAM. Por exemplo,my-managed-folder/
.POLICY_FILE
é o caminho para o arquivo JSON que você criou na etapa 1.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Crie um arquivo JSON com as informações a seguir:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Em que:
IAM_ROLE
é o papel do IAM que você concede. Por exemplo,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica para quem você está concedendo acesso à pasta gerenciada. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores de principais, confira Identificadores de principais.
Use
cURL
para chamar a API JSON com uma solicitaçãoPUT setIamPolicy
:curl -X PUT --data-binary @POLICY_FILE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Em que:
POLICY_FILE
é o caminho para o arquivo de política JSON criado na Etapa 2.OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você quer aplicar a política do IAM. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada que você quer conceder acesso principal. Por exemplo,my-managed-folder/
.
Confira a política do IAM para uma pasta gerenciada
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém a pasta gerenciada para as quais você quer visualizar as políticas do IAM.
Na página Detalhes do bucket, clique no ícone Mais opções
no painel Navegador de pastas ao lado das pasta gerenciada em que você quer visualizar a política do IAM.Clique em Editar acesso.
O painel Permissões para FOLDER_NAME
exibe as
permissões na pasta gerenciada, incluindo o principal,
o papel, os papéis herdados e as condições do IAM.
Linha de comando
Use o comando gcloud storage managed-folder get-iam-policy
(em inglês).
gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME
Em que:
BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada com a política do IAM que você quer visualizar. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada com a política do IAM que você quer visualizar. Por exemplo,my-managed-folder/
.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use
cURL
para chamar a API JSON com uma solicitaçãoGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada com a política do IAM que você quer visualizar. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada com a política do IAM que você quer visualizar. Por exemplo,my-managed-folder/
.
Remova uma principal de uma política de pasta gerenciada
Não é possível remover principais de políticas de IAM herdadas
seguindo as etapas a seguir. Para remover um principal de uma política herdada, identifique o recurso que tem a política e remova o principal do recurso. Por exemplo, um principal pode ter o papel Usuário do objeto do Storage
(roles/storage.objectUser
) no bucket que contém a pasta
gerenciada. Para remover o principal, é necessário
removê-lo da política no nível do bucket.
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém a pasta gerenciada para as quais você quer visualizar as políticas do IAM.
Na página Detalhes do bucket, clique no ícone Mais opções
no painel Navegador de pastas ao lado das pasta gerenciada em que você quer remover um principal.Clique em Editar acesso.
No painel Permissões para
FOLDER_NAME
, insira o nome do principal no campo Filtro.Clique no ícone de exclusão
para excluir o relatório.
O Cloud Storage exclui o principal da sua pasta gerenciada.
Linha de comando
Use o comando gcloud storage managed-folder remove-iam-policy-binding
(em inglês).
gcloud storage managed-folders remove-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Em que:
BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você está revogando o acesso. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada com a política do IAM que você quer remover. Por exemplo,my-managed-folder/
.PRINCIPAL_IDENTIFIER
identifica de quem você está revogando o acesso. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores de principais, consulte Identificadores de principais.IAM_ROLE
é o papel do IAM que você está revogando. Por exemplo,roles/storage.objectViewer
.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Receba a política existente aplicada à pasta gerenciada. Para fazer isso, use
cURL
para chamar a API JSON com uma solicitaçãoGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você está revogando o acesso. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada com a política do IAM que você quer remover. Por exemplo,my-managed-folder/
.
Crie um arquivo JSON com a política que você recuperou na etapa anterior.
Edite o arquivo JSON para remover o principal da política.
Use
cURL
para chamar a API JSON com uma solicitaçãoPUT setIamPolicy
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo criado na Etapa 3.OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você está revogando o acesso. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada com a política do IAM que você quer remover. Por exemplo,my-managed-folder/
.
Use condições do IAM em pastas gerenciadas
As seções a seguir mostram como adicionar e remover Condições do IAM nas pastas gerenciadas. Para ver as condições do IAM das pastas gerenciadas, confira Como visualizar a política do IAM de uma pasta gerenciada. Para mais informações sobre como usar as condições do IAM com o Cloud Storage, confira Condições.
É necessário ativar o acesso uniforme no nível do bucket antes de adicionar condições às pastas gerenciadas.
Defina uma nova condição em uma pasta gerenciada
Linha de comando
Crie um arquivo JSON ou YAML que defina a condição, incluindo o
title
da condição, a lógica baseada em atributoexpression
da condição e, opcionalmente, umdescription
para a condição.O Cloud Storage só é compatível com a data/hora, tipo de recurso e nome do recurso atribuídos no
expression
.Use o comando
gcloud storage managed-folders add-iam-policy-binding
com a sinalização--condition-from-file
:
gcloud storage managed-folders add-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
Em que:
BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você está concedendo o acesso principal. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada que você está concedendo o acesso principal. Por exemplo,my-managed-folder/
.PRINCIPAL_IDENTIFIER
identifica a quem a condição se aplica. Por exemplo,user:jane@gmail.com
. Para ver uma lista de formatos de identificadores de principais, consulte Identificadores de principais.IAM_ROLE
é o papel do IAM que você concede à principal. Por exemplo,roles/storage.objectViewer
.CONDITION_FILE
é o arquivo criado na etapa anterior.
Como alternativa, é possível incluir a condição diretamente no comando
com a flag --condition
em vez da flag --condition-from-file
.
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use uma solicitação
GET getIamPolicy
para salvar a política do IAM da pasta gerenciada em um arquivo JSON temporário:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você quer definir uma condição do IAM.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada que você quer definir uma condição do IAM.
Edite o arquivo
tmp-policy.json
em um editor de texto para adicionar novas condições às vinculações na política do IAM:{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }
Em que:
VERSION
é a versão da política do IAM, que precisa ser 3 para pastas gerenciadas com Condições do IAM.IAM_ROLE
é o papel ao qual a condição se aplica. Por exemplo,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica a quem a condição se aplica. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores de principais, consulte Identificadores de principais.TITLE
é o título da condição. Por exemplo,expires in 2019
.DESCRIPTION
é uma descrição opcional da condição. Por exemplo,Permission revoked on New Year's
.EXPRESSION
é uma expressão lógica com base em atributos. Por exemplo,request.time < timestamp(\"2019-01-01T00:00:00Z\")
. Para ver mais exemplos de expressões, consulte a referência do atributo Condições. O Cloud Storage é compatível apenas com os atributos data/hora, tipo de recurso e nome do recurso.
Não modifique
ETAG
.Use uma solicitação
PUT setIamPolicy
para definir a política de IAM modificada no bucket:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFoldersMANAGED_FOLDER_NAME/iam"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você quer definir uma condição do IAM.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada que você quer definir uma condição do IAM.
Remova uma condição de uma pasta gerenciada
Linha de comando
Use o comando
gcloud storage managed-folders get-iam-policy
para salvar a política do IAM da pasta gerenciada em um arquivo JSON temporário.gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME > tmp-policy.json
Edite o arquivo
tmp-policy.json
em um editor de texto para remover condições da política de IAM.Use o comando
gcloud storage managed-folders set-iam-policy
para definir a política do IAM modificada na pasta gerenciada.gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME tmp-policy.json
APIs REST
JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use uma solicitação
GET getIamPolicy
para salvar a política do IAM da pasta gerenciada em um arquivo JSON temporário:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
Em que:
BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você está mudando o acesso. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada que você está mudando o acesso. Por exemplo,my-managed-folder/
.OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.
Edite o arquivo
tmp-policy.json
em um editor de texto para remover condições da política de IAM.Use uma solicitação
PUT setIamPolicy
para definir a política do IAM modificada na pasta gerenciada:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.BUCKET_NAME
é o nome do bucket que contém a pasta gerenciada que você está mudando o acesso. Por exemplo,my-bucket
.MANAGED_FOLDER_NAME
é o nome da pasta gerenciada que você está mudando o acesso. Por exemplo,my-managed-folder/
.
Usar o IAM com projetos
Consulte Gerenciar o acesso a projetos, pastas gerenciadas e organizações para orientações sobre como conceder e revogar papéis do IAM no nível do projeto e acima.
Práticas recomendadas
Defina a permissão mínima possível que concede ao membro o acesso necessário. Por exemplo, se o membro da equipe precisa apenas ler os objetos armazenados em um bucket, selecione o papel Leitor de objetos do Storage. Da mesma forma, se o membro da equipe precisa ter controle total sobre os objetos no bucket, mas não propriamente sobre o bucket, selecione Administrador de objetos do Storage.
A seguir
- Saiba como compartilhar seus dados publicamente.
- Veja exemplos específicos de compartilhamento e colaboração.
- Saiba mais sobre as práticas recomendadas para o uso do IAM.
- Saiba como usar recomendações de papel para buckets.
- Para resolver problemas de operações com falha relacionadas a papéis e permissões do IAM, consulte Solução de problemas.