Neste tópico, descrevemos como acessar uma versão do secret. O acesso a uma versão do secret
retorna o conteúdo do secret e metadados adicionais sobre a versão
do secret. Ao acessar uma versão do secret, você especifica o version-id
ou o alias, se tiver sido atribuído. Também é possível acessar a versão mais recente de um
secret ao especificar "latest"
como a versão.
Funções exigidas
Para receber as permissões necessárias para acessar uma versão secreta,
peça ao administrador para conceder a você o
papel do IAM de Acesso a segredos do Secret Manager (roles/secretmanager.secretAccessor
) em um segredo.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Acessar uma versão do secret
Console
-
Acesse a página do Secret Manager no console do Google Cloud:
-
Na página do Secret Manager, clique no Nome de um secret.
-
Na página Detalhes do secret, na tabela Versões, localize a versão do secret.
-
Na coluna Ações, clique em Ver mais
. -
Clique em Visualizar valor do secret no menu.
-
Você verá uma caixa de diálogo que mostra o valor da versão do secret. Clique em Concluído para concluir.
gcloud
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 378.0.0 ou mais recente da Google Cloud CLI. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
Acesse uma versão do secret:
$ gcloud secrets versions access version-id --secret="secret-id"
Como acessar uma versão do secret binário:
Para gravar bytes brutos em um arquivo, use a flag --out-file:
$ gcloud secrets versions access version-id --secret="secret-id" --out-file="path/to/secret"
Para receber os bytes brutos, faça com que o SDK Cloud imprima a resposta codificada e em decodificação em base64:
$ gcloud secrets versions access version-id --secret="secret-id" --format='get(payload.data)' | tr '_-' '/+' | base64 -d
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK do C# do Secret Manager. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go do Secret Manager. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Java e instale o SDK do Java do Secret Manager. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Secret Manager. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
PHP
Para executar este código, veja primeiro como usar o PHP no Google Cloud e instalar o SDK do PHP do Secret Manager. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Python e instale o SDK do Python do Secret Manager. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Ruby e instale o SDK do Ruby do Secret Manager. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
API
Esses exemplos usam curl para demonstrar o uso da API. É possível gerar tokens de acesso com o gcloud auth print-access-token. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
A resposta payload.data
é o conteúdo codificado em base64 da versão do secret. Veja um exemplo de extração do secret usando a ferramenta jq
:
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
| jq -r ".payload.data" | base64 --decode
Consistência de recursos
No Secret Manager, adicionar uma versão do secret e acessar imediatamente essa versão pelo número de versão é uma operação de consistência forte.
Outras operações no Secret Manager oferecem consistência posterior. As operações de consistência futura geralmente são convergidas em minutos, mas podem levar algumas horas.
A propagação de permissões do IAM é consistente. Isso significa que conceder ou revogar o acesso a secrets não entra em vigor imediatamente. Para mais informações, consulte Propagação de alteração de acesso.
A seguir
- Saiba como atribuir um alias a uma versão do secret.
- Saiba como desativar uma versão do secret.
- Saiba como destruir uma versão do secret.