Amazon web services S3 IAM策略在模拟器中起作用,但在现实生活中不起作用
我有一个客户,我希望能够上传文件,但不能在我的S3存储桶中自由导航。我已为他们创建了一个IAM用户帐户,并应用了以下策略:Amazon web services S3 IAM策略在模拟器中起作用,但在现实生活中不起作用,amazon-web-services,amazon-s3,amazon-iam,Amazon Web Services,Amazon S3,Amazon Iam,我有一个客户,我希望能够上传文件,但不能在我的S3存储桶中自由导航。我已为他们创建了一个IAM用户帐户,并应用了以下策略: { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1416387009000", "Effect": "Allow", "Action": [ "s3:ListAllMyBuck
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1416387009000",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "Stmt1416387127000",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::progress"
]
},
{
"Sid": "Stmt1416387056000",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::progress/*"
]
}
]
}
有三种说法:
ARN:aws:s3:::progress
)具有ListBucket
权限,并且策略模拟器说应该允许该用户
我已经注销并再次作为目标用户登录,以防策略只在注销时刷新,但仍然没有乐趣
我做错了什么?我错过了什么吗?我猜,当使用AWS控制台时,在列出存储桶中的对象之前,会进行另一次调用以获取存储桶位置,而用户没有进行该调用的权限。您还需要为帐户授予访问
GetBucketLocation
的权限。来自
当您使用AmazonS3控制台时,请注意,当您单击一个bucket时,
控制台首先发送GET Bucket location请求以查找
部署铲斗的AWS区域。然后控制台使用
要发送GET bucket的bucket的特定于区域的端点(列表
对象)请求。因此,如果用户要使用控制台,
您必须为s3:GetBucketLocation操作授予权限,如图所示
在以下政策声明中:
{
“Sid”:“RequiredByS3Console”,
“操作”:[“s3:GetBucketLocation”],
“效果”:“允许”,
“资源”:[“arn:aws:s3:::*”]
}
我的猜测是,当使用AWS控制台时,会进行另一次调用,以获取bucket位置,然后才能列出该bucket中的对象,而用户没有进行该调用的权限。您还需要为帐户授予访问GetBucketLocation
的权限。来自
当您使用AmazonS3控制台时,请注意,当您单击一个bucket时,
控制台首先发送GET Bucket location请求以查找
部署铲斗的AWS区域。然后控制台使用
要发送GET bucket的bucket的特定于区域的端点(列表
对象)请求。因此,如果用户要使用控制台,
您必须为s3:GetBucketLocation操作授予权限,如图所示
在以下政策声明中:
{
“Sid”:“RequiredByS3Console”,
“操作”:[“s3:GetBucketLocation”],
“效果”:“允许”,
“资源”:[“arn:aws:s3:::*”]
}
我的猜测是,当使用AWS控制台时,会进行另一次调用,以获取bucket位置,然后才能列出该bucket中的对象,而用户没有进行该调用的权限。您还需要为帐户授予访问GetBucketLocation
的权限。来自
当您使用AmazonS3控制台时,请注意,当您单击一个bucket时,
控制台首先发送GET Bucket location请求以查找
部署铲斗的AWS区域。然后控制台使用
要发送GET bucket的bucket的特定于区域的端点(列表
对象)请求。因此,如果用户要使用控制台,
您必须为s3:GetBucketLocation操作授予权限,如图所示
在以下政策声明中:
{
“Sid”:“RequiredByS3Console”,
“操作”:[“s3:GetBucketLocation”],
“效果”:“允许”,
“资源”:[“arn:aws:s3:::*”]
}
我的猜测是,当使用AWS控制台时,会进行另一次调用,以获取bucket位置,然后才能列出该bucket中的对象,而用户没有进行该调用的权限。您还需要为帐户授予访问GetBucketLocation
的权限。来自
当您使用AmazonS3控制台时,请注意,当您单击一个bucket时,
控制台首先发送GET Bucket location请求以查找
部署铲斗的AWS区域。然后控制台使用
要发送GET bucket的bucket的特定于区域的端点(列表
对象)请求。因此,如果用户要使用控制台,
您必须为s3:GetBucketLocation操作授予权限,如图所示
在以下政策声明中:
{
“Sid”:“RequiredByS3Console”,
“操作”:[“s3:GetBucketLocation”],
“效果”:“允许”,
“资源”:[“arn:aws:s3:::*”]
}
我没有看到上面指定的主体
()-这些策略是否附加到特定用户?是。这是附加到IAM用户的策略。我没有看到上面指定的Principal
()-这些策略是否附加到特定用户?是。这是附加到IAM用户的策略。我没有看到上面指定的Principal
()-这些策略是否附加到特定用户?是。这是附加到IAM用户的策略。我没有看到上面指定的Principal
()-这些策略是否附加到特定用户?是。这是附加到IAM用户的策略。我测试了该场景,可以确认该bucket上需要s3:GetBucketLocation权限。我测试了该场景,可以确认该bucket上需要s3:GetBucketLocation权限。我测试了该场景,可以确认该bucket上需要s3:GetBucketLocation权限我测试了这个场景,可以确认s3:GetBucketLocation权限是bucket所必需的。