Amazon web services 断言您拥有外部服务的AWS IAM角色
可以访问IAM角色的服务是否可以断言(证明)它可以访问外部服务的角色?本质上,IAM角色能否用于外部标识 我想做的是让在AWS内部运行的服务X对不在AWS内部运行的外部服务Y进行API调用,并说“我是AWS标识Amazon web services 断言您拥有外部服务的AWS IAM角色,amazon-web-services,authentication,amazon-iam,identity,Amazon Web Services,Authentication,Amazon Iam,Identity,可以访问IAM角色的服务是否可以断言(证明)它可以访问外部服务的角色?本质上,IAM角色能否用于外部标识 我想做的是让在AWS内部运行的服务X对不在AWS内部运行的外部服务Y进行API调用,并说“我是AWS标识arn:AWS:iam::account id:role/role name”,外部服务将能够验证这一事实 我意识到这可以通过向外部服务发送实际的访问密钥/机密凭据来实现,但我正在寻找一种不需要发送实时凭据的方法 外部服务可以验证的签名/JWT之类的东西是完美的。实际上,您可以使用AWS的
arn:AWS:iam::account id:role/role name
”,外部服务将能够验证这一事实
我意识到这可以通过向外部服务发送实际的访问密钥/机密凭据来实现,但我正在寻找一种不需要发送实时凭据的方法
外部服务可以验证的签名/JWT之类的东西是完美的。实际上,您可以使用AWS的STS服务 它将根据以下文档“创建并向受信任用户提供临时安全凭据,以控制对AWS资源的访问”:
我认为这是不可能的。该角色允许通过签名访问AWS API,但这要求两端都知道您显然没有的秘密访问密钥
您可以使用一个解决方案,该解决方案通过证明用户有权访问可验证的资源来工作。例如,您可以将S3 putObject权限授予角色,将该bucket公开,然后外部服务可以要求调用者将某个文件放入该bucket中。如果调用者有权访问角色,那么它可以编写对象,然后证明其对角色的访问。谢谢链接,但这并不是正确的解决方案。我不希望外部服务充当角色,我也不希望共享访问密钥,因为它们会授予对AWS资源的访问权。相反,我希望内部服务使用AWS标识与外部服务进行身份验证。比如,“我证明我是X角色”,但仅此而已。除非我遗漏了什么,否则STS允许你检索临时访问密钥,但它们没有任何限制。嗨,雅各布,现在我真的不知道你想做什么,但我认为STS可以在这种情况下帮助你。在您想要进行身份验证的任何时候,使用STS检索临时密钥并使用它们,它们将在一段时间后过期。另一个AWS认证服务是Cognito,您可以快速查看一下,但我认为它没有帮助