2016-11-16 113 views
0

我在使用AmazonSecurityTokenServiceClient調用AssumeRoleWithSAMLAsync時創建客戶端對象時,必須配置憑據,因爲我的意圖是使用AssumeRoleWithSaml創建臨時憑證。如何在不使用AmazonSecurityTokenServiceClient的情況下調用AssumeRoleWithSAMLAsync

AWS STS服務的文檔說明AssumeRoleWithSaml不需要憑證,但客戶端構造函數需要憑證。

我也試過直接與下面的參數

https://sts.amazonaws.com/ ?Version=2011-06-15&Action=AssumeRoleWithSAML&RoleArn=arn:aws:iam::xxx:role/xxx&DurationSeconds=900&PrincipalArn=arn:aws:iam::xxx:saml-provider/adfs&SAMLAssertion=base64 ecoded SAML token

調用API,但這樣也引發錯誤 <Code>InvalidIdentityToken</Code> <Message>Invalid base64 SAMLResponse (Service: AWSOpenIdDiscoveryService; Status Code: 400; Error Code: AuthSamlInvalidSamlResponseException; Request ID: xx-xxxx-xxx)</Message> 當我配置的憑據,我可以創建臨時證書。因此我確定我的SAML令牌是正確的。

任何人都可以讓我知道如何從郵遞員調用AssumeRoleWithSAML?或者如何通過代碼調用它而不實例化客戶端?

在我看來,雞和雞蛋的問題。

回答

0

您可以使用AnonymousAWSCredentials類創建客戶端在爲臨時角色憑證交換SAML令牌時可以使用的憑據。

相關問題