在 Ubuntu 下,如果你想查看或修改 MinIO 桶的匿名訪問權限(public/private/custom),需要使用 mc anonymous
命令而不是 mc policy
。以下是詳細操作指南:
1. 查看當前匿名訪問權限
mc anonymous get minio/test
輸出示例:
Access permission for `minio/test` is `private`
可能的值:private
(私有)、public
(公開讀寫)、download
(僅公開下載)、upload
(僅公開上傳)。
2. 修改匿名訪問權限
設置為公開讀寫(public)
mc anonymous set public minio/test
設置為僅公開下載(download)
mc anonymous set download minio/test
設置為僅公開上傳(upload)
mc anonymous set upload minio/test
設置為私有(private)
mc anonymous set private minio/test
3. 自定義匿名策略(JSON)
如果需要更精細的控制(如限制 IP 或特定操作),需直接設置桶策略:
mc anonymous set-json policy.json minio/test
其中 policy.json
是自定義策略文件,例如:
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": ["s3:GetObject"],"Resource": ["arn:aws:s3:::test/*"],"Condition": {"IpAddress": {"aws:SourceIp": ["192.168.1.0/24"]}}}]
}
4. 驗證權限
mc anonymous get minio/test
或測試訪問:
curl -I http://minio-server:9000/test/file.txt
# 返回 200 表示允許匿名訪問
注意事項
- 版本兼容性:MinIO 新版本(≥ RELEASE.2023-01-25T16-20-52Z)推薦使用
mc anonymous
,舊版本可能仍支持mc policy
。 - 安全性:謹慎開放
public
權限,避免數據泄露。 - 替代方案:如果需復雜策略(如基于用戶或 IP 的限制),建議使用
mc anonymous set-json
或 AWS CLI。
常見問題
Q:為什么 mc policy
報錯?
A:MinIO 已棄用 mc policy
,改用 mc anonymous
管理匿名訪問。但自定義策略仍需通過 JSON 文件設置。
Q:如何完全禁用匿名訪問?
A:確保所有桶設置為 private
,并在 MinIO 服務器配置中禁用匿名訪問(需修改服務端配置)。
通過以上命令,你可以靈活控制 MinIO 桶的匿名訪問權限。如需更高級控制,建議結合 IAM 策略或 MinIO 服務端配置。