我曾经在环境变量(.bash_profile)中隐藏连接凭据。最近与SageMaker合作,我尝试使用SageMaker中可用的终端进行类似的过程,但是出现以下错误,
NameError: name 'DB_USER' is not defined
有什么有效的方法可以在SageMaker中隐藏凭据吗?
答案 0 :(得分:3)
在AWS中处理秘密存储的推荐方法是AWS Secrets Manager。 Secrets Manager以安全的方式将密钥存储为键值对。关键好处是,它允许您通过IAM角色和权限抽象管理对这些机密的访问,并使用您选择的SDK(例如boto3)来检索它们。在third-party git integrations
的情况下,Amazon SageMaker实际上还使用Secrets Manager进行git凭证存储。答案 1 :(得分:1)
扩展奥利维尔的答案,您可以像这样在部署代码中为Sagemaker端点提供适当的角色
role = 'arn:aws:iam::xxxxxxxxxx:role/service-role/AmazonSageMaker-ExecutionRole-xxxxxxxxxx:role'
sagemaker_model = MXNetModel(model_data = 's3://' + bucket + '/model/model.tar.gz',
role = role,
entry_point = 'entry_point.py',
py_version='py3',
framework_version='1.4.1',
sagemaker_session = sagemaker_session)
请记住要在您提供的角色中提供必要的权限