下面的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
清除-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中。
这最近在服务器上工作,但我无法找出它停止工作的原因。
答案 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