A Minio beállítása úgy, hogy a felhasználó csak a saját vödrével dolgozhasson

A Minio egy egyszerű, gyors, AWS S3 kompatibilis objektumtároló. A Minio-t strukturálatlan adatok, például fényképek, videók, naplófájlok és biztonsági másolatok tárolására tervezték. A minio támogatja az elosztott módot is, amely lehetővé teszi több lemez csatlakoztatását egy objektumtároló szerverhez, beleértve a különböző gépeken lévőket is.

Ennek a bejegyzésnek a célja a minio konfigurálása úgy, hogy minden felhasználó csak a saját tárolójával dolgozhasson.

Általában a Minio a következő esetekben alkalmas:

  • replikáció nélküli tárhely megbízható fájlrendszeren, S3-on keresztüli hozzáféréssel (kis és közepes tárhely NAS-on és SAN-on tárolva);
  • nem replikált tárhely egy megbízhatatlan fájlrendszer tetején S3 hozzáféréssel (fejlesztéshez és teszteléshez);
  • tárolás replikációval a szerverek kis csoportján egy rack-ben, hozzáféréssel az S3 protokollon keresztül (feladatátvételi tároló a rack-nek megfelelő hibatartományban).

A RedHat rendszereken a nem hivatalos Minio adattárat csatlakoztatjuk.

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

Létrehozása és hozzáadása a MINIO_ACCESS_KEY és MINIO_SECRET_KEY kulcsokhoz az /etc/minio/minio.conf fájlban.

# 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=

Ha nem használja az nginxet a Minio előtt, akkor módosítania kell.

--address 127.0.0.1:9000

on

--address 0.0.0.0:9000

Indítsuk el a Minit.

systemctl start minio

Kapcsolatot hozunk létre a Minióval myminio néven.

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

Hozzon létre egy user1bucket csoportot.

minio-mc mb myminio/user1bucket

Hozzon létre egy user2bucket csoportot.

minio-mc mb myminio/user2bucket

Hozzon létre egy user1-policy.json házirendfájlt.

{
  "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": ""
    }
  ]
}

Hozzon létre egy user2-policy.json házirendfájlt.

{
  "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": ""
    }
  ]
}

Hozzon létre egy user1 felhasználót a test12345 jelszóval.

minio-mc admin user add myminio user1 test12345

Hozzon létre egy user2 felhasználót a test54321 jelszóval.

minio-mc admin user add myminio user2 test54321

A Minióban létrehozunk egy user1-policy nevű házirendet a user1-policy.json fájlból.

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

A Minióban létrehozunk egy user2-policy nevű házirendet a user2-policy.json fájlból.

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

Alkalmazza a user1-házirendet a user1-re.

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

Alkalmazza a user2-házirendet a user2-re.

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

A házirendek felhasználókkal való kapcsolatának ellenőrzése

minio-mc admin user list myminio

A házirendek felhasználókkal való kapcsolatának ellenőrzése valahogy így fog kinézni

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Az egyértelműség kedvéért lépjen a böngészőn keresztül a címre http://ip-сервера-где-запущен-minio:9000/minio/

Azt látjuk, hogy csatlakoztunk a Minihoz a MINIO_ACCESS_KEY=user1 alatt. A user1bucket vödör rendelkezésünkre áll.

A Minio beállítása úgy, hogy a felhasználó csak a saját vödrével dolgozhasson

Nem lesz lehetőség gyűjtőcsoport létrehozására, mivel a szabályzatban nincs megfelelő művelet.

A Minio beállítása úgy, hogy a felhasználó csak a saját vödrével dolgozhasson

Hozzunk létre egy fájlt a user1bucket vödörben.

A Minio beállítása úgy, hogy a felhasználó csak a saját vödrével dolgozhasson

Csatlakozzunk a Minihoz a MINIO_ACCESS_KEY=user2 alatt. A user2bucket vödör rendelkezésünkre áll.

És nem látjuk sem a user1bucket-et, sem a user1bucket-ből származó fájlokat.

A Minio beállítása úgy, hogy a felhasználó csak a saját vödrével dolgozhasson

Létrehozott egy Telegram-csevegést a Minio segítségével https://t.me/minio_s3_ru

Forrás: will.com