如何使用自定义映射将 Cognito 用户池身份验证提供程序云化

How to cloudform cognito user pool authentication provider with custom mapping

我已经成功地在云中形成了一个认知身份池,但看不到如何将自定义映射添加到云形成中的“认知”“身份验证提供程序”。

在控制台的 Cognito 身份验证提供程序中,有一个下拉菜单,我必须手动在其中 select“使用自定义映射”,然后我可以手动将映射添加到我的自定义用户属性中。但是,我需要能够对其进行云化处理,并且正在努力为其找到正确的位置。

与此身份池一起使用的用户池将“SupportedIdentityProviders”设置为“COGNITO”

更新

我可以通过 运行ning ...

获取身份提供者列表
aws cognito-identity list-identities --max-results 2 --identity-pool-id xx-xxxx-x:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx

还有这个returns我

{
    "IdentityPoolId": "xx-xxxx-x:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
    "Identities": [
        {
            "IdentityId": "yy-yyyy-y:yyyyyyyy-yyyy-yyyy-yyyyyyyyyy",
            "Logins": [
                "cognito-idp.eu-west-2.amazonaws.com/eu-west-2_tFT6FBwIO"
            ],
            "CreationDate": "2021-11-15T12:38:48.249000+00:00",
            "LastModifiedDate": "2021-11-15T12:38:48.263000+00:00"
        }
    ]
}

使用“登录”信息我现在可以运行...

aws cognito-identity get-principal-tag-attribute-map --identity-pool-id xx-xxxx-x:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx --identity-provider-name "cognito-idp.eu-west-2.amazonaws.com/eu-west-2_tFT6FBwIO"

哪个returns

{
    "IdentityPoolId": "xx-xxxx-x:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
    "IdentityProviderName": "cognito-idp.eu-west-2.amazonaws.com/eu-west-2_tFT6FBwIO",
    "UseDefaults": false,
    "PrincipalTags": {
        "attr_x": "custom:attr_x",
        "attr_y": "custom:attr_y",
        "attr_z": "custom:attr_z"
    }
}

但是,我仍然不知道如何通过 cloudformation 设置此映射...

问候 马克.

CloudFormation 尚不支持设置 PrincipalTag 属性映射,但 according to the CloudFormation roadmap 将很快得到支持。 同时,您必须创建一个 CloudFormation Custom Resource or Resource Provider 来实现此目的。