Nesta página, mostramos como usar o método do Google 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
Você precisa ter a permissão
iam.serviceAccounts.signBlob
para a conta de serviço usada neste guia. Essa permissãoiam.serviceAccounts.signBlob
está incluída no papelroles/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 a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no 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
cURL
para chamar a API IAM com uma solicitaçãosignBlob
: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,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Se for bem-sucedida, a assinatura será retornada no campo signedBlob
na resposta.
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 ferramentas do Google Cloud.
- Saiba mais sobre Assinaturas.