Esta página mostra-lhe como criar, desativar e eliminar chaves do código de autenticação de mensagens baseado em hash (HMAC) associadas a contas de serviço no seu projeto.
Antes de começar
Antes de usar esta funcionalidade no Cloud Storage, tem de cumprir os seguintes requisitos:
Ter autorização suficiente para trabalhar com chaves de HMAC no projeto selecionado:
Se for proprietário do projeto, é muito provável que tenha as autorizações necessárias.
Deve ter as autorizações de IAM com o prefixo
storage.hmacKeys
para o projeto. Consulte o artigo Usar autorizações de IAM para ver instruções sobre como obter uma função, como Administrador de chaves HMAC do Storage, que tenha estas autorizações.
Ter uma conta de serviço no seu projeto para a qual pretende criar chaves HMAC. Consulte o artigo Criar uma conta de serviço se ainda não tiver uma.
Certifique-se de que as seguintes restrições de políticas da organização estão desativadas:
constraints/storage.restrictAuthTypes
(tem de estar desativado para a autenticação de chaves HMAC)
Consulte o artigo Criar e gerir políticas da organização para obter instruções sobre como verificar e desativar restrições.
Crie uma chave HMAC
Para criar uma chave HMAC para uma conta de serviço:
Consola
Não é suportado o trabalho com chaves HMAC na Trusted Cloud consola.
Linha de comandos
Use o comando hmac create
:
gcloud storage hmac create SERVICE_ACCOUNT_EMAIL
Onde SERVICE_ACCOUNT_EMAIL
é o endereço de email
associado à sua conta de serviço. Por exemplo,
service-7550275089395@my-pet-project.s3ns.iam.gserviceaccount.com
.
Se for bem-sucedido, a resposta contém um recurso de chave HMAC, incluindo valores para accessId
e secret
.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Terraform
Pode usar um recurso do Terraform para criar uma chave HMAC. Este exemplo também inclui um recurso para criar uma conta de serviço.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedidoPOST
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"
Onde:
PROJECT_IDENTIFIER
é o ID ou o número do projeto associado à chave que quer criar. Por exemplo,my-pet-project
.SERVICE_ACCOUNT_EMAIL
é o endereço de email associado à sua conta de serviço. Por exemplo,service-7550275089395@my-pet-project.s3ns.iam.gserviceaccount.com
.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com umaPOST
chave HMAC pedido:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/?Action=CreateAccessKey&UserName=SERVICE_ACCOUNT_EMAIL"
Onde
SERVICE_ACCOUNT_EMAIL
é o endereço de email associado à sua conta de serviço. Por exemplo,service-7550275089395@my-pet-project.s3ns.iam.gserviceaccount.com
.
Aceda a informações da chave HMAC
Para listar as chaves HMAC de um projeto e obter informações sobre as chaves:
Consola
Não é suportado o trabalho com chaves HMAC na Trusted Cloud consola.
Linha de comandos
Use o comando
hmac list
para listar as chaves HMAC no seu projeto:gcloud storage hmac list
Se for bem-sucedido, o comando devolve uma lista de IDs de acesso de chaves HMAC, juntamente com o estado de cada chave e a conta de serviço associada a cada chave.
Use o comando
hmac describe
para obter metadados de uma chave específica:gcloud storage hmac describe KEY_ACCESS_ID
Onde
KEY_ACCESS_ID
é o ID de acesso da chave pretendida.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte obtém uma lista de chaves HMAC associadas a um projeto:
O exemplo seguinte obtém informações para uma chave HMAC específica:
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte obtém uma lista de chaves HMAC associadas a um projeto:
O exemplo seguinte obtém informações para uma chave HMAC específica:
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte obtém uma lista de chaves HMAC associadas a um projeto:
O exemplo seguinte obtém informações para uma chave HMAC específica:
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte obtém uma lista de chaves HMAC associadas a um projeto:
O exemplo seguinte obtém informações para uma chave HMAC específica:
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte obtém uma lista de chaves HMAC associadas a um projeto:
O exemplo seguinte obtém informações para uma chave HMAC específica:
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte obtém uma lista de chaves HMAC associadas a um projeto:
O exemplo seguinte obtém informações para uma chave HMAC específica:
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte obtém uma lista de chaves HMAC associadas a um projeto:
O exemplo seguinte obtém informações para uma chave HMAC específica:
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte obtém uma lista de chaves HMAC associadas a um projeto:
O exemplo seguinte obtém informações para uma chave HMAC específica:
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedidoLIST
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"
Onde
PROJECT_IDENTIFIER
é o ID ou o número do projeto associado às chaves que quer listar. Por exemplo,my-pet-project
.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com umaGET
chave HMAC pedido:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/?Action=ListAccessKeys&UserName=SERVICE_ACCOUNT_EMAIL"
Onde
SERVICE_ACCOUNT_EMAIL
é o endereço de email associado à sua conta de serviço. Por exemplo,service-7550275089395@my-pet-project.s3ns.iam.gserviceaccount.com
.
Atualize o estado de uma chave HMAC
Para alternar uma chave HMAC entre ativa e inativa:
Consola
Não é suportado o trabalho com chaves HMAC na Trusted Cloud consola.
Linha de comandos
Use o comando hmac update
:
gcloud storage hmac update ACCESS_KEY_ID STATE
Onde:
ACCESS_KEY_ID
é o ID de acesso associado à chave que está a atualizar.STATE
é--activate
ou--deactivate
.
Se for bem-sucedido, o comando devolve os metadados atualizados da chave HMAC.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte desativa uma chave HMAC:
O exemplo seguinte ativa uma chave HMAC:
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte desativa uma chave HMAC:
O exemplo seguinte ativa uma chave HMAC:
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte desativa uma chave HMAC:
O exemplo seguinte ativa uma chave HMAC:
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte desativa uma chave HMAC:
O exemplo seguinte ativa uma chave HMAC:
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte desativa uma chave HMAC:
O exemplo seguinte ativa uma chave HMAC:
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte desativa uma chave HMAC:
O exemplo seguinte ativa uma chave HMAC:
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte desativa uma chave HMAC:
O exemplo seguinte ativa uma chave HMAC:
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
O exemplo seguinte desativa uma chave HMAC:
O exemplo seguinte ativa uma chave HMAC:
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um ficheiro JSON que contenha as seguintes informações:
{"state": "STATE"}
Onde
STATE
é o estado pretendido para a chave. Por exemplo,INACTIVE
.Use
cURL
para chamar a API JSON com um pedidoPUT
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"
Onde:
JSON_FILE_NAME
é o caminho do ficheiro que criou no passo 2.PROJECT_IDENTIFIER
é o ID ou o número do projeto associado à chave que quer atualizar. Por exemplo,my-pet-project
.ACCESS_KEY_ID
é o ID de acesso associado à chave que está a atualizar.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com umaPOST
chave HMAC pedido:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/?Action=UpdateAccessKey&AccessKeyId=ACCESS_KEY_ID&Status=STATUS"
Onde:
ACCESS_KEY_ID
é o ID de acesso associado à chave que está a atualizar.STATUS
é o estado pretendido para a chave. Por exemplo,Inactive
.
Quando altera o estado de uma chave HMAC, a propagação da alteração de estado no sistema do Cloud Storage demora até 3 minutos. Por este motivo, deve aguardar, pelo menos, 3 minutos entre tornar uma chave HMAC inativa e eliminar a chave.
Elimine uma chave de HMAC
Uma chave HMAC tem de estar num estado inativo para ser eliminada. Para eliminar uma chave HMAC inativa:
Consola
Não é suportado o trabalho com chaves HMAC na Trusted Cloud consola.
Linha de comandos
Use o comando hmac delete
:
gcloud storage hmac delete ACCESS_KEY_ID
Em que ACCESS_KEY_ID
é o ID de acesso associado
à chave que está a eliminar.
Se for bem-sucedido, o comando não devolve uma resposta.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedidoDELETE
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"
Onde:
PROJECT_IDENTIFIER
é o ID ou o número do projeto associado à chave que quer eliminar. Por exemplo,my-pet-project
.ACCESS_KEY_ID
é o ID de acesso associado à chave que está a eliminar.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com umaPOST
chave HMAC pedido:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/?Action=DeleteAccessKey&AccessKeyId=ACCESS_KEY_ID"
Onde
ACCESS_KEY_ID
é o ID de acesso associado à chave que está a eliminar.