![](/img/trans.png)
[英]Is it possible to restrict access from EC2 instance to use only S3 buckets from specific account?
[英]Accessing S3 buckets with same access policy from EC2 instance with different results
我在同一個帳戶中有兩個不同的存儲桶,它們都有相同的訪問策略
第一個存儲桶策略是
{
"Version": "2012-10-17",
"Id": "Policy0",
"Statement": [
{
"Sid": "Stmt0",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::<account>:role/MyEC2Role0",
"arn:aws:iam::<account>:role/MyEC2Role1"
]
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket-uploads",
"arn:aws:s3:::bucket-uploads/*"
]
}
]
}
第二個存儲桶策略相同,但更改存儲桶名稱
{
"Version": "2012-10-17",
"Id": "Policy1",
"Statement": [
{
"Sid": "Stmt1",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::<account>:role/MyEC2Role0",
"arn:aws:iam::<account>:role/MyEC2Role1"
]
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket-exchange",
"arn:aws:s3:::bucket-exchange/*"
]
}
]
}
我從運行 Win16 Server 的 EC2 實例訪問這兩個存儲桶。 實例角色是MyEC2Role1
,它分配了策略AmazonS3FullAccess
並且它也屬於同一個賬戶。
當我運行 AWS CLI 命令aws s3 ls s3://bucket-uploads/
時,它成功並列出了存儲桶的內容。 但是,當我運行aws s3 ls s3://bucket-exchange/
時,它會引發以下錯誤
An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
我一次又一次地比較了存儲桶的屬性和策略,但沒有發現任何區別,我在 AWS 文檔中搜索了該錯誤的故障排除,我也搜索了很長時間,我重新創建了存儲桶和任何東西工作。
有沒有人有同樣的問題? 關於解決方案或任何嘗試的想法?
謝謝。
我發現了我的錯誤,所以解決了我的問題。
我的 EC2 實例屬於一個 VPC,它定義了一個帶有附加策略的端點,該策略控制對 S3 存儲桶的訪問。 沒有意識到這一點並且沒有在我最初的問題中提及它是我的錯。
我已經修改了終端節點的策略以包含我想從我的 EC2 實例訪問的存儲桶,它允許所需的操作並消除錯誤。
總之,如果您無法從 EC2 實例訪問存儲桶且其策略(或 S3 存儲桶策略)正確,請檢查您的 VPC、其端點及其策略
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.