0

下面的 AWS Powershell SAML 代码在所有 Windows 工作站上都​​可以正常工作,但在所有 Windows 服务器上,我们都会收到此错误:

Use-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

设置-AWSSamlRoleProfile -EndpointName $ADFSendpoint -StoreAllRoles

Set-AWSCredentials -ProfileName "123456789012:role/MyRole"

$RoleArn = "arn:aws:iam::123456789012:role/MyRole"

$CredentialAws = (使用-STSRole -RoleArn $RoleArn -RoleSessionName "MySession").Credentials

$CredentialAws

获取-S3Bucket


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

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

4

1 回答 1

0

问题已解决。

Fiddler 揭示了一个证书问题(见下文),结果发现有两个版本的根证书“Starfield Class 2 Certification Authority”——工作站上的版本到期 2034,服务器上的版本到期 2024——所以两者都应该是有效的,但 2024 版本仍然显示链有警告,而 2034 版本显示链没有警告

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

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

-----提琴手输出-----

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

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

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

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

发行人:CN=亚马逊,OU=服务器 CA 1B,O=亚马逊,C=US

于 2017-11-30T09:47:38.537 回答