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.
Antes de começar
Antes de usar esse recurso no Cloud Storage, você precisa atender aos seguintes requisitos:
Ter permissão suficiente para trabalhar com chaves HMAC no projeto selecionado:
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.
Verifique se as seguintes restrições de política da organização estão desativadas:
constraints/storage.restrictAuthTypes
(precisa ser desativada para a autenticação de chave HMAC)
Consulte Como criar e gerenciar políticas da organização para instruções sobre como verificar e desativar restrições.
Criar uma chave HMAC
A fim de criar uma chave HMAC para uma conta de serviço:
Console
Não é possível trabalhar com chaves HMAC no console Trusted Cloud .
Linha de comando
Use o comando hmac create
:
gcloud storage 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.s3ns-system.iam.gserviceaccount.com
.
Se for bem-sucedida, a resposta conterá um recurso de chave HMAC,
incluindo valores para accessId
e secret
.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
C#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Go
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Java
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Node.js
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
PHP
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Python
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Ruby
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Terraform
É possível usar um recurso Terraform para criar uma chave HMAC. Essa amostra também inclui um recurso para criar uma conta de serviço.
APIs REST
API JSON
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitaçãoPOST
hmacKeys:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys?serviceAccountEmail=SERVICE_ACCOUNT_EMAIL"
Em que:
PROJECT_IDENTIFIER
é o ID ou o número 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.s3ns-system.iam.gserviceaccount.com
.
API XML
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação de chave HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/?Action=CreateAccessKey&UserName=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.s3ns-system.iam.gserviceaccount.com
.
Receber informações de chave HMAC
Para listar as chaves HMAC de um projeto e acessar informações sobre elas:
Console
Não é possível trabalhar com chaves HMAC no console Trusted Cloud .
Linha de comando
Use o comando
hmac list
para listar chaves hmac em seu projeto:gcloud storage hmac list
Se bem-sucedido, o comando retornará uma lista de códigos de acesso da chave do hmac com o estado de cada chave e a conta de serviço associada a cada chave.
Use o comando
hmac describe
para recuperar metadados de uma chave específica:gcloud storage hmac describe KEY_ACCESS_ID
em que
KEY_ACCESS_ID
é o ID de acesso da chave pretendida.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
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#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
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
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
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
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
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
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
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
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
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
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
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
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
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
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitaçãoLIST
hmacKeys:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys"
PROJECT_IDENTIFIER
é o ID ou o número do projeto associado às chaves que você quer listar. Por exemplo,my-pet-project
.
API XML
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação de chave HMACGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/?Action=ListAccessKeys&UserName=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.s3ns-system.iam.gserviceaccount.com
.
Atualizar o estado de uma chave HMAC
Para alternar entre uma chave HMAC ativa e inativa:
Console
Não é possível trabalhar com chaves HMAC no console Trusted Cloud .
Linha de comando
Use o comando hmac update
:
gcloud storage hmac update ACCESS_KEY_ID STATE
Em que:
ACCESS_KEY_ID
é o ID de acesso associado à chave que você está atualizando.STATE
é--activate
ou--deactivate
.
Se for bem-sucedido, o comando retornará os metadados atualizados da chave HMAC.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
C#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Go
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Java
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Node.js
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
PHP
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Python
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
Ruby
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
A amostra a seguir desativa uma chave HMAC:
A amostra a seguir ativa uma chave HMAC:
APIs REST
API JSON
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.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
para chamar a API JSON com uma solicitaçãoPUT
hmacKeys:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo criado na Etapa 2.PROJECT_IDENTIFIER
é o ID ou o número 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
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação de chave HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/?Action=UpdateAccessKey&AccessKeyId=ACCESS_KEY_ID&Status=STATUS"
Em que:
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.
Excluir uma chave HMAC
Uma chave HMAC precisa estar inativa para poder ser excluída. Para excluir uma chave HMAC inativa:
Console
Não é possível trabalhar com chaves HMAC no console Trusted Cloud .
Linha de comando
Use o comando hmac delete
:
gcloud storage hmac delete ACCESS_KEY_ID
Em que ACCESS_KEY_ID
é o ID de acesso associado
à chave que você está excluindo.
Se for bem-sucedido, o comando não retornará uma resposta.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
C#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Go
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Java
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Node.js
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
PHP
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Python
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Ruby
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
APIs REST
API JSON
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitaçãoDELETE
hmacKeys:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
Em que:
PROJECT_IDENTIFIER
é o ID ou o número 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
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação de chave HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/?Action=DeleteAccessKey&AccessKeyId=ACCESS_KEY_ID"
Em que
ACCESS_KEY_ID
é o ID de acesso associado à chave que você está excluindo.