我们很高兴地宣布 AWS Secrets Manager 的增强版转换功能:AWSSecretsManager20240916。此更新旨在通过减少手动安全更新、错误修复和运行时升级的需求来简化基础设施管理。
AWS Secrets Manager 旨在帮助您管理、检索和旋转数据库凭据、API 密钥和其他机密信息。某些 AWS 服务提供机密的托管旋转,但对于其他机密,您需要使用 AWS Lambda 函数来更新机密和数据库或服务。
转换功能是由 AWS CloudFormation 托管的宏,允许您创建和管理复杂的基础设施配置。有关转换的一般信息,请参阅 AWS CloudFormation 文档。
AWSSecretsManager 转换功能与 AWSSecretsManagerRotationSchedule 资源类型 和 HostedRotationLambda 属性 一起使用,自动将 CloudFormation 模板扩展为嵌套堆栈,创建适合您的数据库或服务的旋转 Lambda 函数。该转换功能便于将 AWS 提供的旋转 Lambda 函数作为 CloudFormation 模板的一部分部署到您的账户中,而无需依赖于通过 AWS 无服务器应用程序库或 AWS 管理控制台创建旋转 Lambda 函数。
在本文中,我们将探索转换的新功能,将其与之前的版本进行比较,并指导您如何将使用旧版本转换创建的现有 Lambda 函数更新为使用新版本转换。
super加速器新版本引入了几个相较于以前版本AWSSecretsManager20200723的增强功能:
自动 Lambda 升级:您的旋转 Lambda 函数的运行时配置和内部依赖项在您更新 CloudFormation 堆栈时会自动更新。这帮助您确保使用 AWS Secrets Manager 提供的旋转 Lambda 函数代码和运行时的最新安全和稳定版本。目前,AWS Lambda 支持 Python 39 及更高版本。随着 Python 38 的弃用,此功能允许无缝过渡到更新的支持版本。有关运行时弃用的更多信息,请参阅 AWS Lambda 运行时文档 和 Python 版本指南。
附加资源属性:新转换现在支持与 HostedRotationLambda 属性一起使用的 AWSSecretsManagerRotationSchedule 资源类型的附加资源属性。以下属性应用于创建旋转 Lambda 函数的嵌套堆栈类型为 AWSCloudFormationStack:
CreationPolicyDependsOnMetadataUpdatePolicyCondition
有关这些资源属性的更多信息,请参阅 AWS CloudFormation 资源属性参考。
下表展示了两种版本 Secrets Manager 转换功能支持的资源属性:
属性AWSSecretsManager20200723AWSSecretsManager20240916DeletionPolicy支持支持UpdateReplacePolicy支持支持CreationPolicy不支持支持DependsOn不支持支持Metadata不支持支持UpdatePolicy不支持支持Condition不支持支持在使用 AWSSecretsManager20240916 转换之前,您需要注意以下几个事项,以确保您的 CloudFormation 堆栈能够正确创建或更新:
不向后兼容:新转换版本与以前版本不兼容。如果您从 AWSSecretsManager20240916 降级到 AWSSecretsManager20200723,将不支持附加资源属性,这可能会改变现有堆栈的行为。升级时的回滚行为:当您从以前版本升级到 AWSSecretsManager20240916 时,如果由于任何原因发生堆栈回滚,旋转 Lambda 函数可能不会还原到其先前状态。这是因为旧转换的嵌套堆栈可能不使用在升级之前所用的相同 Lambda 部署包。直接修改 Lambda:如果您在 CloudFormation 堆栈更新之外直接修改了新转换创建的 Lambda 函数,这些修改可能在后续的堆栈更新或回滚期间被覆盖。Lambda 运行时管理:使用新转换版本时,旋转 Lambda 函数的运行时与 Secrets Manager 旋转 Lambda 模板中提供的编译二进制文件一致,而无需在 HostedRotationLambda 属性中指定 Runtime 值。如果您指定了 Runtime 值,请确保它与 Secrets Manager 提供的旋转 Lambda 模板支持的版本相同。否则,Lambda 运行时将与发布在旋转 Lambda 函数中的二进制文件不兼容。有关支持的运行时的更多信息,请参阅 旋转功能模板文档。未来支持计划:虽然这不是结束支持的声明,但尽快升级转换版本将减少将来 AWS Secrets Manager 停止支持旧版本 AWSSecretsManager20200723 时对您的 CloudFormation 堆栈的影响。要升级到新转换版本,请按照以下步骤操作:
审查您现有的使用 AWSSecretsManager20200723 转换的 CloudFormation 堆栈。更新您的 CloudFormation 堆栈模板,在模板顶部的 Transform 键中使用 AWSSecretsManager20240916:Transform AWSSecretsManager20240916如果您之前在 HostedRotationLambda 属性中定义了 Runtime 值,请从模板中删除它,以便在未来的堆栈更新中正确更新旋转 Lambda 函数的运行时。根据需要整合新资源属性。我们建议您在升级时尽量减少所有其他模板更改,以降低回滚的可能性。更新您的 CloudFormation 堆栈以部署更改。通过遵循这些步骤,您将使 Secrets Manager 提供的旋转 Lambda 函数受益于最新的改进和安全增强。在将更改应用于生产堆栈之前,请务必在非生产环境中进行测试。如果在升级过程中遇到任何问题,请参考 我们的文档 或 联系 AWS 支持 以获取帮助。
如果您对本文有反馈,请在下面的 评论 部分提交意见。如果您对本文有疑问,请 联系 AWS 支持。
Sanjay Varma DatlaSanjay 是 AWS Secrets Manager 的软件开发工程师,具有扎实的软件工程背景,并热衷于安全应用设计,致力于帮助开发者安全管理敏感信息。在工作之外,Sanjay 喜欢远足和探索新的美食。
Rob StevensRob 是 AWS Secrets Manager 的系统开发工程师,致力于为 AWS 和其客户构建安全且可扩展的分布式系统。在工作之外,Rob 是健身爱好者,还喜欢旅行。
标签:AWS CloudFormation、AWS Secrets Manager、安全博客
全国咨询热线
Super加速器(中国)官方网站|Super加速器
联系电话:13594780123
联系人:李总
邮箱:sworn@mac.com
公司地址:邵武市清塑囚牢483号
微信扫一扫
手机官网