Esta página mostra como usar o método Trusted Cloud signBlob
para criar uma assinatura a partir de uma string a assinar ou de um documento de política. As assinaturas são usadas como credenciais em determinados pedidos, como URLs assinados. Este guia usa chaves RSA para criar assinaturas.
Antes de começar
Enable the Service Account Credentials API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.Tem de ter a autorização
iam.serviceAccounts.signBlob
para a conta de serviço que usa neste guia. A autorizaçãoiam.serviceAccounts.signBlob
está incluída na funçãoroles/iam.serviceAccountTokenCreator
.A conta de serviço que usa neste guia tem de ter autorização para executar o pedido codificado na assinatura. Por exemplo, se a assinatura for usada para ler dados de objetos de um contentor, a conta de serviço tem de ter autorização para ler os dados de objetos.
Crie uma assinatura
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:
{ "payload": "REQUEST_INFORMATION" }
Onde:
REQUEST_INFORMATION
é uma string-to-sign ou um documento de política. Em ambos os casos, o conteúdo tem de estar codificado em Base64.
Use
cURL
para chamar a API IAM com um pedidosignBlob
:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT_EMAIL:signBlob"
Onde:
JSON_FILE_NAME
é o nome do ficheiro que criou no passo 2.SERVICE_ACCOUNT_EMAIL
é o endereço de email da conta de serviço que quer usar para criar a assinatura. Por exemplo,service-7550275089395@my-pet-project.s3ns.iam.gserviceaccount.com
.
Se for bem-sucedido, é devolvido um resumo da mensagem no campo
signedBlob
da resposta, que é codificado em base64.Para concluir a assinatura, certifique-se de que o resumo da mensagem está descodificado em base64 e, em seguida, codifique o resumo da mensagem em hexadecimal.
O que se segue?
- Consulte a página de referência para assinar blobs com a CLI do Google Cloud.
- Crie um URL assinado manualmente, usando a assinatura que criou.
- Crie um URL assinado com Trusted Cloud ferramentas.
- Saiba mais acerca das assinaturas.