本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 Amazon Cognito 使用服务相关角色
Amazon Cognito 使用 AWS Identity and Access Management (IAM) 服务相关角色。服务相关角色是一种独特的 IAM 角色,其信任策略 AWS 服务 允许担任该角色。 Service-linked 角色由 Amazon Cognito 预定义,包括该服务代表您调用其他 AWS 服务所需的所有权限。
服务相关角色可让您更轻松地设置 Amazon Cognito,因为您不必手动添加必要的权限。Amazon Cognito 定义其服务相关角色的权限,除非另外定义,否则只有 Amazon Cognito 可以代入该角色。定义的权限包括信任策略和权限策略,以及不能附加到任何其他 IAM 实体的权限策略。
只有在首先删除相关资源后,您才能删除服务关联角色。这将保护您的 Amazon Cognito 资源,因为您不会无意中删除对资源的访问权限。
有关支持服务相关角色的其它服务的信息,请参阅使用 IAM 的AWS 服务并查找Service-Linked 角色列中显示为是的服务。请选择是与查看该服务的服务关联角色文档的链接。
Service-linked 亚马逊 Cognito 的角色权限
Amazon Cognito 使用下列服务相关角色:
-
AWSServiceRoleForAmazonCognitoIdpEmailService— 允许 Amazon Cognito 用户池服务使用你的 Amazon SES 身份发送电子邮件。
-
AWSServiceRoleForAmazonCognitoIdp— 允许 Amazon Cognito 用户池为你的 Amazon Pinpoint 项目发布事件和配置终端节点。
AWSServiceRoleForAmazonCognitoIdpEmailService
AWSServiceRoleForAmazonCognitoIdpEmailService 服务相关角色信任以下服务代入该角色:
-
email.cognito-idp.amazonaws.com
角色权限策略允许 Amazon Cognito 对指定资源完成以下操作:
允许的操作 AWSServiceRoleForAmazonCognitoIdpEmailService:
-
操作:
ses:SendEmail和ses:SendRawEmail -
资源:
*
此策略拒绝 Amazon Cognito 对指定资源完成以下操作的功能:
拒绝的操作
-
操作:
ses:List* -
资源:
*
凭借这些权限,Amazon Cognito 只能使用 Amazon SES 中经过验证的电子邮件地址向用户发送电子邮件。当您的用户在客户端应用程序中针对用户池执行特定操作(如注册或重置密码)时,Amazon Cognito 将向用户发送电子邮件。
您必须配置权限,允许 IAM 实体(如用户、组或角色)创建、编辑或删除服务关联角色。有关更多信息,请参阅 IAM 用户指南中的Service-linked 角色权限。
AWSServiceRoleForAmazonCognitoIdp
AWSServiceRoleForAmazonCognitoIdp 服务相关角色信任以下服务来代入该角色:
-
email.cognito-idp.amazonaws.com
角色权限策略允许 Amazon Cognito 对指定资源完成以下操作:
允许的操作 AWSServiceRoleForAmazonCognitoIdp
-
操作:
cognito-idp:Describe -
资源:
*
有了此权限,Amazon Cognito 可以为您调用 Describe Amazon Cognito API 操作。
注意
当您将 Amazon Cognito 与采用 createUserPoolClient 和 updateUserPoolClient 的 Amazon Pinpoint 集成时,资源权限将作为内联策略添加到 SLR 中。内联策略将提供 mobiletargeting:UpdateEndpoint 和 mobiletargeting:PutEvents 权限。这些权限允许 Amazon Cognito 发布事件并为与 Cognito 集成的 Pinpoint 项目配置端点。
创建适用于 Amazon Cognito 的服务相关角色
您无需手动创建服务关联角色。当您将用户池配置为使用您的 Amazon SES 配置来处理在 AWS 管理控制台 AWS CLI、或 Amazon Cognito API 中发送电子邮件时,Amazon Cognito 会为您创建服务相关角色。
如果您删除该服务关联角色,然后需要再次创建,您可以使用相同流程在账户中重新创建此角色。当您将用户池配置为使用 Amazon SES 配置去处理邮件送达时,Amazon Cognito 会为您创建与服务相关的角色。
在 Amazon Cognito 可以创建此角色之前,您用来设置用户池的 IAM 权限必须包含 iam:CreateServiceLinkedRole 操作。有关更新 IAM 中权限的更多信息,请参阅《IAM 用户指南》中的更改 IAM 用户的权限。
编辑适用于 Amazon Cognito 的服务相关角色
您无法在中编辑 AmazonCognitoIdp 或 AmazonCognitoIdpEmailService 与服务相关的角色。 AWS Identity and Access Management在创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。不过,您可以使用 IAM 编辑角色的说明。有关更多信息,请参阅 IAM 用户指南中的编辑服务相关角色。
删除适用于 Amazon Cognito 的服务相关角色
如果不再需要使用某个需要服务关联角色的功能或服务,我们建议您删除该角色。如果您删除角色,则只应保留 Amazon Cognito 主动监控或维护的实体。在删除角色 AmazonCognitoIdp 或 AmazonCognitoIdpEmailService 服务相关角色之前,必须对使用该角色的每个用户池执行以下操作之一:
-
删除该用户池。
-
更新用户池中的电子邮件设置以使用默认的电子邮件功能。默认设置不使用服务相关角色。
请记住使用该角色 AWS 区域 的用户池在每个用户池中执行操作。
注意
如果在您尝试删除资源时,Amazon Cognito 服务正在使用该角色,则删除操作可能会失败。如果发生这种情况,请等待几分钟后重试。
删除 Amazon Cognito 用户池
-
登录 AWS 管理控制台 并打开 Amazon Cognito 控制台,网址为。https://console.aws.amazon.com/cognito
-
选择管理用户池。
-
在您的用户池页面上,选择要删除的用户池。
-
选择删除池。
-
在删除用户池窗口中,键入
delete,然后选择删除池。
更新 Amazon Cognito 用户池以使用默认电子邮件功能
-
登录 AWS 管理控制台 并打开 Amazon Cognito 控制台,网址为。https://console.aws.amazon.com/cognito
-
选择管理用户池。
-
在您的用户池页面上,选择要更新的用户池。
-
在左侧导航菜单中,选择消息自定义。
-
在是否要通过 Amazon SES 配置发送电子邮件?下,选择否 -使用 Cognito(默认)。
-
当您完成设置您的电子邮件账户选项时,选择保存更改。
使用 IAM 手动删除服务关联角色
使用 IAM 控制台 AWS CLI、或 AWS API 删除 AmazonCognitoIdp 或 AmazonCognitoIdpEmailService 与服务相关的角色。有关更多信息,请参阅 IAM 用户指南中的删除服务相关角色。
Amazon Cognito 服务相关角色支持的区域
Amazon Cognito 在所有提供服务 AWS 区域 的地方都支持与服务相关的角色。有关更多信息,请参阅AWS 区域 和端点。