本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Cognito 中的数据保护
分担责任模型 AWS 分担责任模型
出于数据保护目的,我们建议您保护 AWS 账户凭据并使用 AWS Identity and Access Management (IAM) 设置个人用户帐户。这仅向每个用户授予履行其工作职责所需的权限。我们还建议您通过以下方式保护数据:
-
对每个账户使用多重身份验证 (MFA)。
-
使用SSL/TLS与 AWS 资源通信。
-
使用API进行设置和用户活动记录 AWS CloudTrail。
-
使用 AWS 加密解决方案以及 AWS 服务中的所有默认安全控制。
-
使用高级托管安全服务(例如 Amazon Macie),它有助于发现和保护存储在 Amazon S3 中的个人数据。
我们强烈建议您切勿将敏感的可识别信息(例如您客户的账号)放入自由格式字段(例如名称字段)。这包括您使用控制台、、API或使用 Amazon Cognito 或其他 AWS 服务时。 AWS CLI AWS SDKs您输入到 Amazon Cognito 或其他服务中的任何数据都可能被选取以包含在诊断日志中。当您URL向外部服务器提供时,请不要在中包含凭据信息URL以验证您对该服务器的请求。
数据加密
数据加密通常分为两类:静态加密和传输中加密。
静态加密
Amazon Cognito 中的数据按照行业标准进行静态加密。
传输中加密
作为一项托管服务,Amazon Cognito 受到 AWS 全球网络安全的保护。有关 AWS 安全服务以及如何 AWS 保护基础设施的信息,请参阅AWS 云安全
您可以使用 AWS 已发布的API调用通过网络访问 Amazon Cognito。客户端必须支持以下内容:
-
传输层安全 (TLS)。我们需要 TLS 1.2,建议使用 TLS 1.3。
-
具有完美前向保密性的密码套件 (),例如(Ephemeral Diffie-HellmanPFS)或(Elliptic C DHE urve Ephemeral Diffie-Hellman)。ECDHE大多数现代系统(如 Java 7 及更高版本)都支持这些模式。
此外,必须使用访问密钥 ID 和与IAM委托人关联的私有访问密钥对请求进行签名。或者,您可以使用 AWS Security Token Service(AWS STS)生成临时安全凭证来对请求进行签名。
Amazon Cognito 用户池和身份池具有经过身份IAM验证、未经身份验证和令牌授权的操作。API未经身份验证和令牌授权的API操作仅供您的客户(即您的应用程序的最终用户)使用。未经身份验证和令牌授权的API操作在静态和传输过程中都会被加密。有关更多信息,请参阅 Amazon Cognito 用户池经过身份验证和未经身份验证的操作 API。
注意
Amazon Cognito 在内部加密您的内容,并且不支持客户提供的密钥。