我需要啓動一個S3存儲桶,以便我的EC2實例有權訪問存儲圖像文件。 EC2實例需要讀/寫權限。我不想讓S3存儲桶公開可用,我只希望EC2實例能夠訪問它。來自EC2的AWS S3存儲桶存取
另一個問題是我的EC2實例正在被OpsWorks管理,我可能會根據負載/使用情況啓動不同的實例。如果我用IP來限制它,我可能並不總是知道EC2實例的IP。我可以通過VPC進行限制嗎?
我必須讓我的S3存儲桶啓用靜態網站託管嗎? 我是否需要公開存儲桶中的所有文件才能正常工作?
我需要啓動一個S3存儲桶,以便我的EC2實例有權訪問存儲圖像文件。 EC2實例需要讀/寫權限。我不想讓S3存儲桶公開可用,我只希望EC2實例能夠訪問它。來自EC2的AWS S3存儲桶存取
另一個問題是我的EC2實例正在被OpsWorks管理,我可能會根據負載/使用情況啓動不同的實例。如果我用IP來限制它,我可能並不總是知道EC2實例的IP。我可以通過VPC進行限制嗎?
我必須讓我的S3存儲桶啓用靜態網站託管嗎? 我是否需要公開存儲桶中的所有文件才能正常工作?
IAM角色是您的解決方案。
您需要創建具有s3訪問權限的角色,如果ec2實例沒有任何角色啓動,您必須重新構建具有指定角色的角色。
你並不需要進行公開鬥可讀,也沒有文件公開可讀。水桶和它的內容可以保持私密。
不要根據IP地址限制對存儲區的訪問,而應根據EC2實例使用的IAM角色來限制對存儲區的訪問。
例如:
{
"Version": "2012-10-17",
"Statement":[{
"Effect": "Allow",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::my_bucket",
"arn:aws:s3:::my_bucket/*"]
}
]
}
例如:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": ["arn:aws:iam::111122223333:role/my-ec2-role"]
},
"Action": "s3:*",
"Resource": ["arn:aws:s3:::my_bucket",
"arn:aws:s3:::my_bucket/*"]
}
]
}
我試圖通過VPC進行限制,並且我完全鎖定了S3存儲桶。我必須在我的root帳戶上創建訪問密鑰,並使用AWS CLI工具刪除存儲桶策略。 我可以添加第二種訪問方法嗎?那麼我仍然可以通過公共IP訪問存儲區? – hiddenicon
我遇到的一個問題是,我正在Apache上進行反向代理以訪問S3存儲桶上的映像,如下所示。所以它必須通過https公開可用。 將ProxyRequests關閉
我使用OpsWorks建立我的實例。不確定這些構建使用了哪些IAM角色。我將不得不檢查。 – hiddenicon
是的,您可以添加角色到OpsWorks。 – BMW