CF删除堆栈后如何清除堆栈中Secret Manager里的Secret

0

【以下的问题经过翻译处理】 我有一个 CF 模板,里面有一个简单的secret,就像这样:

··· Credentials: Type: 'AWS::SecretsManager::Secret' Properties: Name: !Sub ${ProjectKey}.${StageName}.${ComponentId}.credentials Description: client credentials SecretString: !Sub '{"client_id":"${ClientId}","client_secret":"${ClientSecret}"}' ···

栈创建成功,secret也正确生成。

但是,当我再次删除堆栈并重新创建它时,我收到以下错误消息:

The operation failed because the secret pk.stage.compid.credentials already exists. (Service: AWSSecretsManager; Status Code: 400; Error Code: ResourceExistsException; Request ID: ###)

我想这是因为secret并没有真正被删除,而只是被标记为删除 x 天。

可以通过 CLI 立即删除secret,但是如何在 CF 模板中完成此操作?

我需要删除并重新创建堆栈,因为它是在源代码提交时自动触发的持续集成/交付管道的一部分。

profile picture
EXPERTE
gefragt vor 5 Monaten29 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 你好,感谢联系我们。

当 CloudFormation 堆栈被删除时,Secrets Manager 会被调用,并且使用force-delete-without-recovery选项,以避免出现此情况。但是,我不确定为什么在你的特定情况中无法正常工作。如果你能私信给我更多细节(例如请求 ID),我将很乐意追踪此问题。

正如你提到的,你可以通过使用相同的 --force-delete-without-recovery 选项从 CLI 中调用 delete-secret 命令来解决此问题 - https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/delete-secret.html

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen