Nesta página, descrevemos como adicionar anotações a um secret e como editar e visualizar essas anotações.
Visão geral
É possível usar anotações para armazenar metadados personalizados sobre um secret. Por exemplo, talvez você queira anotar um segredo com o caminho em que ele será montado. As anotações podem ser úteis das seguintes maneiras:
-
Para categorizar segredos com base na finalidade, no ambiente (desenvolvimento, teste, produção) ou no nível de sensibilidade. Isso facilita a pesquisa, a filtragem e a organização de secrets no Secret Manager.
-
Para indicar o formato ou a estrutura específica do valor do secret, ajudando a carga de trabalho a interpretá-lo corretamente.
-
Para fornecer dicas sobre como o secret deve ser usado ou considerações especiais para o tratamento dele.
Por exemplo, se você tiver um secret com uma senha de banco de dados, adicione anotações como estas:
-
environment:production -
purpose:database_access -
owner:database_team
Com essas anotações, fica fácil identificar a finalidade do secret, o ambiente dele e quem é responsável por ele. Além disso, uma carga de trabalho que acessa esse secret pode usar as anotações para confirmar que está usando a senha correta para o ambiente de produção.
As anotações não são iguais aos rótulos. Os rótulos são usados para classificar, filtrar e agrupar recursos, enquanto as anotações são usadas para armazenar metadados arbitrários e não identificadores em um secret. Há uma restrição de caracteres e comprimento de caracteres ao especificar metadados em um rótulo. Os metadados de uma anotação podem ser pequenos ou grandes, estruturados ou não estruturados e incluir caracteres que não são permitidos em rótulos.
Funções exigidas
-
Para adicionar ou atualizar anotações em um secret, é necessário ter o papel de administrador do Secret Manager (
roles/secretmanager.admin) no secret, projeto, pasta ou organização. -
Para ver anotações, é necessário ter o papel de leitor do Secret Manager (
roles/secretmanager.viewer) no secret, projeto, pasta ou organização.
Não é possível conceder papéis do Identity and Access Management (IAM) em uma versão do secret. Consulte Controle de acesso com o IAM para mais informações.
Adicionar anotações a um secret
É possível adicionar anotações ao criar ou atualizar um secret. Os metadados em uma anotação são armazenados como pares de chave-valor. Para adicionar anotações, use um dos seguintes métodos:
Console
-
No console do Google Cloud , acesse a página Secret Manager.
-
Na página Secret Manager, clique em Criar secret.
-
Na página Criar secret, insira um nome para o secret no campo Nome.
-
Insira um valor para o secret (por exemplo,
abcd1234). Também é possível fazer upload de um arquivo de texto com o valor do secret usando a opção Fazer upload do arquivo. Essa ação cria automaticamente a versão do secret. -
Acesse a seção Anotações e clique em Adicionar anotação.
-
Insira a chave e o valor correspondente.
-
Clique em Criar secret.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_ID: o ID do secret
- KEY: a chave da anotação
- VALUE: o valor correspondente da chave de anotação.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets create SECRET_ID \ --set-annotations= KEY1=VAL1,KEY2=VAL2
Windows (PowerShell)
gcloud secrets create SECRET_ID ` --set-annotations= KEY1=VAL1,KEY2=VAL2
Windows (cmd.exe)
gcloud secrets create SECRET_ID ^ --set-annotations= KEY1=VAL1,KEY2=VAL2
A resposta contém o segredo e as anotações.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o Google Cloud ID do projeto
- SECRET_ID: o ID do secret
- KEY: a chave da anotação
- VALUE: o valor correspondente da chave de anotação.
Método HTTP e URL:
PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations
Corpo JSON da solicitação:
{'annotations': {'KEY1': 'VALUE1', 'KEY2': 'VALUE2' }}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
"createTime": "2024-09-02T07:14:00.281541Z",
"etag": "\"16211dcd99c386\"",
"annotations": {
"key1": "value1",
"key2": "value2"
}
}
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.
Para adicionar anotações a um secret, consulte a seção Editar anotações deste documento.
As chaves de anotação têm os seguintes requisitos:
-
As chaves precisam ser exclusivas de um secret. Não é possível repetir uma chave no mesmo secret.
-
As chaves precisam ter entre 1 e 63 caracteres.
-
As chaves precisam ter uma codificação UTF-8 de no máximo 128 bytes.
-
As chaves precisam começar e terminar com um caractere alfanumérico.
-
As chaves podem ter traços, sublinhados e pontos entre os caracteres alfanuméricos.
-
O tamanho total das chaves e dos valores de anotação precisa ser menor que 16 KiB.
Editar anotações
Para editar anotações, use um dos seguintes métodos:
Console
-
No console do Google Cloud , acesse a página Secret Manager.
-
Localize o secret na lista e clique no menu Ações associado a ele. No menu Ações, clique em Editar.
-
Na página Editar secret, acesse a seção Anotações. Aqui, você pode mudar o valor de uma anotação, excluir ou adicionar uma nova.
-
Depois de fazer as mudanças, clique em Atualizar segredo.
gcloud
Editar anotações
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_ID: o ID do secret
- KEY: a chave da anotação
- VALUE: o valor correspondente da chave de anotação.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets update SECRET_ID --update-annotations= KEY=VAL
Windows (PowerShell)
gcloud secrets update SECRET_ID --update-annotations= KEY=VAL
Windows (cmd.exe)
gcloud secrets update SECRET_ID --update-annotations= KEY=VAL
A resposta edita o segredo e as anotações.
Remover uma anotação específica
Para remover anotações, use o seguinte comando:
gcloud secrets update SECRET_ID --remove-annotations= KEY=VALLimpar todas as anotações
Para limpar todas as anotações, use o seguinte comando:
gcloud secrets update SECRET_ID --clear-annotationsREST
Para limpar todas as anotações, use o seguinte comando:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o Google Cloud ID do projeto
- SECRET_ID: o ID do secret
Método HTTP e URL:
PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations
Corpo JSON da solicitação:
{'annotations': {}}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
"createTime": "2024-09-02T07:14:00.281541Z",
"etag": "\"16211dd90b37e7\""
}
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.
Ver anotações
Para conferir as anotações anexadas a um secret, use um dos seguintes métodos:
Console
-
No console do Google Cloud , acesse a página Secret Manager.
-
Na página Secret Manager, clique no secret cujas anotações você quer ver.
-
A página de detalhes do secret é aberta. Clique na guia Visão geral. Aqui você pode conferir as anotações anexadas ao secret. As chaves são listadas na coluna da esquerda, enquanto os valores são mostrados na coluna da direita.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_ID: o ID do secret
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets describe SECRET_ID
Windows (PowerShell)
gcloud secrets describe SECRET_ID
Windows (cmd.exe)
gcloud secrets describe SECRET_ID
A resposta contém o segredo e as anotações.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o Google Cloud ID do projeto
- SECRET_ID: o ID do secret
Método HTTP e URL:
GET https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID
Corpo JSON da solicitação:
{}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
"createTime": "2024-09-02T07:14:00.281541Z",
"etag": "\"16211dcd99c386\"",
"annotations": {
"key1": "value1",
"key2": "value2"
}
}
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.
A seguir
- Saiba como gerenciar o acesso a secrets.
- Saiba como configurar programações de rotação para secrets.
- Saiba como configurar notificações em um secret.