Esta página mostra como criar, desativar e excluir chaves de código de autenticação de mensagem baseadas em hash (HMAC) associadas a contas de serviço em seu projeto.
Pré-requisitos
Antes de usar este recurso no Cloud Storage, é necessário:
Ter permissão suficiente para trabalhar com chaves HMAC no projeto pretendido:
Se você for o proprietário do projeto, provavelmente terá as permissões necessárias.
É preciso ter as permissões do IAM com o prefixo
storage.hmacKeys
para o projeto. Consulte Como usar permissões do IAM para instruções sobre como conseguir um papel (como, por exemplo, Administrador de chaves HMAC do armazenamento) com essas permissões.
Tenha uma conta de serviço no seu projeto para a qual você pretende criar chaves HMAC. Consulte Como criar uma conta de serviço se você não tiver uma.
Como criar uma chave HMAC
A fim de criar uma chave HMAC para uma conta de serviço:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abrir o navegador do Cloud Storage Clique em Configurações.
Selecione a guia Interoperabilidade.
Clique em + Criar uma chave para uma conta de serviço.
Selecione a conta de serviço à qual você quer que a chave HMAC seja associada.
Clique em Criar chave.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use o comando hmac create
:
gsutil hmac create SERVICE_ACCOUNT_EMAIL
Em que SERVICE_ACCOUNT_EMAIL
é o endereço
de e-mail associado à conta de serviço. Por exemplo,
service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Se bem-sucedida, a resposta terá esta aparência:
AccessId: GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA SecretKey: de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API JSON com uma solicitaçãoPOST
hmacKeys:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_ID/hmacKeys?serviceAccountEmail=SERVICE_ACCOUNT_EMAIL"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.PROJECT_ID
é o ID do projeto associado à chave que você quer criar. Por exemplo,my-pet-project
.SERVICE_ACCOUNT_EMAIL
é o endereço de e-mail associado à conta de serviço. Por exemplo,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
API XML
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API XML com uma solicitação de chave HMACPOST
:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/?Action=CreateAccessKey&UserName=SERVICE_ACCOUNT_EMAIL"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.SERVICE_ACCOUNT_EMAIL
é o endereço de e-mail associado à conta de serviço. Por exemplo,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Como acessar informações da chave HMAC
Para listar as chaves HMAC de um projeto e acessar informações sobre elas:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abrir o navegador do Cloud Storage Clique em Configurações.
Selecione a guia Interoperabilidade.
gsutil
Use o comando
hmac list
para listar chaves hmac em seu projeto:gsutil hmac list
Se funcionar, gsutil retornará uma lista de IDs de acesso da chave hmac com a conta de serviço associada a cada chave.
Use o comando
hmac get
para recuperar metadados de uma chave específica:gsutil hmac get KEY_ACCESS_ID
em que
KEY_ACCESS_ID
é o ID de acesso da chave pretendida.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
A amostra a seguir recupera uma lista de chaves HMAC associadas a um projeto:
A amostra a seguir recupera informações de uma chave HMAC específica:
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
A amostra a seguir recupera uma lista de chaves HMAC associadas a um projeto:
A amostra a seguir recupera informações de uma chave HMAC específica:
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
A amostra a seguir recupera uma lista de chaves HMAC associadas a um projeto:
A amostra a seguir recupera informações de uma chave HMAC específica:
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
A amostra a seguir recupera uma lista de chaves HMAC associadas a um projeto:
A amostra a seguir recupera informações de uma chave HMAC específica:
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
A amostra a seguir recupera uma lista de chaves HMAC associadas a um projeto:
A amostra a seguir recupera informações de uma chave HMAC específica:
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
A amostra a seguir recupera uma lista de chaves HMAC associadas a um projeto:
A amostra a seguir recupera informações de uma chave HMAC específica:
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
A amostra a seguir recupera uma lista de chaves HMAC associadas a um projeto:
A amostra a seguir recupera informações de uma chave HMAC específica:
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
A amostra a seguir recupera uma lista de chaves HMAC associadas a um projeto:
A amostra a seguir recupera informações de uma chave HMAC específica:
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API JSON com uma solicitaçãoLIST
hmacKeys:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_ID/hmacKeys"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.PROJECT_ID
é o ID do projeto associado às chaves que você quer listar. Por exemplo,my-pet-project
.
API XML
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API XML com uma solicitação de chave HMACGET
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/?Action=ListAccessKeys&UserName=SERVICE_ACCOUNT_EMAIL"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.SERVICE_ACCOUNT_EMAIL
é o endereço de e-mail associado à conta de serviço. Por exemplo,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Como atualizar o estado de uma chave HMAC
Para alternar o estado de uma chave HMAC entre ativo e inativo:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abrir o navegador do Cloud Storage Clique em Configurações.
Selecione a guia Interoperabilidade.
Clique no nome da conta de serviço associada à chave que você quer atualizar.
Clique no menu mais ações (
) associado à chave que você quer atualizar.
Selecione o status que quer aplicar à chave.
Na janela de confirmação exibida, confirme que você quer alterar o estado da chave.
gsutil
Use o comando hmac update
:
gsutil hmac update -s STATE ACCESS_KEY_ID
Em que:
STATE
é o estado pretendido para a chave. Por exemplo,INACTIVE
.ACCESS_KEY_ID
é o ID de acesso associado à chave que você está atualizando.
Se funcionar, gsutil retornará os metadados atualizados da chave HMAC.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Crie um arquivo .json com as informações a seguir:
{"state": "STATE"}
Em que
STATE
é o estado pretendido para a chave. Por exemplo,INACTIVE
.Use
cURL
(em inglês) para chamar a API JSON com uma solicitaçãoPUT
hmacKeys:curl -X PUT --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_ID/hmacKeys/ACCESS_KEY_ID"
Em que:
JSON_FILE_NAME
é o arquivo criado na Etapa 2.OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.PROJECT_ID
é o ID do projeto associado à chave que você quer atualizar. Por exemplo,my-pet-project
.ACCESS_KEY_ID
é o ID de acesso associado à chave que você está atualizando.
API XML
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API XML com uma solicitação de chave HMACPOST
:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/?Action=UpdateAccessKey&AccessKeyId=ACCESS_KEY_ID&Status=STATUS"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.ACCESS_KEY_ID
é o ID de acesso associado à chave que você está atualizando.STATUS
é o status pretendido para a chave. Por exemplo,Inactive
.
Ao alterar o estado de uma chave HMAC, a alteração de estado leva até três minutos para ser propagada pelo sistema do Cloud Storage. Por este motivo, é preciso aguardar pelo menos três minutos entre desativar uma chave HMAC e excluir a chave.
Como excluir uma chave HMAC
Uma chave HMAC precisa estar inativa para poder ser excluída. Para excluir uma chave HMAC inativa:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abrir o navegador do Cloud Storage Clique em Configurações.
Selecione a guia Interoperabilidade.
Clique no nome da conta de serviço associada à chave que você quer atualizar.
Clique no menu mais ações (
) associado à chave que você quer atualizar.
Selecione Excluir no menu suspenso.
Na caixa de texto exibida, insira os 10 primeiros caracteres do código da chave de acesso.
Clique em Delete.
gsutil
Use o comando hmac delete
:
gsutil hmac delete ACCESS_KEY_ID
Em que ACCESS_KEY_ID
é o ID de acesso associado
à chave que você está excluindo.
Se funcionar, gsutil não retornará nenhuma resposta.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API JSON com uma solicitaçãoDELETE
hmacKeys:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_ID/hmacKeys/ACCESS_KEY_ID"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.PROJECT_ID
é o ID do projeto associado à chave que você quer excluir. Por exemplo,my-pet-project
.ACCESS_KEY_ID
é o ID de acesso associado à chave que você está excluindo.
API XML
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API XML com uma solicitação de chave HMACPOST
:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/?Action=DeleteAccessKey&AccessKeyId=ACCESS_KEY_ID"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.ACCESS_KEY_ID
é o ID de acesso associado à chave que você está excluindo.
A seguir
- Siga as diretrizes de migração das chaves HMAC da conta de usuário para as chaves HMAC da conta de serviço.
- Use uma chave HMAC em uma solicitação autenticada.