AWS Confused Vice - "外部ID"真的只是一个"密码"吗?

Duk*_*gal 5 security passwords amazon-web-services

Amazon Web Services描述了混淆的副问题,并规定使用"外部ID"作为解决方案.

http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html http://blogs.aws.amazon.com/security/blog/tag/Confused+Deputy

困惑的副问题也在这里描述:http : //www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html https://en.wikipedia.org/wiki/Confused_deputy_problem

然而,在所有花哨的谈话中,似乎最终"外部ID"只是一个密码.我理解这是对还是错?

Mat*_*ser 7

是的,与IAM第三方角色一起使用的外部ID是一个美化的密码.

我将在这里使用以下术语:

  • ServiceA - AWS账户的第三方服务
  • User1 - ServiceA的原始善意用户
  • User2 - ServiceA的狡猾用户试图访问User1的AWS账户

IAM角色是确保只有ServiceA可以使用User1的IAM角色的一种方法.User1的IAM角色与ServiceA的AWS账户绑定.但需要额外的外部ID以确保ServiceA仅代表User1.如果没有外部ID,User2可以欺骗ServiceA代理User2.

如果User2猜到User1的IAM角色ARN并且可以告诉ServiceA使用哪个外部ID,则User2可以欺骗ServiceA代表User1的AWS账户进行操作.

因此,ServiceA应始终指定外部ID的值.这限制了User2在ServiceA眼中将自己欺骗为User1的能力.