Это руководство создано для MinIO release RELEASE.2025-05-24T17-08-30Z
.
mc alias set myminio https://minio.example.com YOUR_ACCESS_KEY YOUR_SECRET_KEY
mc mb myminio/public
mc anonymous set download myminio/public
Это делает следующее:
Сначала выполните следующую команду, чтобы получить текущую JSON политику, созданную на предыдущем этапе.
mc anonymous get-json myminio/public
Вывод будет выглядеть следующим образом: “Это политика, определенная предустановкой 'download'.”
{
"Statement": [
{
"Action": [
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3::: public"
]
},
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3::: public/*"
]
}
],
"Version": "2012-10-17"
}
Строка, которая позволяет любому перечислять файлы, доступные в бакете — это s3:ListBucket
в свойстве 'Action'. Просто удалите её и загрузите политику снова, используя следующую команду.
mc anonymous set-json /path-to-your-edited-json-policy.json myminio/public
Где файл /path-to-your-edited-json-policy.json
содержит отредактированную версию вашей политики.
{
"Statement": [
{
"Action": [
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3::: public"
]
},
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3:::public/*"
]
}
],
"Version": "2012-10-17"
}
Откройте корень вашего MinIO S3 конца. Например, 'youbucket.s3.yourdomain.com'. Если вы получите ошибку в формате XML с надписью «Доступ запрещён», значит, всё работает, как ожидалось!