[英]AWS S3 Bucket Access Denied
這是我在存儲桶中實施的存儲桶策略。
{
"Id": "Policy1535460101139",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1535460099601",
"Action": "s3:*",
"Effect": "Deny",
"Resource": "arn:aws:s3:::bucketname",
"Condition": {
"StringNotEquals": {
"aws:SourceVpc": "vpc-id"
}
},
"Principal": "*"
}
]
}
保存此存儲區策略后,我無法從控制台(我擁有s3完全訪問權限)對存儲區進行列出或執行任何操作,並且所有顯示訪問權限的操作都被拒絕。 因此,當我嘗試從VPC中的ec2實例之一復制文件時,復制成功,但是我無法列出存儲桶中的對象。 我收到拒絕訪問的錯誤消息(EC2實例具有對存儲桶具有完全權限的角色)。 這是附加到EC2實例的角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucketname/*"
}
]
}
我想知道的是,這種奇怪的行為是我的存儲桶策略的原因還是其他原因。 如果是,那么有關如何立即更改我的存儲桶策略的任何提示? 此外,這是我的控制台的屏幕截圖。
是的,根據您的政策,它是100%。
該政策說:
"Effect": "Deny",
-拒絕訪問 "Principal": "*"
-適合所有人 "Resource": "arn:aws:s3:::bucketname"
-到此存儲桶 "StringNotEquals": {"aws:SourceVpc": "vpc-id"
-如果請求不是來自此VPC 至於如何解決它,則取決於您的要求,而您在問題中並未提到。
我什至無法從vpc內的實例訪問存儲桶的原因是,因為我沒有將VPC到S3端點連接到該實例所屬的子網的路由表。 與文檔中提到的相反,單詞"aws:SourceVpc"
用於允許來自同一VPC的多個終結點連接,與我所認為的相反,即它將允許來自所提及VPC的所有請求。 因此,此問題的最終解決方案是,您可以從提到的VPC內存在的實例中刪除存儲分區,前提是該實例屬於一個子網,並且該子網已連接了VPC至S3端點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.