以下是限制 S3 bucket 訪問 HTTPS 的方法
S3 bucket 通常允許 HTTP 和 HTTPS 訪問
AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求
https://docs.aws.amazon.com/zh_tw/cli/latest/userguide/cli-chap-using.html
首先,為了測試,我創建了一個名為 “ming2099” 的 bucket 並上傳了文件“123.jpeg”
讓我們嘗試通過 AWS CLI 訪問
可以確認使用 HTTPS 毫無問題的可以訪問
接下來,讓我們嘗試使用 HTTP 訪問
可以確認 HTTP 也可以毫無問題地訪問
現在讓我們修改 S3 bucket policy 僅允許 HTTPS 訪問
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSSLRequestsOnly",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::ming2099",
"arn:aws:s3:::ming2099/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
]
}
現在我們已完成policy設置,讓我們使用 AWS CLI 再次訪問
我可以確認使用 HTTPS 可以毫無問題地訪問
接下來,嘗試 HTTP 訪問時,會看到出現 “AccessDenied” 錯誤
由於 S3 bucket 默認是允許HTTPS和HTTP訪問的,所以考慮到安全性,我覺得有必要修改policy只允許HTTPS訪問