第三方访问您的AWS资源
简介
有时候,你需要给予外包的第三方厂商授予访问和使用AWS资源的权限。你可以通过在condition中指定External ID来指定谁可以使用你创建出来的IAM role。
这个ID是第三方随机生成的一串字符。因此,在配置IAM role的时候需要第三方提供一个External ID 。
举例
假设你有个供应商叫Example公司,这家公司还服务很多其他的使用AWS的企业。你不应该给它IAM user,这是在AWS账号中一个长期有效的权限。相反,你应该使用IAM role。创建一个role,role关联的policy假设如下所示
假设Example公司提供了他们的External ID:
"Condition": {"StringEquals": {"sts:ExternalId": "Unique ID Assigned by Example Corp"}}
你可以将上面的policy调整为:
创建完成以后你把role的Amazon Resource Name (ARN)提供给Example公司,当Example Corp需要访问你的AWS资源时,该公司的人就会调用AWS sts:AssumeRole API。该调用包括要角色的ARN和External ID参数。
这样,任何想assume该角色的人必须是该角色的负责人,并且必须包括正确的External ID。
参考资料
[docs] How to use an external ID when granting access to your AWS resources to a third party
最后更新于