Minio opbauen sou datt de Benotzer nëmme mat sengem eegenen Eemer ka schaffen

Minio ass en einfachen, séieren, AWS S3-kompatiblen Objektgeschäft. Minio ass entwéckelt fir onstrukturéiert Daten wéi Fotoen, Videoen, Logdateien, Backups ze hosten. minio ënnerstëtzt och verdeelt Modus, deen d'Fähigkeit ubitt fir verschidde Disken mat engem Objektspeicherserver ze verbannen, och déi op verschiddene Maschinnen.

Den Zweck vun dësem Post ass de Minio ze konfiguréieren sou datt all Benotzer nëmme mat sengem eegenen Eemer ka schaffen.

Am Allgemengen ass Minio gëeegent fir déi folgend Fäll:

  • Net-Replikatiounsspeicher uewen op engem zouverléissege Dateiesystem mat Zougang iwwer S3 (kleng a mëttel Späicher op NAS a SAN gehost);
  • Net-replizéiert Späichere uewen op engem onverlässlechen Dateiesystem mat S3 Zougang (fir Entwécklung an Testen);
  • Stockage mat Replikatioun op enger klenger Grupp vu Serveren an engem Rack mat Zougang iwwer de S3 Protokoll (Feiloverlagerung mat engem Feeler Domain gläich wéi de Rack).

Op RedHat Systemer verbannen mir den inoffizielle Minio Repository.

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

Generéiere a fügen op MINIO_ACCESS_KEY an MINIO_SECRET_KEY an /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=

Wann Dir nginx net virum Minio benotzt, da musst Dir änneren.

--address 127.0.0.1:9000

op

--address 0.0.0.0:9000

Loosst eis Minio starten.

systemctl start minio

Mir kreéieren eng Verbindung mam Minio genannt myminio.

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

Erstellt en Eemer user1bucket.

minio-mc mb myminio/user1bucket

Erstellt en Eemer user2bucket.

minio-mc mb myminio/user2bucket

Schafen eng Politik Fichier 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": ""
    }
  ]
}

Schafen eng Politik Fichier 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": ""
    }
  ]
}

Erstellt e Benotzer User1 mam Passwuert test12345.

minio-mc admin user add myminio user1 test12345

Erstellt e Benotzer User2 mam Passwuert test54321.

minio-mc admin user add myminio user2 test54321

Mir erstellen eng Politik am Minio genannt user1-policy aus der Datei user1-policy.json.

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

Mir erstellen eng Politik am Minio genannt user2-policy aus der Datei user2-policy.json.

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

Fëllt d'Benotzer1-Politik op de Benotzer Benotzer1.

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

Fëllt d'Benotzer2-Politik op de Benotzer Benotzer2.

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

Iwwerpréift d'Verbindung vu Politiken un d'Benotzer

minio-mc admin user list myminio

Iwwerpréift d'Verbindung vu Politiken un d'Benotzer wäert sou eppes ausgesinn

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Fir Kloerheet, gitt duerch de Browser op d'Adress http://ip-сервера-где-запущен-minio:9000/minio/

Mir gesinn datt mir mam Minio ënner MINIO_ACCESS_KEY = Benotzer1 verbonne sinn. De User1bucket Eemer ass fir eis verfügbar.

Minio opbauen sou datt de Benotzer nëmme mat sengem eegenen Eemer ka schaffen

Et wäert net méiglech sinn en Eemer ze kreéieren, well et keng entspriechend Aktioun an der Politik ass.

Minio opbauen sou datt de Benotzer nëmme mat sengem eegenen Eemer ka schaffen

Loosst eis e Fichier am Eemer user1bucket erstellen.

Minio opbauen sou datt de Benotzer nëmme mat sengem eegenen Eemer ka schaffen

Loosst eis mam Minio verbannen ënner MINIO_ACCESS_KEY=User2. De User2bucket Eemer ass fir eis verfügbar.

A mir gesinn weder user1bucket oder Dateien aus user1bucket.

Minio opbauen sou datt de Benotzer nëmme mat sengem eegenen Eemer ka schaffen

Erstellt en Telegram Chat mat Minio https://t.me/minio_s3_ru

Source: will.com