AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Amazon S3:允许 Amazon Cognito 用户访问其存储桶中的对象

此示例显示您可以如何创建策略 允许 Amazon Cognito 用户访问特定 S3 存储桶中的对象。该策略仅允许访问名称包含 cognito、应用程序名称以及联合用户 ID 的对象,由 ${cognito-identity.amazonaws.com.cn:sub} 变量表示。要使用此策略,请将示例策略中的红色文本替换为您自己的信息。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws-cn:s3:::<BUCKET-NAME>"], "Condition": {"StringLike": {"s3:prefix": ["cognito/<APPLICATION-NAME>/"]}} }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws-cn:s3:::<BUCKET-NAME>/cognito/<APPLICATION-NAME>/${cognito-identity.amazonaws.com.cn:sub}", "arn:aws-cn:s3:::<BUCKET-NAME>/cognito/<APPLICATION-NAME>/${cognito-identity.amazonaws.com.cn:sub}/*" ] } ] }

Amazon Cognito 是在移动应用程序中使用 Web 联合身份验证的方便途径。通过使用 Amazon Cognito,您可以为已使用第三方身份提供商 (而非使用 IAM 用户) 登录应用程序的用户 (例如使用 Login with Amazon、Facebook、Google 或任何与 Open-ID Connect (OIDC) 兼容的身份提供商登录的用户) 提供对 AWS 资源的访问权限。要将 Amazon Cognito 用于 Web 联合身份验证,您需要创建一个角色来确定联合身份用户将拥有哪些权限。您可为已通过身份验证的用户创建一个角色。如果您的应用程序允许未通过身份验证的 (客户机) 用户,您可以创建为这些用户定义权限的第二个角色。

有关 Amazon Cognito 的更多信息,请参阅以下内容: