Amazon Cognito User Pools 的操作、资源和条件键 - 服务授权参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Cognito User Pools 的操作、资源和条件键

Amazon Cognito User Pools(服务前缀:cognito-idp)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。

参考:

Amazon Cognito User Pools 定义的操作

您可以在 IAM 策略语句的 Action 元素中指定以下操作。可以使用策略授予在 AWS中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource 元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。

操作表的条件键列包括可以在策略语句的 Condition 元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。

注意

资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。

有关下表中各列的详细信息,请参阅操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
AddCustomAttributes 授予权限以将用户属性添加到用户池架构 写入

userpool*

AdminAddUserToGroup 授予权限以将任何用户添加到任何组 写入

userpool*

AdminConfirmSignUp 授予权限以在没有确认码的情况下确认任何用户注册 写入

userpool*

AdminCreateUser 授予权限以创建新用户并通过电子邮件或 SMS 发送欢迎消息 写入

userpool*

AdminDeleteUser 授予权限以删除任何用户 写入

userpool*

AdminDeleteUserAttributes 授予权限以删除任何用户的属性 写入

userpool*

AdminDisableProviderForUser 授予权限以取消任何用户池用户与第三方身份提供者 (IdP) 用户的关联 写入

userpool*

AdminDisableUser 授予权限以停用任何用户 写入

userpool*

AdminEnableUser 授予权限以激活任何用户 写入

userpool*

AdminForgetDevice 授予权限以注销任何用户设备 写入

userpool*

AdminGetDevice 授予权限以获取有关任何用户设备的信息 读取

userpool*

AdminGetUser 授予权限以按用户名查找任何用户 读取

userpool*

AdminInitiateAuth 授予权限以对任何用户进行身份验证 写入

userpool*

AdminLinkProviderForUser 授予权限以将任何用户池用户与第三方 IdP 用户相关联 写入

userpool*

AdminListDevices 授予权限以列出任何用户的记忆设备 列出

userpool*

AdminListGroupsForUser 授予权限以列出任何用户所属的组 列出

userpool*

AdminListUserAuthEvents 授予权限以列出任何用户的登录事件 读取

userpool*

AdminRemoveUserFromGroup 授予权限以从任何组删除任何用户 写入

userpool*

AdminResetUserPassword 授予权限以重置任何用户的密码 写入

userpool*

AdminRespondToAuthChallenge 授予权限以便在对任何用户进行身份验证期间响应身份验证质询 写入

userpool*

AdminSetUserMFAPreference 授予权限以设置任何用户的首选 MFA 方法 写入

userpool*

AdminSetUserPassword 授予权限以设置任何用户的密码 写入

userpool*

AdminSetUserSettings 授予权限以为任何用户设定用户设置 写入

userpool*

AdminUpdateAuthEventFeedback 授予权限以便为任何用户的身份验证事件更新高级安全反馈 写入

userpool*

AdminUpdateDeviceStatus 授予权限以更新任何用户的记忆设备状态 写入

userpool*

AdminUpdateUserAttributes 授予权限以更新任何用户的标准或自定义属性 写入

userpool*

AdminUserGlobalSignOut 授予权限以从所有会话中注销任何用户 写入

userpool*

AssociateSoftwareToken 授予权限以返回为用户生成的唯一共享私有密钥代码 写入
AssociateWebACL [仅权限] 授予将用户池与 AWS WAF Web ACL 关联的权限 写入

userpool*

webacl*

ChangePassword 授予权限以更改用户群体中指定用户的密码 写入
ConfirmDevice 授予权限以确认对设备的跟踪。此 API 调用是开始设备跟踪的调用 写入
ConfirmForgotPassword 授予权限以允许用户输入确认代码以重置忘记的密码 写入
ConfirmSignUp 授予权限以确认用户的注册并处理以前用户的现有别名 写入
CreateGroup 授予权限以创建新的用户池组 写入

userpool*

