如何通过CloudFormation为Cognito身份提供商配置自定义属性映射
你要的自定义属性映射配置对应CloudFormation的AWS::Cognito::IdentityPoolPrincipalTag资源类型,该资源专门用于为身份池的身份提供商配置主体标签映射规则,对应你控制台手动操作的「使用自定义映射」选项和映射规则配置。
配置示例(YAML格式)
Resources: # 你已有的Cognito身份池资源(仅做示意,保留你现有配置即可) MyCognitoIdentityPool: Type: AWS::Cognito::IdentityPool Properties: # 你现有身份池的其他配置,比如AllowUnauthenticatedIdentities、CognitoIdentityProviders等 AllowUnauthenticatedIdentities: false CognitoIdentityProviders: - ClientId: !Ref MyUserPoolClient ProviderName: cognito-idp.eu-west-2.amazonaws.com/eu-west-2_tFT6FBwIO ServerSideTokenCheck: true # 新增的自定义映射配置资源 MyCognitoIdentityProviderPrincipalTag: Type: AWS::Cognito::IdentityPoolPrincipalTag Properties: IdentityPoolId: !Ref MyCognitoIdentityPool # 填写你要配置的身份提供商名称,和你get-principal-tag-attribute-map命令里的参数一致 IdentityProviderName: cognito-idp.eu-west-2.amazonaws.com/eu-west-2_tFT6FBwIO # 对应控制台的「使用自定义映射」选项,设为false即启用自定义规则,不使用默认映射 UseDefaults: false # 自定义属性映射规则,键是映射后的标签名,值是用户池的自定义属性名 PrincipalTags: attr_x: custom:attr_x attr_y: custom:attr_y attr_z: custom:attr_z
注意事项
IdentityProviderName参数必须和你的用户池提供商名称完全匹配,格式为cognito-idp.<区域>.amazonaws.com/<用户池ID>,填写错误会导致配置不生效或部署失败- 如果你是跨模板配置,直接把
IdentityPoolId替换为你已有的身份池ID字符串即可 - 该资源部署后会覆盖对应身份提供商已有的手动映射配置,和你通过CLI获取到的配置完全对齐
内容的提问来源于stack exchange,提问作者ScaryAardvark
相关产品推荐
相关产品推荐

