如何捕获和分析 SAML 响应以解决 SAML 2.0 与 AWS 联合的常见错误?

上次更新时间:2021 年 3 月 22 日

我正在将本地 Active Directory 与 SAML 集成结合使用,但无法连接到 AWS 管理控制台。如何解决此问题?

简短描述

如果您使用的是 SAML 联合身份验证,请确保已正确配置 Active Directory。有关更多信息,请参阅使用 Active Directory 联合身份验证服务(AD FS)进行 AWS 联合身份验证

如果您是第一次设置对 AWS 账户的联合访问,则最佳做法是使用 AWS IAM Identity Center(AWS Single Sign-On 的后继者) 服务为多个 AWS 账户提供集中管理的 IAM Identity Center 权限。

要排查与 SAML 相关的错误,请执行以下操作:

  • 从浏览器捕获并解码 SAML 响应。
  • 查看已解码文件中的值。
  • 检查错误,然后确认配置。

解决方法

捕获并解码 SAML 响应

从浏览器捕获并解码 SAML 响应,然后查看发送到 AWS 的信息。有关特定于浏览器的说明,请参阅如何在浏览器中查看 SAML 响应以排查问题

查看已解码文件中的值

查看已解码 SAML 响应文件中的值:

  1. 确认 saml:NameID 属性的值与经过身份验证的用户的用户名匹配。
  2. 查看 https://aws.amazon.com/SAML/Attributes/Role 的值。角色和 SAML 提供商的 Amazon 资源名称 (ARN) 区分大小写,这些 ARN 必须与您 AWS 账户中的资源匹配。
  3. 查看 https://aws.amazon.com/SAML/Attributes/RoleSessionName 的值。确保该值与声明规则的相应值匹配。如果将该属性值配置为电子邮件地址或账户名称,则该值必须与经过身份验证的 Active Directory 用户的电子邮件地址或账户名相对应。

检查错误并确认配置

检查上述任意值是否有错误,并确认以下配置正确无误:

  1. 确认断言规则已配置为满足所需元素,并且所有 ARN 均准确。有关更多信息,请参阅配置具有信赖方信任的 SAML 2.0 IdP 并添加断言
  2. 确认已在 SAML 提供商中将最新的元数据文件从 IdP 上传到 AWS。有关更多信息,请参阅使 SAML 2.0 联合身份用户能够访问 AWS 管理控制台
  3. 确认您已正确配置 AWS Identity and Access Management (IAM) 角色的信任策略。有关更多信息,请参阅修改角色
  4. 确认尝试登录控制台的 Active Directory 用户是与 IAM 角色对应的 Active Directory 组的成员。

有关常见错误列表,请参阅对 SAML 2.0 与 AWS 的联合进行问题排查。如果要在 Active Directory 中配置断言规则,请确保为身份验证响应配置 SAML 断言,以标识 AWS 要求的关键属性和值


这篇文章对您有帮助吗?


您是否需要账单或技术支持?