Uma versão do secret contém os dados reais do secret, junto com o estado e os metadados sobre o secret. Neste tópico, você aprenderá como gerenciar as versões de um secret.
Antes de começar
Configure o Secret Manager e o ambiente local, uma vez por projeto.
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.
Como conseguir detalhes sobre uma versão do secret
Esses exemplos mostram como acessar detalhes sobre uma versão do secret, exceto os dados confidenciais dessa versão, ao visualizar os metadados.
A visualização dos metadados de uma versão do secret exige o papel de Visualizador de secrets
(roles/secretmanager.viewer
) no secret, no projeto, na pasta ou na organização.
Não é possível
conceder papéis do IAM em uma versão do secret.
Console
-
Acesse a página 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 Versões, localize a versão do secret.
-
Encontre o ID da versão na tabela e leia os metadados.
gcloud CLI
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 378.0.0 ou superior da Google Cloud CLI. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
$ gcloud secrets versions describe version-id --secret="secret-id"
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" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
Como listar versões de um secret
A listagem de versões do secret retorna todas as versões associadas a ele, bem como o estado de cada uma deles, seja ativado, desativado ou destruído.
Para listar versões do secret, é necessário ter o papel de leitor de secrets
(roles/secretmanager.viewer
) no secret, no projeto, na pasta ou na organização.
Não é possível
conceder papéis do IAM em uma versão do secret.
Console
-
Acesse a página Secret Manager no Console do Google Cloud.
-
Na página do Secret Manager, clique no Nome de um secret.
-
A página Detalhes do secret exibe a lista de versões na tabela Versões.
gcloud CLI
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 378.0.0 ou superior da Google Cloud CLI. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
$ gcloud secrets versions list secret-id
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" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
Como desativar uma versão do secret
Quando você desativa uma versão do secret, ela não pode ser acessada. Desativar um secret é reversível.
Para desativar uma versão do secret, é necessário ter o papel
de administrador do secret (roles/secretmanager.admin
) no secret, no projeto, na pasta ou na organização.
Não é possível
conceder papéis do IAM em uma versão do secret.
Console
-
Acesse a página 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 Desativar no menu.
-
Na caixa de diálogo Desativar versão do secret, clique no botão Desativar versões selecionadas.
gcloud CLI
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 378.0.0 ou superior da Google Cloud CLI. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
$ gcloud secrets versions disable version-id --secret="secret-id"
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?updateMask=state" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"state\": \"DISABLED\"}"
Ativar uma versão do secret
Quando você ativa uma senha desativada, ela pode ser acessada novamente.
Para ativar uma versão do secret, é necessário ter o papel
de administrador do secret (roles/secretmanager.admin
) no secret, no projeto, na pasta ou na organização.
Não é possível
conceder papéis do IAM em uma versão do secret.
Console
-
Acesse a página 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 Ativar no menu.
-
Na caixa de diálogo Ativar versão do secret, clique no botão Ativar versões selecionadas.
gcloud CLI
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 378.0.0 ou superior da Google Cloud CLI. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
$ gcloud secrets versions enable version-id --secret="secret-id"
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?updateMask=state" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"state\": \"ENABLED\"}"
Destruir uma versão de secret
Quando você destrói uma versão do secret, ela não pode ser acessada. A destruição de uma versão do secret é permanente. Antes de destruir uma versão do secret, desative-a e observe o comportamento do seu aplicativo. É possível reativar a versão do secret se você encontrar problemas inesperados.
Quando você desativa ou destrói um secret ou uma versão do secret, a alteração leva tempo para ser propagada pelo sistema. Se necessário, revogue o acesso do IAM ao secret. As alterações nas permissões do IAM se tornam consistentes em questão de segundos.
A destruição de uma versão do secret exige o papel de administrador do secret (roles/secretmanager.admin
) no secret, no projeto, na pasta ou na organização.
Não é possível
conceder papéis do IAM em uma versão do secret.
Console
-
Acesse a página 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 Destruir no menu.
-
Na caixa de diálogo Destroy secret secret, digite o nome do secret.
-
Clique no botão Destruir versões selecionadas.
gcloud CLI
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 378.0.0 ou superior da Google Cloud CLI. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
$ gcloud secrets versions destroy version-id --secret="secret-id"
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:destroy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
Atribuir um alias a uma versão do secret
É possível atribuir aliases a versões do secret para facilitar o acesso.
Para atribuir um alias a uma versão do secret, atualize o campo "version_aliases" no secret. Substitua key pelo alias da versão e value pelo número da versão do secret. Depois que um alias é atribuído, é possível acessar as versões do secret usando os aliases da mesma maneira que as versões do secret pelo número de versão.
gcloud CLI
Para usar o Secret Manager na linha de comando, primeiro instale ou faça upgrade para a versão 378.0.0 ou superior da Google Cloud CLI. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
$ gcloud secrets update secret-id \
--update-version-aliases=key=value
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?updateMask=version_aliases" \
--request "PATCH" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{'version-aliases': {'key': 'value'}}"
A seguir
- Saiba mais sobre como gerenciar secrets.
- Saiba mais sobre como gerenciar o acesso a secrets.
- Saiba mais sobre como criar e acessar secrets.