CreateIdentityProvider 授予权限以将身份提供者添加到用户池 写入

userpool*

CreateResourceServer 授予权限以为 OAuth 2.0 资源服务器创建和配置作用域 写入

userpool*

CreateUserImportJob 授予权限以创建用户 CSV 导入任务 写入

userpool*

CreateUserPool 授予权限以为用户池创建和设置密码策略 写入

aws:RequestTag/${TagKey}

aws:TagKeys

aws:ResourceTag/${TagKey}

CreateUserPoolClient 授予权限以创建用户池应用程序客户端 写入

userpool*

CreateUserPoolDomain 授予权限以添加用户池域 写入

userpool*

DeleteGroup 授予权限以删除任何空用户池组 写入

userpool*

DeleteIdentityProvider 授予权限以从用户池中删除任何身份提供者 写入

userpool*

DeleteResourceServer 授予权限以从用户池中删除任何 OAuth 2.0 资源服务器 写入

userpool*

DeleteUser 授予权限以允许用户删除自己 写入
DeleteUserAttributes 授予权限以删除用户的属性 写入
DeleteUserPool 授予权限以删除用户池 写入

userpool*

DeleteUserPoolClient 授予权限以删除任何用户池应用程序客户端 写入

userpool*

DeleteUserPoolDomain 授予权限以删除任何用户池域 写入

userpool*

DescribeIdentityProvider 授予权限以描述任何用户池身份提供者 读取

userpool*

DescribeResourceServer 授予权限以描述任何 OAuth 2.0 资源服务器 读取

userpool*

DescribeRiskConfiguration 授予权限以描述用户池和应用程序客户端的风险配置设置 读取

userpool*

DescribeUserImportJob 授予权限以描述任何用户导入任务 读取

userpool*

DescribeUserPool 授予权限以描述用户池 读取

userpool*

DescribeUserPoolClient 授予权限以描述任何用户池应用程序客户端 读取

userpool*

DescribeUserPoolDomain 授予权限以描述任何用户池域 读取
DisassociateWebACL [仅权限] 授予取消用户池与 AWS WAF Web ACL 关联的权限 写入

userpool*

ForgetDevice 授予权限以忘记指定设备 写入
ForgotPassword 授予权限以向最终用户发送消息,其中包含更改用户密码所需的确认代码 写入
GetCSVHeader 授予权限为用户导入 .csv 文件生成标头 读取

userpool*

GetDevice 授予权限以获取设备 读取
GetGroup 授予权限以描述用户池组 读取

userpool*

GetIdentityProviderByIdentifier 授予权限以将用户池 IdP 标识符与 IdP 名称相关联 读取

userpool*

GetLogDeliveryConfiguration 授予权限以获取用户群体的详细活动日志配置 读取

userpool*

GetSigningCertificate 授予权限以为用户池查找签名证书 读取

userpool*

GetUICustomization 授予权限以获取任何应用程序客户端的托管 UI 的 UI 自定义信息 读取

userpool*

GetUser 授予权限以获取用户的用户属性和元数据 读取
GetUserAttributeVerificationCode 授予权限以获取指定属性名称的用户属性验证码 读取
GetUserPoolMfaConfig 授予权限以查找用户池 MFA 配置 读取

userpool*

GetWebACLForResource [仅权限] 授予获取与 Amazon Cognito 用户池关联的 AWS WAF 网络 ACL 的权限 读取

userpool*

GlobalSignOut 授予权限以从所有设备中注销用户 写入
InitiateAuth 授予权限以启动身份验证流程 写入
ListDevices 授予权限以列出设备 列出
ListGroups 授予权限以列出用户池中的所有组 列出

userpool*

ListIdentityProviders 授予权限以列出用户池中的所有身份提供者 列出

userpool*

ListResourceServers 授予权限以列出用户池中的所有资源服务器 列出

userpool*

