如何将AD FS组成员资格映射到自定义AWS Cognito属性?

时间:2019-01-08 17:49:56

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

我在我的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>

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

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

但是这些属性不会映射到Cognito。我尝试将自定义项映射到其他属性(例如电子邮件地址),并成功完成了尝试,仅将其与无法成功映射到值的组进行了匹配。

P.S。抱歉,我会发布详细记录该过程的照片,但是imgur在我的工作中受阻。

2 个答案:

答案 0 :(得分:0)

最近我必须进行类似的设置,并且当我将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

希望这会有所帮助。

答案 1 :(得分:0)

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

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