如何将存储在 AWS Secret Manager 中的机密传递到 Sagemaker 中的 Docker 容器?

How to I pass secrets stored in AWS Secret Manager to a Docker container in Sagemaker?

我的代码在 R 中。我需要额外的外部数据库。我将数据库凭证存储在 AWS Secret Manager 中。

所以我首先尝试使用 paws 库在 R 中获取 aws secrets,但这需要存储访问密钥、secret id 和会话令牌,我想避免这种情况。

有更好的方法吗?我已经为 Sagemaker 创建了 IAM 角色。是否可以将机密作为环境变量传递?

编辑:我想触发 Sagemaker 处理

您应该可以使用 Paws 来完成此操作。根据 documentation 它将使用为您的 Sagemaker 实例配置的 IAM 角色

If you are running the package on an instance with an appropriate IAM role, Paws will use it automatically and you don’t need to do anything extra.

您只需为 Sagemaker IAM 角色添加相关访问权限(例如允许 ssm:GetParameters)。

我找到了一个简单的解决方法。环境变量可以通过 Sagemaker sdk 传递。它最大限度地减少了依赖性。

https://sagemaker.readthedocs.io/en/stable/api/training/processing.html

正如另一个答案所建议的那样,爪子也可以用来从 aws 中获取秘密。这将是一个更好的方法