0
0
Lập trình
Admin Team
Admin Teamtechmely

Quản lý User, Permission và Bucket trong MinIO qua CLI

Đăng vào 6 ngày trước

• 3 phút đọc

Quản lý User, Permission và Bucket trong MinIO qua CLI

MinIO là một giải pháp lưu trữ đối tượng tương thích với S3, nhẹ và nhanh, thường được triển khai trong các container như Docker hoặc Kubernetes. Phiên bản mới nhất của MinIO đã chuyển hầu hết chức năng quản lý người dùng, khóa bí mật và chính sách sang CLI (mc), trong khi Console (GUI) ở cổng 9001 tập trung vào việc giám sát và quan sát.

Trong bài viết này, chúng ta sẽ khám phá cách thực hiện các thao tác quản lý như tạo người dùng, cấp quyền và quản lý bucket bằng cách sử dụng mc (MinIO Client).

Mục lục

  1. Setup Awal
  2. Tạo Người Dùng Mới
  3. Tạo Bucket
  4. Cấp Quyền (Policy)
  5. Xóa Bucket
  6. Thực Hành Tốt Nhất
  7. Kết Luận
  8. Câu Hỏi Thường Gặp (FAQ)

1. Setup Awal

Cài đặt MinIO Client

Bạn cần tải xuống và cài đặt mc trên máy chủ:

bash Copy
curl -O https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/

Thêm Alias cho Server MinIO

Sau khi cài đặt, bạn cần thêm alias cho server MinIO:

bash Copy
mc alias set myminio http://localhost:9000 admin forward098

Ở đây, adminforward098 là thông tin xác thực root (được xác định qua MINIO_ROOT_USER & MINIO_ROOT_PASSWORD).

2. Tạo Người Dùng Mới

Để tạo một người dùng mới, hãy sử dụng lệnh sau:

bash Copy
mc admin user add myminio carteluser CartelS3cretKey123

Người dùng carteluser với khóa bí mật CartelS3cretKey123 sẽ được thêm vào.

Để kiểm tra danh sách người dùng:

bash Copy
mc admin user list myminio

3. Tạo Bucket

Để tạo một bucket mới với tên cartel, bạn có thể sử dụng lệnh:

bash Copy
mc mb myminio/cartel

Nếu bucket đã tồn tại, lệnh này sẽ hiển thị thông báo lỗi nhưng không làm hỏng dữ liệu.

Để kiểm tra các bucket hiện có:

bash Copy
mc ls myminio

4. Cấp Quyền (Policy)

MinIO cung cấp các chính sách có sẵn:

  • readwrite → toàn quyền truy cập vào tất cả bucket
  • readonly → chỉ đọc tất cả bucket
  • writeonly → chỉ ghi vào tất cả bucket

Để gán chính sách cho người dùng:

bash Copy
mc admin policy attach myminio readwrite --user carteluser

Để kiểm tra thông tin chi tiết của người dùng:

bash Copy
mc admin user info myminio carteluser

Lưu ý: Nếu bạn cần quyền hạn hạn chế chỉ cho một bucket, hãy tạo chính sách tùy chỉnh trong định dạng JSON.

5. Xóa Bucket

Nếu bucket đã trống, bạn có thể sử dụng lệnh sau để xóa:

bash Copy
mc rb myminio/cartel

Nếu bucket chứa đối tượng và bạn muốn xóa tất cả cùng một lúc:

bash Copy
mc rb myminio/cartel --force

6. Thực Hành Tốt Nhất

  • Không sử dụng thông tin xác thực root cho ứng dụng sản xuất.
  • Tạo người dùng khác nhau cho mỗi ứng dụng/dịch vụ để dễ dàng kiểm tra và thu hồi quyền.
  • Sử dụng chính sách với mức độ hạn chế nhất có thể (least privilege).
  • Lưu trữ thông tin xác thực trong công cụ quản lý bí mật (Vault, Kubernetes Secret, v.v.), không lưu trong tệp cấu hình thô.

7. Kết Luận

Quản lý người dùng, quyền và bucket trong MinIO hiện nay hoàn toàn có thể thực hiện thông qua CLI mc. Với một số lệnh đơn giản, bạn có thể tạo người dùng mới, tạo bucket, cấp chính sách và xóa bucket một cách an toàn. Cách tiếp cận này không chỉ nhất quán mà còn dễ dàng tự động hóa, phù hợp với các thực tiễn tốt nhất trong việc quản lý lưu trữ đối tượng hiện đại.

8. Câu Hỏi Thường Gặp (FAQ)

MinIO có hỗ trợ multi-tenancy không?

Có, MinIO hỗ trợ multi-tenancy qua việc quản lý người dùng và chính sách.

Làm thế nào để phục hồi dữ liệu đã xóa trong MinIO?

Khi một bucket đã bị xóa, dữ liệu không thể phục hồi. Hãy chắc chắn rằng bạn có các biện pháp sao lưu thích hợp.

MinIO có thể chạy trên nền tảng nào?

MinIO có thể chạy trên bất kỳ nền tảng nào hỗ trợ Docker hoặc Kubernetes.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào