Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
Amazon S3:允许 Amazon Cognito 用户访问其存储桶中的对象
此示例说明了如何创建基于身份的策略以允许 Amazon Cognito 用户访问特定 Amazon S3 存储桶中的对象。该策略仅允许访问名称包含 cognito
、应用程序名称以及联合主体 ID 的对象,由 ${cognito-identity.amazonaws.com:sub} 变量表示。此策略授予有计划地通过 Amazon API 或 Amazon CLI 完成此操作的必要权限。要使用此策略,请将示例策略中的斜体占位符文本
替换为您自己的信息。然后,按照创建策略或编辑策略中的说明操作。
对象键中使用的“sub”值不是用户池中的 sub 值,而是与身份池中的用户关联的身份 ID。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListYourObjects",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": [
"arn:aws:s3:::bucket-name
"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"cognito/application-name
/${cognito-identity.amazonaws.com:sub}/*"
]
}
}
},
{
"Sid": "ReadWriteDeleteYourObjects",
"Effect": "Allow",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::bucket-name
/cognito/application-name
/${cognito-identity.amazonaws.com:sub}/*"
]
}
]
}
Amazon Cognito 为您的 Web 和移动应用程序提供身份验证、授权和用户管理。您的用户可使用用户名和密码直接登录,也可以通过第三方 (如 Facebook、Amazon 或 Google) 登录。
Amazon Cognito 的两个主要组件是用户池和身份池。用户池是为您的应用程序提供注册和登录选项的用户目录。使用身份池,您可以授予用户访问其他 Amazon 服务的权限。您可以单独或配合使用身份池和用户池。
有关 Amazon Cognito 的更多信息,请参阅 Amazon Cognito 用户指南。