2023-10-01|閱讀時間 ‧ 約 3 分鐘

將 AWS S3 bucket 訪問限制為 HTTPS

以下是限制 S3 bucket 訪問 HTTPS 的方法


測試 S3 存儲桶訪問

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 訪問


修改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訪問


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.