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.
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
gcloud
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 uma lista de formatos de identificadores principais, consulte Identificadores principais.IAM_ROLE
é o papel do IAM que você concede à principal. Por exemplo,roles/storage.objectViewer
.
gsutil
Use o comando gsutil iam ch
:
gsutil iam ch PRINCIPAL_IDENTIFIER:IAM_ROLE gs://BUCKET_NAME
Em que:
PRINCIPAL_IDENTIFIER
identifica para quem você está concedendo acesso ao bucket. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores principais, consulte Identificadores principais.IAM_ROLE
é o papel do IAM que você concede à principal. Por exemplo,roles/storage.objectViewer
.BUCKET_NAME
é o nome do bucket ao qual você concede acesso principal. Por exemplo,my-bucket
.
Para mais exemplos de como formatar
PRINCIPAL_IDENTIFIER:IAM_ROLE
,
consulte a página de referência gsutil iam ch
.
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 principais, consulte Identificadores 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.
Clique no menu flutuante (
) associado ao bucket cuja política você quer visualizar.
Escolha Editar acesso.
Expanda o papel desejado para ver os principais que têm esse papel.
(Opcional) Use a barra de pesquisa para filtrar os resultados por papel ou membro.
Se você pesquisar por principal, os resultados exibirão todos os papéis concedidos pelo principal.
Linha de comando
gcloud
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
.
gsutil
Use o comando gsutil iam get
:
gsutil iam get 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.
Clique no menu flutuante bucket (
) associado ao bucket onde que remover o papel do membro.
Escolha Editar acesso.
Expanda o papel que contém o membro que você quer remover.
Clique no ícone de lixeira.
Na janela de sobreposição que aparece, clique em Remover.
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
gcloud
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 principais, consulte Identificadores principais.IAM_ROLE
é o papel do IAM que você está revogando. Por exemplo,roles/storage.objectViewer
.
gsutil
Use o comando gsutil iam ch
com uma sinalização -d
:
gsutil iam ch -d PRINCIPAL_IDENTIFIER gs://BUCKET_NAME
Em que:
PRINCIPAL_IDENTIFIER
identifica de quem você está revogando o acesso. Por exemplo,user:jane@gmail.com
. Para uma lista de formatos de identificadores principais, consulte Identificadores principais.BUCKET_NAME
é o nome do bucket do qual você está removendo o acesso. Por exemplo,my-bucket
.
Para mais exemplos de como formatar
PRINCIPAL_IDENTIFIER
, consulte a
página de referência gsutil iam ch
.
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.
Clique no menu flutuante do bucket (
) à extrema direita da linha associada ao bucket.
Escolha Editar acesso.
Clique em Adicionar principal.
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
gcloud
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 uma lista de formatos de identificadores principais, consulte Identificadores 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
.
gsutil
Use o comando
gsutil iam
para salvar a política de IAM do bucket em um arquivo JSON temporário.gsutil iam get gs://BUCKET_NAME > tmp-policy.json
Em que
BUCKET_NAME
é o nome do bucket com a política de IAM que você quer recuperar. Por exemplo,my-bucket
.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 ver uma lista de formatos de identificadores principais, consulte Identificadores 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 de 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
gsutil iam
para definir a política de IAM modificada no bucket.gsutil iam set tmp-policy.json gs://BUCKET_NAME
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 principais, consulte Identificadores 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.
Clique no menu flutuante do bucket (
) à extrema direita da linha associada ao bucket.
Escolha Editar acesso.
Expanda o papel que contém a condição que você está removendo.
Clique no menu Editar (
) do membro associado à condição.
Na sobreposição Editar acesso 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
gcloud
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
gsutil
Use o comando
gsutil iam
para salvar a política de IAM do bucket em um arquivo JSON temporário.gsutil iam get 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
gsutil iam
para definir a política de IAM modificada no bucket.gsutil iam set tmp-policy.json gs://BUCKET_NAME
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
Linha de comando
gcloud
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 alpha storage managed-folders set-iam-policy
(em inglês).gcloud alpha 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
Linha de comando
gcloud
Use o comando gcloud alpha storage managed-folder get-iam-policy
(em inglês).
gcloud alpha 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
Linha de comando
gcloud
Use o comando gcloud alpha storage managed-folder remove-iam-policy-binding
(em inglês).
gcloud alpha 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 principais, consulte Identificadores 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
gcloud
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 alpha storage managed-folders add-iam-policy-binding
com a sinalização--condition-from-file
:
gcloud alpha 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 uma lista de formatos de identificadores principais, consulte Identificadores 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 principais, consulte Identificadores 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
gcloud
Use o comando
gcloud alpha storage managed-folders get-iam-policy
para salvar a política do IAM da pasta gerenciada em um arquivo JSON temporário.gcloud alpha 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 alpha storage managed-folders set-iam-policy
para definir a política do IAM modificada na pasta gerenciada.gcloud alpha 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.
- Conheça as opções para controlar o acesso a dados.
- Saiba mais sobre as práticas recomendadas para o uso do IAM.
- Saiba como usar recomendações de papel para buckets.