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

上次更新时间:2019 年 7 月 9 日

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

简短描述

如果您使用的是 SAML 联合身份验证,请首先确保已正确配置 Active Directory。有关更多信息,请参阅使用 Windows Active Directory、ADFS 和 SAML 2.0 启用 AWS 联合身份验证

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

要解决与 SAML 相关的错误:

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

解决方法

捕获并解码 SAML 响应

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

查看已解码文件中的值

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

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

检查错误并确认配置

检查以下任何值的错误,并确认以下配置正确:

  1. 确认断言规则已配置为满足所需元素,并且所有 ARN 均准确。有关详细信息,请参阅配置具有信赖方信任的 SAML 2.0 IdP 并添加断言
  2. 确认您已将最新元数据文件从 IdP 上传到 SAML 提供商中的 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 要求的关键属性和值


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?