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
전문가
질문됨 5달 전29회 조회
1개 답변
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
전문가
답변함 5달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인