【问题标题】:How can I map AD FS group membership to custom AWS Cognito attributes?如何将 AD FS 组成员身份映射到自定义 AWS Cognito 属性?
【发布时间】:2019-01-08 17:49:56
【问题描述】:

我的 AD FS 服务器上有以下声明:

LDAP 属性:
令牌组 - 不合格的名称

传出索赔类型: 组

在我的 Saml 响应中返回用户所属的组:

    <AttributeStatement>
        <Attribute Name="http://schemas.xmlsoap.org/claims/Group">
            <AttributeValue>Domain Users</AttributeValue>
            <AttributeValue>AWS-Production</AttributeValue>
            <AttributeValue>AWS-Dev</AttributeValue>
        </Attribute>
    </AttributeStatement>

如何将这些组映射到自定义 cognito 用户池属性?

我已尝试使用以下 SAML 属性名称进行映射: http://schemas.xmlsoap.org/claims/Grouphttp://schemas.microsoft.com/ws/2008/06/identity/claims/groups

但属性不会映射到 Cognito。我尝试将我的自定义映射到电子邮件地址等其他属性并且成功了,只是我无法成功映射这些值的组。

附:抱歉,我会发布更详细地记录该过程的照片,但 imgur 在我的工作中被阻止了。

【问题讨论】:

  • 两个重要的点,1) 确保自定义属性被标记为可变和可写,这听起来可能违反直觉,但它是映射工作的必要条件。 2) 如果您打算将该属性用于授权决策,则必须取消选中“aws.cognito.signin.user.admin”范围。这可以防止用户使用他们的访问令牌写入该属性。
  • 你解决了吗?

标签: amazon-web-services amazon-cognito saml-2.0 adfs3.0


【解决方案1】:

我最近必须进行类似的设置,当我将 AD 组映射到 Cognito custom:adgroups 用户池属性时,我的映射工作。

我的 SAML 响应片段如下所示:

<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role">
    <AttributeValue>DEV-ODATA</AttributeValue>
    <AttributeValue>DEV-INDEX_PRICES</AttributeValue>
    <AttributeValue>DEV-INDEX_DELAYS</AttributeValue>
    <AttributeValue>DEV-WEBSITE_REPORTING</AttributeValue>
    <AttributeValue>DEV-VALIDATION</AttributeValue>
    <AttributeValue>DEV-ADMIN</AttributeValue>
    <AttributeValue>DEV-GUI</AttributeValue>
    <AttributeValue>DEV-FLOWS</AttributeValue>
    <AttributeValue>DEV-LEGAL</AttributeValue>
    <AttributeValue>DEV-IMG</AttributeValue>
    <AttributeValue>DEV-USER</AttributeValue>
</Attribute>

而且映射很简单

https://aws.amazon.com/SAML/Attributes/Role  ->   custom:adgroups

但之后出现了另一个问题,我必须将这些映射到 Cognito 组,您可能也想这样做,以管理应用程序权限。有关我如何找到解决方法的详细信息,请参见:AWS Cognito - create groups from ADFS

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    我刚刚遇到这个问题,我的头撞在墙上好几天了。我终于通过在用户客户端上启用属性的读写权限来让它工作。

    转到应用程序客户端页面,向下到底部,您将看到一个链接,其中说明设置属性读取和写入权限。当您单击它时,将出现一个新的 UI。为您的自定义属性单击读取和写入,然后 SAML 将有权进入那里。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2017-11-19
      • 2020-02-06
      • 1970-01-01
      • 2018-10-23
      相关资源
      最近更新 更多