AWS SWF使用IAM角色的问题

时间:2014-06-24 19:58:44

标签: amazon-web-services flash credentials amazon-iam

我在AWS上注意到,如果我获得IAM角色凭证(密钥,密钥,令牌)并在python脚本中将它们设置为适当的环境变量,我就可以很好地创建和使用SWF Layer1对象。但是,看起来Layer2对象不起作用。例如,如果我导入了boto和os,并执行:

test = boto.swf.layer2.ActivityWorker()
test.domain = 'someDomain'
test.task_list = 'someTaskList'
test.poll()

我得到一个例外,即安全令牌无效,事实上,如果我浏览对象,则不会设置安全令牌。这甚至发生在:

test = boto.swf.layer2.ActivityWorker(session_token=os.environ.get('AWS_SECURITY_TOKEN'))

我可以通过以下方式解决这个问题:

test._swf.provider.security_token = os.environ.get('AWS_SECURITY_TOKEN')
test.poll()

但似乎非常讨厌和讨厌,因为每次我创建一个新的layer2对象时我都必须这样做。有人注意到了吗?这种行为是出于某种原因,还是我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:0)

临时安全凭证的手动管理不仅非常糟糕,而且安全性也较低。更好的选择是为实例分配IAM角色,这样他们就会自动拥有该角色的所有权限,而无需显式凭据。

请参阅:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html