Esta página descreve como pode destruir uma versão secreta. No estado destruído, o conteúdo da versão do Secret é rejeitado. A destruição de uma versão do Secret é uma ação permanente. Depois de uma versão ser destruída, não pode aceder aos dados secretos nem restaurar a versão para outro estado.
Antes de destruir uma versão secreta, experimente desativá-la primeiro e observe o comportamento da sua aplicação. Pode reativar a versão secreta se encontrar problemas inesperados.
Quando desativa ou destrói um segredo ou uma versão secreta, a alteração demora algum tempo a propagar-se através do sistema. Se necessário, pode revogar o acesso ao segredo. As alterações às autorizações da IAM são consistentes no espaço de segundos.
Funções necessárias
Para receber as autorizações de que
precisa para destruir uma versão do Secret,
peça ao seu administrador para lhe conceder a
função IAM gestor de versões do Secret do Secret Manager (roles/secretmanager.secretVersionManager
) num Secret.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Destrua uma versão do Secret
Para destruir uma versão secreta, use um dos seguintes métodos:
Consola
-
Na Google Cloud consola, aceda à página Secret Manager.
-
Na página Secret Manager, clique no separador Segredos regionais e, de seguida, clique num segredo para aceder às respetivas versões.
-
Na página de detalhes do segredo, no separador Versões, selecione a versão do segredo que quer destruir.
-
Clique em
Ações e, de seguida, em Destruir. -
Na caixa de diálogo de confirmação apresentada, introduza o ID do Secret para confirmar e, de seguida, clique em Destruir versões selecionadas.
gcloud
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- VERSION_ID: o nome do recurso da versão do segredo
- SECRET_ID: o ID do segredo ou o identificador totalmente qualificado do segredo
- LOCATION: a Google Cloud localização do segredo
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION: a Google Cloud localização do segredo
- PROJECT_ID: o Google Cloud ID do projeto
- SECRET_ID: o ID do segredo ou o identificador totalmente qualificado do segredo
- VERSION_ID: o ID da versão do segredo
Método HTTP e URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy
Corpo JSON do pedido:
{}
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy" | Select-Object -Expand Content
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "createTime": "2024-09-02T07:16:34.566706Z", "destroyTime": "2024-09-04T06:29:01.893743728Z", "state": "DESTROYED", "etag": "\"1621454a37ce7f\"" }
Go
Para executar este código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK Go do Secret Manager. No Compute Engine ou no GKE, tem de autenticar-se com o âmbito cloud-platform.
Java
Para executar este código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK Java do Secret Manager. No Compute Engine ou no GKE, tem de autenticar-se com o âmbito cloud-platform.
Node.js
Para executar este 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, tem de autenticar-se com o âmbito cloud-platform.
Python
Para executar este código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK Python do Secret Manager. No Compute Engine ou no GKE, tem de autenticar-se com o âmbito cloud-platform.
Destruição atrasada de versões do Secret
Os utilizadores com a função de administrador do Secret Manager podem configurar a destruição atrasada de versões secretas configurando a funcionalidade Atrasar destruição da versão secreta no segredo. Se esta funcionalidade estiver ativada, a versão secreta não é destruída imediatamente após o pedido. Em alternativa, a versão do Secret é desativada e agendada para destruição numa data posterior. Durante este período, o administrador do Secret Manager pode restaurar a versão do segredo.