运行AWS Batch时是否需要传递AWS AccessKey和AccessSecret?

时间:2019-06-24 03:33:16

标签: amazon-web-services environment-variables boto3 aws-batch

我正在使用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_IDAWS_SECRET_ACCESS_KEY

哪个是最好的选择?

1 个答案:

答案 0 :(得分:3)

Create a Job Definition in AWS Batch时,您可以指定工作角色

  

您可以指定一个IAM角色,该角色为您工作中的容器提供使用AWS API的权限。此功能将Amazon ECS IAM角色用于任务功能。

因此,您编写的任何代码都将根据工作角色提供凭据。您的代码不需要指定凭据(因此使用第一个示例)。