Menyiapkan Minio sehingga pengguna hanya dapat bekerja dengan embernya

Minio adalah penyimpanan objek yang sederhana, cepat, dan AWS S3. Minio dirancang untuk meng-host data yang tidak terstruktur seperti foto, video, file log, cadangan. Minio juga mendukung mode terdistribusi, yang menyediakan kemampuan untuk menghubungkan beberapa drive ke objek pada server penyimpanan yang sama, termasuk yang terletak di mesin yang berbeda.


Tujuan dari posting ini adalah untuk mengkonfigurasi minio sehingga setiap pengguna hanya dapat bekerja dengan embernya sendiri.


Secara umum, Minio cocok untuk kasus-kasus berikut:


  • penyimpanan bebas-replikasi di atas sistem file yang andal dengan akses melalui S3 (penyimpanan kecil dan menengah yang terletak di NAS dan SAN);
  • penyimpanan bebas-replikasi di atas sistem file yang tidak dipercaya dengan akses S3 (untuk pengembangan dan pengujian);
  • Penyimpanan replikasi pada sekelompok kecil server di rak yang sama dengan akses S3 (penyimpanan gagal-aman dengan domain kegagalan sama dengan rak).

Pada sistem RedHat kami menghubungkan repositori Minio tidak resmi.


yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc

Kami menghasilkan dan menambah MINIO_ACCESS_KEY dan MINIO_SECRET_KEY di /etc/minio/minio.conf.


# Custom username or access key of minimum 3 characters in length.
MINIO_ACCESS_KEY=

# Custom password or secret key of minimum 8 characters in length.
MINIO_SECRET_KEY=

Jika Anda tidak akan menggunakan nginx sebelum Minio, maka Anda perlu mengubahnya.


--address 127.0.0.1:9000

di


--address 0.0.0.0:9000

Luncurkan Minio.


systemctl start minio

Buat koneksi ke Minio bernama myminio.


minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY 
MINIO_SECRET_KEY

Buat ember user1bucket.


minio-mc mb myminio/user1bucket

bucket user2bucket.


minio-mc mb myminio/user2bucket

user1-policy.json.


{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:PutBucketPolicy",
        "s3:GetBucketPolicy",
        "s3:DeleteBucketPolicy",
        "s3:ListAllMyBuckets",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::user1bucket"
      ],
      "Sid": ""
    },
    {
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:ListMultipartUploadParts",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::user1bucket/*"
      ],
      "Sid": ""
    }
  ]
}

user2-policy.json.


{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:PutBucketPolicy",
        "s3:GetBucketPolicy",
        "s3:DeleteBucketPolicy",
        "s3:ListAllMyBuckets",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::user2bucket"
      ],
      "Sid": ""
    },
    {
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:ListMultipartUploadParts",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::user2bucket/*"
      ],
      "Sid": ""
    }
  ]
}

user1 test12345.


minio-mc admin user add myminio user1 test12345

user2 test54321.


minio-mc admin user add myminio user2 test54321

Minio user1-policy user1-policy.json.


minio-mc admin policy add myminio user1-policy user1-policy.json

Minio user2-policy user2-policy.json.


minio-mc admin policy add myminio user2-policy user2-policy.json

user1-policy user1.


minio-mc admin policy set myminio user1-policy user=user1

user2-policy user2.


minio-mc admin policy set myminio user2-policy user=user2


minio-mc admin user list myminio


enabled    user1                 user1-policy
enabled    user2                 user2-policy

http://ip----minio:9000/minio/


Minio MINIO_ACCESS_KEY=user1. bucket user1bucket.



bucket , Action .



Buat file dalam ember user1bucket.



Hubungkan ke Minio di bawah MINIO_ACCESS_KEY = user2. Bucket user2bucket tersedia untuk kita.


Dan kami tidak melihat user1bucket atau file dari user1bucket.



Membuat obrolan Telegram di Minio https://t.me/minio_s3_en


All Articles