在 Amazon ECS 中以编程方式传递 Secrets Manager 密钥
您可以使用 Secrets Manager 来存储敏感数据,而不是在应用程序中以纯文本形式对敏感信息进行硬编码。
我们建议使用这种方法来检索敏感数据,因为如果随后更新 Secrets Manager 密钥,应用程序会自动检索该密钥的最新版本。
可以在 Secrets Manager 中创建秘密。创建 Secrets Manager 密钥后,更新应用程序代码以检索该密钥。
在 Secrets Manager 中保护敏感数据之前,请查看以下注意事项。
-
仅存储文本数据的机密,这些机密是使用
SecretString
参数 CreateSecret 支持 API。不支持存储二进制数据的密钥,这些密钥是使用 CreateSecret API 的SecretBinary
参数创建的。 -
使用接口 VPC 端点增强安全控制。您必须为 Secrets Manager 创建接口 VPC 端点。有关 VPC 端点的信息,请参阅《AWS Secrets Manager 用户指南》中的创建 VPC 端点。
-
您的任务使用的 VPC 必须使用 DNS 解析。
-
任务定义必须使用具有额外 Secrets Manager 权限的任务角色。有关更多信息,请参阅 Amazon ECS 任务 IAM 角色。
创建 Secrets Manager 密钥
您可以使用 Secrets Manager 控制台为您的敏感数据创建密钥。有关如何创建密钥的信息,请参阅《AWS Secrets Manager 用户指南》中的创建 AWS Secrets Manager 密钥。
更新应用程序以通过编程方式检索 Secrets Manager 密钥
您可以直接从应用程序调用 Secrets Manager API 来检索密钥。有关信息,请参阅《AWS Secrets Manager 用户指南》中的从 AWS Secrets Manager 中检索密钥。
要检索存储在 AWS Secrets Manager 中的敏感数据,请参阅 AWS SDK 代码示例代码库中的使用 AWS SDK 的 AWS Secrets Manager 的代码示例。