Neste tópico, descrevemos como criar um secret, adicionar uma versão do secret e acessar uma versão do secret. Para informações sobre como gerenciar secrets, consulte Como gerenciar secrets.
Antes de começar
Configure o Secret Manager e o ambiente local, uma vez por projeto.
Como criar um secret
Um secret contém uma ou mais versões dele, junto com metadados como rótulos e informações de replicação. O conteúdo real de um secret é armazenado em uma versão do secret.
Se não tiver certeza sobre qual política de replicação é certa para seu secret, consulte Como escolher uma política de replicação.
A criação de um secret requer o papel de administrador do Secret Manager (roles/secretmanager.admin
) no projeto, na pasta ou na organização.
IU da Web
-
Acesse a página do Gerenciador de secrets no Console do Cloud:
-
Na página Gerenciador de secrets, clique em Criar secret.
-
Na página Criar secret, em Nome, digite
my-secret
. -
Opcional: no campo Valor do secret, digite
abcd1234
para adicionar uma versão do secret ao criar o secret inicial. -
Deixe a seção Regiões inalterada.
-
Clique no botão Criar secret.
Linha de comando
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 305.0.0 ou posterior do SDK do Cloud.
$ gcloud secrets create secret-id \
--replication-policy="automatic"
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK do C# do Secret Manager.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go do Secret Manager.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Java e instale o SDK do Java do Secret Manager.
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.
PHP
Para executar este código, veja primeiro como usar o PHP no Google Cloud e instalar o SDK do PHP do Secret Manager.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Python e instale o SDK do Python do Secret Manager.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Ruby e instale o SDK do Ruby do Secret Manager.
API
Esses exemplos usam curl para demonstrar o uso da API.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets?secretId=secret-id" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--header "x-goog-user-project: project-id" \
--data "{\"replication\": {\"automatic\": {}}}"
Como adicionar uma versão do secret
Uma versão do secret tem o conteúdo real de uma chave secreta. Uma versão do secret pode ser ativada, desativada ou destruída. Para alterar o conteúdo de um secret, crie uma nova versão.
Adicionar uma versão do secret requer o papel de administrador do Secret Manager
(roles/secretmanager.admin
) na chave secreta, projeto, pasta ou organização.
Não é possível conceder papéis em uma versão do secret.
IU da Web
-
Acesse a página do Gerenciador de secrets no Console do 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, digite
abcd1234
no campo Valor do secret. -
Clique no botão Adicionar nova versão.
Linha de comando
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 305.0.0 ou posterior do SDK do Cloud.
Adicione uma versão do secret do conteúdo 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 o texto simples aparecerá no histórico do shell:
$ echo -n "this is my super secret data" | \
gcloud secrets versions add secret-id --data-file=-
Se preferir, adicione uma versão do conteúdo de um arquivo ao criar um secret pela primeira vez:
$ 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.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go do Secret Manager.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Java e instale o SDK do Java do Secret Manager.
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.
PHP
Para executar este código, veja primeiro como usar o PHP no Google Cloud e instalar o SDK do PHP do Secret Manager.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Python e instale o SDK do Python do Secret Manager.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Ruby e instale o SDK do Ruby do Secret Manager.
API
Esses exemplos usam curl para demonstrar o uso da API.
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" \
--header "x-goog-user-project: project-id" \
--data "{\"payload\": {\"data\": \"${SECRET_DATA}\"}}"
Como acessar uma versão do secret
O acesso a uma versão do secret retorna o conteúdo do secret, bem como metadados adicionais
sobre a versão do secret. Ao acessar uma versão do secret, você especifica o
version-id. Também é possível acessar a versão mais recente de um secret ao
especificar "latest"
como a versão.
O acesso a uma versão do secret requer o papel de acessador de secret
do Secret Manager (roles/secretmanager.secretAccessor
)
no secret, projeto, pasta ou organização. Não é possível
conceder papéis do IAM em uma versão do secret.
Uma observação sobre consistência de recursos
No Secret Manager, adicionar uma versão do secret e acessar imediatamente essa 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 posterior geralmente são convergidas em minutos, mas podem levar algumas horas.
A propagação de permissões do IAM tem consistência posterior. Isso significa que a concessão ou revogação do acesso a secrets pode não entrar em vigor imediatamente. Para mais informações, consulte a documentação do IAM.
IU da Web
-
Acesse a página do Gerenciador de secrets no Console do 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
. -
No menu, clique em Visualizar valor do secret.
-
Você verá uma caixa de diálogo que mostra o valor da versão do secret. Clique em Concluído para concluir.
Linha de comando
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 305.0.0 ou posterior do SDK do Cloud.
Acessar uma versão do secret:
$ gcloud secrets versions access version-id --secret="secret-id"
Como acessar uma versão do secret binário:
$ 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.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go do Secret Manager.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Java e instale o SDK do Java do Secret Manager.
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.
PHP
Para executar este código, veja primeiro como usar o PHP no Google Cloud e instalar o SDK do PHP do Secret Manager.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Python e instale o SDK do Python do Secret Manager.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Ruby e instale o SDK do Ruby do Secret Manager.
API
Esses exemplos usam curl para demonstrar o uso da API.
$ 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" \
--header "x-goog-user-project: project-id"
A resposta payload.data
é o conteúdo codificado em base64 da versão do secret. Veja um exemplo de como extrair o 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" \
--header "x-goog-user-project: project-id" \
| jq -r ".payload.data" | base64 --decode
A seguir
- Saiba mais sobre como gerenciar secrets e versões de secrets.
- Saiba mais sobre como gerenciar o acesso a secrets.