Серия «MinIO на VPS»: Buckets → Public bucket
Источник: MinIO — Bucket Policies.
⚠️ Публичный bucket открывает чтение всем в интернете. Не используйте для приватных данных.
Создание bucket
mc alias set local http://127.0.0.1:9000 admin 'ChangeMe_StrongPass123'
mc mb local/public-assetsPolicy: публичное чтение (download)
cat > /tmp/public-read.json << 'EOF'
{
"Version": "2012-10-17",
"Statement": [
```bash
{
"Effect": "Allow",
"Principal": {"AWS": ["*"]},
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::public-assets/*"]
}] } EOF mc anonymous set-json /tmp/public-read.json local/public-assets
# Загрузка тестового файла
```bash
echo "public file" > /tmp/public.txt
mc cp /tmp/public.txt local/public-assets/hello.txtПроверка (anonymous)
mc anonymous get local/public-assets
curl -f http://127.0.0.1:9000/public-assets/hello.txtЧерез Nginx/SSL: https://s3.example.com/public-assets/hello.txt
Отзыв публичного доступа
mc anonymous set none local/public-assetsCORS (для браузерных приложений)
cat > /tmp/cors.json << 'EOF'
[
{
```bash
"AllowedOrigin": ["https://example.com"],
"AllowedMethod": ["GET", "HEAD"],
"AllowedHeader": ["*"],
"ExposeHeader": ["ETag"]} ] EOF mc cors set /tmp/cors.json local/public-assets
# List bucket публично (обычно не нужно)
Listing объектов без auth — отдельная policy с `s3:ListBucket`. По умолчанию **не включайте** — раскрывает структуру хранилища.
# Ошибки
`Access Denied` при curl — policy не применилась или URL неверный. См. [troubleshooting](/blog/minio/oshibki-minio-troubleshooting).
---
## VPS на Simple-Server
Для развёртывания на production возьмите [VPS/VDS](/vps) с Ubuntu 22.04: root по SSH, NVMe и канал от 500 Мбит/с.