首页 > 解决方案 > 获取 AWS STS 的假设角色WithSAML 的 SAMLAssertion

问题描述

我无法理解如何获取 SAMLAssertion 令牌以作为 STS 方法的参数之一传递 -> assumeRoleWithSAML。

请帮助我理解这一点,因为我已经通过了假设角色与SAML的 文档。

我正在使用的代码片段,

var params = {
  PrincipalArn: 'arn:aws:iam::12345678910:user/userAccount',
  RoleArn: 'arn:aws:iam::12345678910:role/admin',
  SAMLAssertion: 'a4FameaC4Twkfjhsadkfjhsfkhsdfsdhafislahsdfaiughdiguhdfiughdfiughdagiuhdafgiusfhdaiiiilholfjpwfmwpefmo;ivnjeiuvneinveiovnA==',
};

var stsPromise = new AWS.STS({ apiVersion: '2011-06-15' }).assumeRoleWithSAML(params).promise();

它说,

'Invalid base64 SAMLResponse (Service: AWSOpenIdDiscoveryService; Status Code
: 400; Error Code: AuthSamlInvalidSamlResponseException; Request ID: b38250b8-39
dc-4188-9bdd-a69c102a5168)'

请帮助我了解要为 SAMLAssertions 传递什么值?我可以调用其他任何 AWS 服务来获取它吗?

标签: javascriptnode.jsamazon-web-servicesaws-sdk

解决方案


推荐阅读