Sazkirina Minio da ku bikarhêner tenê bi kepçeya xwe re bixebite

Minio firotgehek tiştan a hêsan, bilez, bi AWS S3 re têkildar e. Minio hatiye dîzaynkirin ku ji daneyên nesazkirî yên wekî wêne, vîdyoy, pelên têketinê, paşvekişandinê mêvandar bike. minio di heman demê de moda belavkirî jî piştgirî dike, ku şiyana girêdana pir dîskan bi serverek hilanîna tiştan re peyda dike, tevî yên ku li ser makîneyên cihêreng hene.

Armanca vê postê ev e ku meriv mînîo mîheng bike da ku her bikarhêner bikaribe tenê bi kepçeya xwe bixebite.

Bi gelemperî, Minio ji bo rewşên jêrîn maqûl e:

  • hilanîna ne-veberhevkirinê li ser pergala pelan a pêbawer bi gihîştina bi S3 (hilweşîna piçûk û navîn a ku li ser NAS û SAN tê mêwankirin);
  • hilanîna ne-berbiçav li ser pergala pelê ya nebawer bi gihîştina S3 (ji bo pêşveçûn û ceribandinê);
  • hilanîna bi dubarekirinê li ser komek piçûk a pêşkêşkeran di yek refikê de bi gihîştina bi protokola S3 (hilweşîna têkçûyî ya bi domenek têkçûnek wekhev a rakê).

Li ser pergalên RedHat em depoya nefermî ya Minio ve girêdidin.

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

Biafirîne û li MINIO_ACCESS_KEY û MINIO_SECRET_KEY li /etc/minio/minio.conf zêde bike.

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

Heke hûn ê berî Minio nginx bikar neynin, wê hingê hûn hewce ne ku biguhezînin.

--address 127.0.0.1:9000

li ser

--address 0.0.0.0:9000

Ka em Minio dest pê bikin.

systemctl start minio

Em pêwendiyek bi Minio re bi navê myminio diafirînin.

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

Bûkek user1bucket ava bikin.

minio-mc mb myminio/user1bucket

Bûkek user2bucket ava bikin.

minio-mc mb myminio/user2bucket

Dosya polîtîkayê user1-policy.json biafirîne.

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

Dosya polîtîkayê user2-policy.json biafirîne.

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

Bi şîfreya test1 bikarhênerek bikarhêner12345 biafirînin.

minio-mc admin user add myminio user1 test12345

Bi şîfreya test2 bikarhênerek bikarhêner54321 biafirînin.

minio-mc admin user add myminio user2 test54321

Em di Minio de siyasetek bi navê user1-policy ji pelê user1-policy.json diafirînin.

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

Em di Minio de siyasetek bi navê user2-policy ji pelê user2-policy.json diafirînin.

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

Siyaseta bikarhêner1-siyaseta bikarhêner1-ê bikar bînin.

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

Siyaseta bikarhêner2-siyaseta bikarhêner2-ê bikar bînin.

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

Kontrolkirina girêdana polîtîkayên bi bikarhêneran re

minio-mc admin user list myminio

Kontrolkirina girêdana polîtîkayan bi bikarhêneran re dê tiştek wusa xuya bike

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Ji bo zelaliyê, bi gerokê re biçin navnîşanê http://ip-сервера-где-запущен-minio:9000/minio/

Em dibînin ku me di bin MINIO_ACCESS_KEY=bikarhêner1 de bi Minio ve girêdayî ye. Bûka user1bucket ji me re heye.

Sazkirina Minio da ku bikarhêner tenê bi kepçeya xwe re bixebite

Dê ne gengaz be ku kepçeyek çêbikin, ji ber ku di siyasetê de Çalakiyek têkildar tune.

Sazkirina Minio da ku bikarhêner tenê bi kepçeya xwe re bixebite

Werin em pelek di bucket user1bucket de çêbikin.

Sazkirina Minio da ku bikarhêner tenê bi kepçeya xwe re bixebite

Werin em di bin MINIO_ACCESS_KEY=bikarhêner2 de bi Minio ve girêbidin. Bûka user2bucket ji me re heye.

Û em ne user1bucket û ne jî pelên ji user1bucket nabînin.

Sazkirina Minio da ku bikarhêner tenê bi kepçeya xwe re bixebite

Bi karanîna Minio chat Telegram çêkir https://t.me/minio_s3_ru

Source: www.habr.com