Os dados do secret não podem ser mudados e a maioria das operações ocorre em versões do secret. Uma versão do secret contém os dados reais do secret, além do state e dos metadados relacionados. Neste tópico, descrevemos como adicionar uma versão do secret.
Funções exigidas
Para receber as permissões necessárias para adicionar uma versão do secret, peça ao administrador para conceder a você os seguintes papéis do IAM em um secret:
-
Adicionador da versão do Secret do Secret Manager (
roles/secretmanager.secretVersionAdder
) -
Gerenciador de versões de secrets do Secret Manager (
roles/secretmanager.secretVersionManager
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Adicionar uma versão do secret
Console
-
Acesse a página do Secret Manager no console do Google Cloud:
-
Na página Gerenciador de secrets, clique em Ver mais
e selecione Adicionar nova versão. -
Na caixa de diálogo Adicionar nova versão, no campo Valor do secret, insira um valor para o secret (por exemplo,
abcd1234
). -
Clique no botão Adicionar nova versão.
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.
Adicione uma versão do conteúdo secreto de um arquivo no disco:
$ gcloud secrets versions add secret-id --data-file="/path/to/file.txt"
Também é possível adicionar uma versão do secret diretamente na linha de comando, mas isso não é recomendado, porque ela aparece como texto simples na lista de processos e pode ser capturada por outros usuários do sistema. Observe que o comando com o texto simples também estará no histórico do shell.
$ echo -n "this is my super secret data" | \
gcloud secrets versions add secret-id --data-file=-
Como opção, adicione uma versão do conteúdo de um arquivo ao criar um secret:
$ gcloud secrets create secret-id --data-file="/path/to/file.txt"
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.
Codifique os dados do secret em Base64 e salve-os como uma variável do shell.
$ SECRET_DATA=$(echo "seCr3t" | base64)
Invoque a API usando curl.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:addVersion" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"payload\": {\"data\": \"${SECRET_DATA}\"}}"
Estados da versão do secret
Uma versão do secret pode estar em um dos seguintes estados a qualquer momento:
Ativada: nesse estado, a versão do secret pode ser acessada e descrita. Esse é o estado padrão de uma nova versão do secret.
Desativado: nesse estado, a versão do secret não pode ser acessada, mas o conteúdo do secret ainda existe. A versão do secret pode ser reativada para restaurar o acesso.
Destruída: nesse estado, o conteúdo da versão do secret é descartado. A versão do secret não pode ser alterada para outro estado.
A seguir
- Saiba como acessar uma versão do secret.
- Saiba como atribuir um alias a uma versão do secret.
- Saiba como listar versões de Secrets e ver detalhes de versões.