我正在開發一個 Django 應用程式并通過該應用程式上傳檔案。我已經使用 django-storages 和 boto3 包正確連接了我的憑據,并且可以通過應用程式上傳檔案。
存盤桶是所有者強制執行的檔案所有權,我的存盤桶策略應該是只讀的,但允許檔案上傳:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket-name/*"
}
]
}
我是一個有AdministratorAccess策略的 IAM 用戶,但我認為 S3 策略具有兩者中最嚴格的權限。
我已經仔細檢查過我正在使用正確的存盤桶策略。
GetObject 是否也允許檔案上傳?或者其他的東西...
我如何確保互聯網上沒有陌生人可以修改我的檔案?
uj5u.com熱心網友回復:
但認為 S3 政策與兩者中最嚴格的許可一起使用
可悲的是,它不是那樣作業的。權限是累積的Allow,因此您的 IAM 用戶可以寫入 S3 存盤桶,而不管存盤桶策略說什么。
改變這一點的唯一方法是為存盤桶策略的寫入添加顯式拒絕。這是因為明確的Deny“總是勝過”任何Allow.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464352.html
上一篇:Mysql8僅使用ssl-ca(server-ca.pem)連接
下一篇:在Python中將字串轉換為物件
