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

bfl*_*gan 5 amazon-web-services saml-2.0 amazon-cognito 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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

PS 抱歉,我本想发布更详细地记录该过程的照片,但 imgur 在我的工作中被屏蔽了。

tib*_*bor 0

我最近必须进行类似的设置,当我将 AD 组映射到 Cognito 自定义: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>
Run Code Online (Sandbox Code Playgroud)

映射很简单

https://aws.amazon.com/SAML/Attributes/Role  ->   custom:adgroups
Run Code Online (Sandbox Code Playgroud)

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

希望这可以帮助。