使用-STSRole:SAML身份验证的凭据生成失败

时间:2017-11-27 17:45:43

标签: adfs aws-powershell

下面的AWS Powershell SAML代码在所有Windows工作站上都​​没有问题但在所有Windows服务器上我们都收到此错误:

使用-STSRole:SAML身份验证中的凭据生成失败。     + CategoryInfo:InvalidOperation:(Amazon.PowerShe ... seSTSRoleCmdlet:UseSTSRoleCmdlet)[Use-STSRole],InvalidOperationException     + FullyQualifiedErrorId:Amazon.Runtime.AmazonClientException,Amazon.PowerShell.Cmdlets.STS.UseSTSRoleCmdlet

powershell代码:

清除-AWSCredentials

Set-DefaultAWSRegion eu-west-1

$ ADFSendpoint = Set-AWSSamlEndpoint -Endpoint“https://adfs.mycompany.com/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=urn:amazon:webservices” - StoreAs ADFSendpoint

Set-AWSSamlRoleProfile -EndpointName $ ADFSendpoint -StoreAllRoles

Set-AWSCredentials -ProfileName“123456789012:role / MyRole”

$ RoleArn =“arn:aws:iam :: 123456789012:role / MyRole”

$ CredentialAws =(使用-STSRole -RoleArn $ RoleArn -RoleSessionName “MySession的”)。凭证

$ CredentialAws

Get-S3Bucket

这很令人抓狂 - 它们在其他方面设置相同,并且ADFS端点在服务器上的浏览器中仍然可以正常工作,但不在Powershell中。

这最近在服务器上工作,但我无法找出它停止工作的原因。

1 个答案:

答案 0 :(得分:0)

问题已解决。

Fiddler透露了证书问题(见下文),结果证明有两个版本的根证书和#34; Starfield Class 2 Certification Authority" - 工作站上的版本将于2034年到期,服务器上的版本将于2024年到期 - 因此两者均应有效,但2024版本仍显示chain with warning,而2034版本显示chain with no warning

因此,AWS Powershell端点sts.amazonaws.com最近必须更改其证书链才会导致此症状。

EVT。 google for Powershell脚本将SSL证书保存到sts.amazonaws.com等网站的文件中。

----- fiddler输出-----

会话#6:由于RemoteCertificateChainErrors,服务器(sts.amazonaws.com)提供了未验证的证书。

0 - 无法将证书链构建到受信任的根颁发机构。

1 - 撤销功能无法检查证书的撤销。

2 - 撤销功能无法检查吊销,因为吊销服务器处于脱机状态。

ISSUER:CN = Amazon,OU = Server CA 1B,O = Amazon,C = US