Excluir um segredo - AWS Secrets Manager

Excluir um segredo

Devido à natureza crítica dos segredos, o AWS Secrets Manager intencionalmente dificulta a exclusão de segredos. O Secrets Manager não exclui segredos de imediato. Em vez disso, o Secrets Manager torna os segredos imediatamente inacessíveis e programados para exclusão após uma janela de recuperação de, no mínimo, sete dias. Até que a janela de recuperação termine, é possível recuperar um segredo excluído anteriormente. Não há cobrança para segredos que você marcou para exclusão.

Você não pode excluir um segredo primário se ele for replicado para outras regiões. Primeiramente, exclua as réplicas e, em seguida, exclua o segredo primário. Quando você exclui uma réplica, ela é excluída imediatamente.

Não é possível excluir diretamente uma versão de um segredo. Em vez disso, remova todos os rótulos de preparação da versão usando a AWS CLI ou o SDK da AWS. Isso marca a versão como defasada e permite que o Secrets Manager exclua automaticamente a versão em segundo plano.

Se você não souber se um segredo ainda é usado por uma aplicação, poderá criar um alarme do Amazon CloudWatch para alertar sobre qualquer tentativa de acesso a um segredo durante a janela de recuperação. Para mais informações, consulte Monitorar segredos programados para exclusão.

Para excluir um segredo, você precisa ter permissões do secretsmanager:ListSecrets e do secretsmanager:DeleteSecret.

Para excluir um segredo (console)

  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  2. Na lista de segredos, escolha o segredo que você quer excluir.

  3. Na seção Secrets details (Detalhes dos segredos), escolha Actions (Ações) e, em seguida, escolha Delete secret (Excluir segredo).

  4. Na caixa de diálogo Disable secret and schedule deletion (Desabilitar segredo e programar exclusão), em Waiting period (Período de espera), insira o número de dias de espera antes que a exclusão se torne permanente. O Secrets Manager anexa um campo denominado DeletionDate e o define como a data e hora atual e soma o número de dias especificado para a janela de recuperação.

  5. Escolha Schedule deletion.

Para visualizar segredos excluídos

  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  2. Na página Secrets (Segredos), escolha Preferences (Preferências) ( ).

  3. Na caixa de diálogo Preferences (Preferências), selecione Show disabled secrets (Mostrar segredos desabilitados) e, em seguida, escolha Save (Salvar)

Para excluir um segredo de réplica

  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  2. Selecione o segredo primário.

  3. Na seção Replicate Secret (Replicar segredo), escolha o segredo de réplica.

  4. No menu Actions (Ações), escolha Delete Replica (Excluir réplica).

AWS CLI

Para excluir um segredo, use a ação delete-secret. Para excluir uma versão de um segredo, use a ação update-secret-version-stage para remover todos os rótulos de preparação. O Secrets Manager pode, então, excluir a versão em segundo plano. Para localizar o ID da versão que você quer excluir, use ListSecretVersionIds.

Para excluir uma réplica, use a ação remove-regions-from-replication.

O exemplo a seguir marca para exclusão o segredo denominado "MyTestDatabase" e programa a exclusão para depois de uma janela de recuperação de 14 dias. A qualquer momento depois da data e da hora especificadas no campo DeletionDate, o Secrets Manager exclui permanentemente o segredo.

$ aws secretsmanager delete-secret --secret-id development/MyTestDatabase --recovery-window-in-days 14 { "ARN": "arn:aws:secretsmanager:us-east-2:111122223333:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "DeletionDate": 1510089380.309 }

O exemplo a seguir exclui imediatamente o segredo sem uma janela de recuperação. O campo de resposta de DeletionDate mostra a data e a hora atuais em vez de uma data futura. Não é possível recuperar este segredo.

$ aws secretsmanager delete-secret --secret-id development/MyTestDatabase --force-delete-without-recovery { "ARN": "arn:aws:secretsmanager:us-east-2:111122223333:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "DeletionDate": 1508750180.309 }

O exemplo a seguir exclui um segredo de réplica.

$ aws secretsmanager remove-regions-from-replication --secret-id development/MyTestDatabase --remove-replica-regions us-east-1

O exemplo a seguir remove o rótulo de preparação AWSPREVIOUS de uma versão do segredo denominado "MyTestDatabase".

$ aws secretsmanager update-secret-version-stage \ --secret-id development/MyTestDatabase \ --remove-from-version-id EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE --version-stage AWSPREVIOUS { "ARN": "arn:aws:secretsmanager:us-east-2:111122223333:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase" }

AWS SDK

Para excluir um segredo, use o comando DeleteSecret. Para excluir uma versão de um segredo, use o comando UpdateSecretVersionStage. Para excluir uma réplica, use o comando StopReplicationToReplica. Para mais informações, consulte AWS SDKs.