You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制IAM用户/Assumed Role在AWS Cognito中启用未认证用户身份?

方案结论

可以通过AWS服务控制策略(SCP)实现该限制,这是AWS组织层面统一管控Cognito未认证身份开启操作的最优方案。

具体实现逻辑

Cognito身份池的创建、更新操作中,是否开启未认证用户身份由请求参数AllowUnauthenticatedIdentities控制,你只需配置SCP拒绝所有将该参数设为true的相关请求即可,示例策略如下:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "cognito-identity:CreateIdentityPool",
        "cognito-identity:UpdateIdentityPool"
      ],
      "Resource": "*",
      "Condition": {
        "Bool": {
          "cognito-identity:AllowUnauthenticatedIdentities": "true"
        }
      }
    }
  ]
}
说明与注意事项
  • 该策略会作用于组织内所有绑定了该SCP的账号,覆盖所有IAM用户、IAM角色以及Assumed Role身份,只要尝试开启Cognito未认证用户功能的请求都会被直接拦截。
  • 策略仅限制新开启未认证身份的操作,不会自动禁用已经开启该功能的存量Cognito身份池,存量资源需要你单独排查整改。
  • 如果你的账号未加入AWS组织无法使用SCP,也可以通过给账号内所有IAM实体配置统一权限边界,添加上述相同逻辑的Deny语句实现同等管控效果。

内容的提问来源于stack exchange,提问作者Prathyush Peettayil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:36:03