Minio konfiguratzea, erabiltzaileak bere ontziarekin bakarrik lan egin dezan

Minio AWS S3 objektu denda sinple eta azkarra da. Minio egituratu gabeko datuak hartzeko diseinatuta dago, hala nola argazkiak, bideoak, erregistro-fitxategiak, babeskopiak. minio-k modu banatua ere onartzen du, eta horrek hainbat disko objektu biltegiratze zerbitzari batera konektatzeko gaitasuna ematen du, makina desberdinetan kokatutakoak barne.

Post honen helburua minio konfiguratzea da, erabiltzaile bakoitzak bere ontziarekin bakarrik lan egin dezan.

Oro har, Minio kasu hauetarako egokia da:

  • Erreplika gabeko biltegiratzea S3 bidezko sarbidea duen fitxategi-sistema fidagarri baten gainean (NAS eta SAN-en ostatatutako biltegiratze txiki eta ertaina);
  • Erreplikatu gabeko biltegiratzea S3 sarbidea duen fitxategi-sistema fidagarri baten gainean (garapena eta probak egiteko);
  • biltegiratzea zerbitzari-talde txiki batean erreplikatzearekin S3 protokoloaren bidez sarbidea duen bastidore batean (erreplikaren pareko hutsegite-domeinu batekin).

RedHat sistemetan Minio biltegi ez-ofiziala konektatzen dugu.

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

Sortu eta gehitu MINIO_ACCESS_KEY eta MINIO_SECRET_KEY /etc/minio/minio.conf-en.

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

Minio baino lehen nginx erabiliko ez baduzu, aldatu behar duzu.

--address 127.0.0.1:9000

on

--address 0.0.0.0:9000

Abian dezagun Minio.

systemctl start minio

Myminio izeneko Minio-rekin konexio bat sortzen dugu.

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

Sortu ontzi bat user1bucket.

minio-mc mb myminio/user1bucket

Sortu ontzi bat user2bucket.

minio-mc mb myminio/user2bucket

Sortu gidalerro fitxategi bat 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": ""
    }
  ]
}

Sortu gidalerro fitxategi bat 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": ""
    }
  ]
}

Sortu erabiltzaile erabiltzaile bat1 pasahitzarekin.

minio-mc admin user add myminio user1 test12345

Sortu erabiltzaile erabiltzaile bat2 pasahitzarekin.

minio-mc admin user add myminio user2 test54321

User1-policy izeneko politika bat sortzen dugu Minio-n user1-policy.json fitxategitik.

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

User2-policy izeneko politika bat sortzen dugu Minio-n user2-policy.json fitxategitik.

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

Aplikatu user1-policy politika erabiltzaile erabiltzaileari1.

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

Aplikatu user2-policy politika erabiltzaile erabiltzaileari2.

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

Politikak erabiltzaileekin duten konexioa egiaztatzea

minio-mc admin user list myminio

Erabiltzaileekiko gidalerroen konexioa egiaztatzeak honelako itxura izango du

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Argitasuna lortzeko, joan nabigatzailetik helbidera http://ip-сСрвСра-Π³Π΄Π΅-Π·Π°ΠΏΡƒΡ‰Π΅Π½-minio:9000/minio/

Minio-ra konektatu garela ikusten dugu MINIO_ACCESS_KEY=user1 pean. User1bucket bucket gure esku dago.

Minio konfiguratzea, erabiltzaileak bere ontziarekin bakarrik lan egin dezan

Ezin izango da kuborik sortu, politikan ez baitago dagokion Ekintzarik.

Minio konfiguratzea, erabiltzaileak bere ontziarekin bakarrik lan egin dezan

Sortu dezagun fitxategi bat bucket user1bucket-en.

Minio konfiguratzea, erabiltzaileak bere ontziarekin bakarrik lan egin dezan

Konektatu gaitezen Minio-ra MINIO_ACCESS_KEY=user2 pean. User2bucket bucket gure esku dago.

Eta ez dugu ikusten ez user1bucket edo user1bucket-eko fitxategiak.

Minio konfiguratzea, erabiltzaileak bere ontziarekin bakarrik lan egin dezan

Telegram txat bat sortu du Minio erabiliz https://t.me/minio_s3_ru

Iturria: www.habr.com