DEV Community

Nandan Ramdani
Nandan Ramdani

Posted on

Mengelola User, Permission, dan Bucket di MinIO via CLI

MinIO adalah object storage kompatibel S3 yang ringan dan cepat, biasanya dijalankan di container (Docker/Kubernetes). Versi terbaru MinIO sudah memindahkan hampir semua fungsi manajemen user, secret key, dan policy ke CLI (mc), sementara Console (GUI) di port 9001 lebih fokus ke monitoring dan observability.

Artikel ini akan membahas cara praktis membuat user, memberi permission, dan mengelola bucket menggunakan mc (MinIO Client).


1. Setup Awal

Pasang MinIO Client

Unduh dan install mc di host:

curl -O https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
Enter fullscreen mode Exit fullscreen mode

Tambah Alias ke Server MinIO

mc alias set myminio http://localhost:9000 admin forward098
Enter fullscreen mode Exit fullscreen mode

admin dan forward098 adalah credential root (ditentukan lewat MINIO_ROOT_USER & MINIO_ROOT_PASSWORD).


2. Membuat User Baru

Gunakan perintah mc admin user add untuk membuat user:

mc admin user add myminio carteluser CartelS3cretKey123
Enter fullscreen mode Exit fullscreen mode

User carteluser dengan secret CartelS3cretKey123 akan ditambahkan.

Cek daftar user:

mc admin user list myminio
Enter fullscreen mode Exit fullscreen mode

3. Membuat Bucket

Untuk membuat bucket baru bernama cartel:

mc mb myminio/cartel
Enter fullscreen mode Exit fullscreen mode

Jika bucket sudah ada, perintah ini akan menampilkan pesan error tapi tidak merusak data.

Cek bucket yang ada:

mc ls myminio
Enter fullscreen mode Exit fullscreen mode

4. Memberi Permission (Policy)

MinIO menyediakan policy bawaan:

  • readwrite → full akses ke semua bucket
  • readonly → hanya baca semua bucket
  • writeonly → hanya tulis semua bucket

Untuk assign policy bawaan:

mc admin policy attach myminio readwrite --user carteluser
Enter fullscreen mode Exit fullscreen mode

Cek detail user:

mc admin user info myminio carteluser
Enter fullscreen mode Exit fullscreen mode

Catatan: Kalau butuh akses terbatas hanya ke satu bucket, sebaiknya buat policy custom dalam format JSON.


5. Menghapus Bucket

Jika bucket sudah kosong:

mc rb myminio/cartel
Enter fullscreen mode Exit fullscreen mode

Jika bucket berisi objek dan ingin dihapus sekaligus:

mc rb myminio/cartel --force
Enter fullscreen mode Exit fullscreen mode

6. Best Practice

  • Jangan gunakan credential root untuk aplikasi produksi.
  • Buat user berbeda untuk tiap aplikasi/service agar lebih mudah audit dan revoke.
  • Gunakan policy sesempit mungkin sesuai kebutuhan (least privilege).
  • Simpan credential di secret manager (Vault, Kubernetes Secret, dll.), bukan di file konfigurasi mentah.

Kesimpulan

Manajemen user, permission, dan bucket di MinIO kini sepenuhnya dilakukan via CLI mc. Dengan beberapa perintah sederhana, Anda bisa membuat user baru, membuat bucket, memberikan policy, hingga menghapus bucket dengan aman. Pendekatan ini lebih konsisten, mudah diotomasi, dan sesuai dengan praktik terbaik dalam mengelola object storage modern.

Top comments (0)