簡體   English   中英

僅允許小寫文件的 AWS S3 存儲桶策略

[英]AWS S3 Bucket Policy to allow only lowercase files

是否可以將 s3 存儲桶限制為僅小寫文件/目錄?

一些下游系統不區分大小寫,所以我想防止出現任何問題。

有一個 Lambda 解決方法,但是否可以將此要求指定為存儲桶策略?

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Enforce lower-case",
            "Effect": "Deny",
            "Principal":"*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::mybucket/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:KeyName": "lower(s3:KeyName)"
                }
            }
        }
    ]
}

不,那是不可能的,因為:

  • IAM 策略中不允許進行字符串操作
  • IAM 字符串條件運算符不支持正則表達式

另一種方法是讓 S3 存儲桶觸發 AWS Lambda function,這可以:

  • 檢查 object Key
  • 如果Key不是嚴格小寫,則將object Copy為新的小寫Key,並刪除原來的object

但是,這意味着Foo將重命名為foo並且稍后的FOO將覆蓋foo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM