aws-cloudformation - 使用 Cloudformation 时如何防止 AWS Cognito 应用程序客户端重新创建?

标签 aws-cloudformation amazon-cognito aws-cdk

我们通过 cdk 维护 Cognito 应用程序客户端。在更改应用程序客户端属性时,我们注意到有时 CloudFormation 会重新创建应用程序客户端,有时只是修改现有应用程序客户端而不重新创建新的应用程序客户端。

在我们的案例中,重新创建应用程序客户端是一个问题,因为存在使用身份验证的外部应用程序,并且更改的应用程序客户端 ID 会破坏身份验证。

例如,添加新的可选属性 generateSecret 时值为generateSecret:false(默认值)CF决定重新创建App客户端。当更改即 token 过期值时,不会发生重新创建。

如何防止重新创建或如何提前识别将要发生重新创建的情况?

最佳答案

此信息可在相关资源的 CloudFormation 文档中找到。在 Attributes 部分中,每个属性都有一个 Update require: 字段,用于描述更新该特定属性时会发生的情况。

来自docs for AWS::Cognito::UserPoolClientGenerateSecret 属性:

Update requires: Replacement

因此,这是 CloudFormation 的限制 - 在更新需要替换的属性时,您无法避免资源替换。

关于aws-cloudformation - 使用 Cloudformation 时如何防止 AWS Cognito 应用程序客户端重新创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73826932/

相关文章:

postgresql - 数据库代理支持哪些 RDS 数据库实例?

amazon-web-services - AWS 云形成 : The security group 'sg-' does not exist in default VPC 'vpc'

node.js - 使用密码导出 AWS Cognito 用户

amazon-web-services - 当 CDK 定义时,是否可以在本地运行 AWS Step Functions?

aws-lambda - 使用 AWS Lambda@Edge 删除内容长度

amazon-web-services - CloudFormer 生成的模板在其他区域运行时失败

javascript - AWS 放大 : Confirm Signup with Email Verification

ios - AWS Cognito iOS(Swift) SDK 缓存数据并在应用程序启动时崩溃

amazon-web-services - AWS CDK CI/CD 管道 - 部署的 Lambda 返回 ClassNotFoundException

typescript - 在将 aws cdk 与 appsync 结合使用时,如何向 graphql 架构添加突变并防止部署失败?