Nesta página, mostramos como usar o métodoGoogle Cloud signBlob
para criar uma assinatura de um documento de política ou string a ser assinado. As assinaturas
são usadas como credenciais em determinadas solicitações, 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 the- serviceusage.services.enablepermission. Learn how to grant roles.
- Você precisa ter a permissão - iam.serviceAccounts.signBlobpara a conta de serviço usada neste guia. Essa permissão- iam.serviceAccounts.signBlobestá incluída no papel- roles/iam.serviceAccountTokenCreator.
- A conta de serviço usada neste guia precisa ter permissão para executar a solicitação codificada na assinatura. Por exemplo, se a assinatura for usada para ler dados de objetos de um bucket, a conta de serviço precisará ter permissão para ler esses dados. 
Criar uma assinatura
- 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: - { "payload": "REQUEST_INFORMATION" } - Em que: - REQUEST_INFORMATIONé uma string a ser assinada ou um documento da política. Para os dois, o conteúdo precisa ser codificado em base64.
 
- Use - cURLpara chamar a API IAM com uma solicitação- signBlob:- 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" - Em que: - JSON_FILE_NAMEé o nome do arquivo criado na etapa 2.
- SERVICE_ACCOUNT_EMAILé o endereço de e-mail da conta de serviço que você quer usar para criar a assinatura. Por exemplo,- example-service-account@my-pet-project.iam.gserviceaccount.com.
 - Se a operação for bem-sucedida, um resumo da mensagem será retornado no campo - signedBlobda resposta, que é codificada em base64.
- Para concluir a assinatura, verifique se o resumo da mensagem foi decodificado em base64 e codifique-o em hexadecimal. 
A seguir
- Consulte a página de referência para assinar blobs com a CLI do Google Cloud.
- Crie um URL assinado manualmente usando a assinatura criada.
- Crie um URL assinado com as Google Cloud ferramentas.
- Saiba mais sobre Assinaturas.