ListResourcesForWebACL [仅权限] 授予列出与 AWS WAF Web ACL 关联的用户池的权限 列出

webacl*

ListTagsForResource 授予权限以列出分配给 Amazon Cognito 用户池的标签 列出

userpool

ListUserImportJobs 授予权限以列出所有用户导入任务 列出

userpool*

ListUserPoolClients 授予权限以列出用户池中的所有应用程序客户端 列出

userpool*

ListUserPools 授予权限以列出所有用户池 列出
ListUsers 授予权限以列出所有用户池用户 列出

userpool*

ListUsersInGroup 授予权限以列出任何组中的用户 列出

userpool*

ResendConfirmationCode 授予权限以向用户群体中的指定用户重新发送确认(用于确认注册) 写入
RespondToAuthChallenge 授予权限以响应身份验证质询 写入
RevokeToken 授予权限以撤销指定刷新令牌生成的所有访问令牌 写入
SetLogDeliveryConfiguration 授予权限以设置或修改用户群体的详细活动日志配置 写入

userpool*

SetRiskConfiguration 授予权限以为用户池和应用程序客户端设置风险配置 写入

userpool*

SetUICustomization 授予权限以自定义任何应用程序客户端的托管 UI 写入

userpool*

SetUserMFAPreference 授予权限以设置用户群体中的用户的 MFA 首选项 写入
SetUserPoolMfaConfig 授予权限以设置用户池 MFA 配置 写入

userpool*

SetUserSettings 授予权限以设置用户设置,如多重身份验证(MFA) 写入
SignUp 授予权限以在指定的用户群体中注册用户,并创建用户名、密码和用户属性 写入
StartUserImportJob 授予权限以启动任何用户导入任务 写入

userpool*

StopUserImportJob 授予权限以停止任何用户导入任务 写入

userpool*

TagResource 授予权限以标记用户池 标记

userpool

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource 授予权限以取消标记用户池 标记

userpool

aws:TagKeys

UpdateAuthEventFeedback 授予权限以更新用户身份验证事件的反馈 写入

userpool*

UpdateDeviceStatus 授予权限以更新设备状态 写入
UpdateGroup 授予权限以更新任何组的配置 写入

userpool*

UpdateIdentityProvider 授予权限以更新任何用户池 IdP 的配置 写入

userpool*

UpdateResourceServer 授予权限以更新任何 OAuth 2.0 资源服务器的配置 写入

userpool*

UpdateUserAttributes 授予权限以允许用户更新特定属性(每次一个) 写入
UpdateUserPool 授予权限以更新用户池配置 写入

userpool*

aws:RequestTag/${TagKey}

aws:TagKeys

UpdateUserPoolClient 授予权限以更新任何用户池客户端 写入

userpool*

UpdateUserPoolDomain 授予权限以替换任何自定义域的证书 写入

userpool*

VerifySoftwareToken 授予权限以注册用户输入的 TOTP 代码,并将用户的软件令牌 MFA 状态标记为“已验证”(如果成功) 写入
VerifyUserAttribute 授予权限以使用一次性验证码来验证用户属性 写入

Amazon Cognito User Pools 定义的资源类型

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表

资源类型 ARN 条件键
userpool arn:${Partition}:cognito-idp:${Region}:${Account}:userpool/${UserPoolId}

aws:ResourceTag/${TagKey}

webacl arn:${Partition}:wafv2:${Region}:${Account}:${Scope}/webacl/${Name}/${Id}

Amazon Cognito User Pools 的条件键

Amazon Cognito User Pools 定义以下可以在 IAM policy 的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表

要查看适用于所有服务的全局条件键,请参阅可用的全局条件键

条件键 描述 类型
aws:RequestTag/${TagKey} 根据在请求中是否具有标签键值对来筛选访问权限 String
aws:ResourceTag/${TagKey} 按附加到资源的标签键值对筛选操作 String
aws:TagKeys 按请求中包含的键筛选访问 ArrayOfString