我正在使用boto3在AWS批处理作业中与KMS通信。我获取KMS客户端的代码如下:
KMS = boto3.client('kms')
我的问题是,我是否需要像这样显式传递AWS SecretKey和AWS AccessKey:
KMS = boto3.client('kms',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY)
或
也许我在定义计算环境时只是设置了环境变量AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
?
哪个是最好的选择?
答案 0 :(得分:3)
Create a Job Definition in AWS Batch时,您可以指定工作角色:
您可以指定一个IAM角色,该角色为您工作中的容器提供使用AWS API的权限。此功能将Amazon ECS IAM角色用于任务功能。
因此,您编写的任何代码都将根据工作角色提供凭据。您的代码不需要指定凭据(因此使用第一个示例)。