当出现“AWS S3跨账户网站访问被拒绝”错误时,可以按照以下步骤进行解决:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCrossAccountRead",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::目标账户ID:root"
},
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::你的桶名/*",
"arn:aws:s3:::你的桶名"
]
}
]
}
确保将“目标账户ID”和“你的桶名”替换为正确的值。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCrossAccountAccess",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::源S3桶名/*",
"arn:aws:s3:::源S3桶名"
]
}
]
}
确保将“源S3桶名”替换为正确的值。
aws s3control create-access-point --account-id 目标账户ID --name 访问点名称 --bucket 源S3桶名 --vpc-configuration VpcId=VPC_ID,SubnetIds=[SUBNET_ID_1,SUBNET_ID_2],VpcEndpointId=VPC_ENDPOINT_ID
确保将“目标账户ID”、“访问点名称”、“源S3桶名”、“VPC_ID”、“SUBNET_ID_1”、“SUBNET_ID_2”和“VPC_ENDPOINT_ID”替换为正确的值。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCrossAccountAccess",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::目标账户ID:role/目标IAM角色名称"
},
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::你的桶名/*",
"arn:aws:s3:::你的桶名"
]
}
]
}
确保将“目标账户ID”和“目标IAM角色名称”替换为正确的值。
完成上述步骤后,源账户的S3桶将允许目标账户的IAM角色进行跨账户访问。
上一篇:AWS S3拒绝额外的表单字段
下一篇:AWS S3类的Maven依赖