简介:我是AWS的新手,因此非常感谢任何帮助
目标:我正在尝试使用AWS在我的Web应用程序上实现两个不同的角色,方法是使用IAM角色访问不同的网页(通过S3存储桶)
我做了什么:
1 - 我已经构建了一个托管在AWS Elastic Beanstalk上的前端应用程序
2 - 应用程序使用AWS Cognito进行身份验证。
3 - 我已将AWS Cognito与AWS Cognito联合身份相集成,以便为每个用户创建身份。
4 - 我在AWS Cognito中创建了一个名为admin的组
5 - 我已向管理员组分配了一个新的管理员IAM角色
6 - 我为角色访问AWS S3添加了内联策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1513036814609",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::opaladminpage"
}
]
}
7 - 我创建了一个S3bucket
8 - 我上传了1页静态网站
9 - 我已将这些S3政策添加到我的存储桶
{
"Id": "Policy1513079053770",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1513079052595",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::opaladminpage",
"Principal": {
"AWS": [
"arn:aws:iam::381145069197:role/SASPortalAdministrator"
]
}
}
]
}
10 - 我在我的前端应用程序中添加了一个url链接到我的1页静态网站 错误信息: 当我点击我的应用程序中的链接时,我收到此错误消息?
403 Forbidden
• Code: AccessDenied
• Message: Access Denied
• RequestId: 434343543535GFGFGFGF
• HostId:citytytTTYTYTUTUT
答案 0 :(得分:0)
"Resource": [
"arn:aws:s3:::mybucket",
"arn:aws:s3:::mybucket/*"
]
第一个资源适用于存储桶上的操作,第二个资源适用于存储桶中对象的操作。
此外,不要将s3:*
作为您的操作,因为这包括删除对象甚至存储桶本身等所有内容。您需要确定必要的实际权限。