Amazon web services AWS系统管理器参数存储vs机密管理器vs Lambda中的环境变化,何时使用哪个
遇到了一些我有点困惑的特定用例:Amazon web services AWS系统管理器参数存储vs机密管理器vs Lambda中的环境变化,何时使用哪个,amazon-web-services,environment-variables,aws-secrets-manager,Amazon Web Services,Environment Variables,Aws Secrets Manager,遇到了一些我有点困惑的特定用例: 大量免费的公共API密钥。使用带有encyption的lambda环境变量,其他开发人员/管理员仍然可以在lambds控制台中公开其明文值。是否应该使用参数存储 登录到第三方平台的凭据。我想只有“秘密经理”可以选择 数据库连接字符串。秘密经理?按照0.40美元/秘密/月的价格计算,仅存储凭证就需要数百个数据库 对于存储任何凭据,您有三个AWS托管选项: Lambda环境变量 这些将通过Lambda服务直接传递到Lambda函数中。您可以通过控制字符串值来阻止其他
对于存储任何凭据,您有三个AWS托管选项: Lambda环境变量 这些将通过Lambda服务直接传递到Lambda函数中。您可以通过控制字符串值来阻止其他人访问字符串值。这将提供所有选项中最好的性能(代码运行时中没有额外的查找) 通过使用此选项,请注意以下陷阱:
- 如果对Lambda函数使用版本控制,则值是固定的,需要部署Lambda函数的新版本以进行更改
- 值附加到单个Lambda函数,如果键由多个函数使用,则需要分别传递到每个函数
- 每次检索值都会对性能造成影响,以减少在全局上下文中对函数的调用,从而在调用之间可以重用该函数
- 每个键/值都需要一个单独的参数。对于数据库,这意味着要么创建单个参数,要么将整个凭证集存储为JSON对象,并在检索后解码
DATABASE\u PASSWORD
的环境变量,其值为/dev/DATABASE/PASSWORD
;实际的数据库密码是参数存储中的SecureString,通过该路径访问
登录到第三方平台的凭据。我想只有“秘密经理”可以选择
参数存储区还提供SecureString
数据库连接字符串。秘密经理?按照0.40美元/秘密/月的价格计算,仅存储凭证就需要数百个数据库
您的应用程序是否实际连接到数百个数据库?如果是,40美元/月(100个连接)真的是贵公司的财政困难吗
如果是,那么参数存储可能是最佳选择,但请注意,每个帐户的“免费”参数数量有限