如何解决断言您对外部服务拥有AWS IAM角色
有权访问IAM角色的服务是否可以断言(证明)可以访问外部服务的角色?本质上,IAM角色可以用于外部身份吗?
我想做的是让服务X在AWS内运行,对运行在AWS内的外部服务Y not 进行API调用,并说“我是AWS身份arn:aws:iam::account-id:role/role-name
”,并且外部服务将能够验证这一事实。
我意识到可以通过向外部服务发送实际的访问密钥/秘密凭据来完成此操作,但是我正在寻找一种不涉及发送实时凭据的方法。
外部服务可以验证的签名/ JWT之类的东西很完美。
解决方法
实际上,您可以使用AWS的STS服务。
它将根据该文档“为受信任的用户创建并提供可控制您的AWS资源访问的临时安全凭证”:
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html
,我认为不可能。该角色通过签名提供对AWS API的访问权限,但这要求两端都知道您显然没有的秘密访问密钥。
您可以使用一种可通过证明用户有权访问可验证资源的解决方案。例如,您可以将角色授予S3 putObject权限,将存储桶公开,然后外部服务可以要求调用者将某个文件放入此存储桶。如果调用者有权访问角色,则可以编写对象,然后证明对象已访问角色。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。