Kuweka Minio ili mtumiaji afanye kazi tu na ndoo yake mwenyewe

Minio ni duka rahisi, la haraka, la vitu vinavyooana na AWS S3. Minio imeundwa kupangisha data isiyo na muundo kama vile picha, video, faili za kumbukumbu, chelezo. minio pia inasaidia hali iliyosambazwa, ambayo hutoa uwezo wa kuunganisha disks nyingi kwenye seva moja ya kuhifadhi kitu, ikiwa ni pamoja na wale walio kwenye mashine tofauti.

Madhumuni ya chapisho hili ni kusanidi minio ili kila mtumiaji afanye kazi na ndoo yake mwenyewe.

Kwa ujumla, Minio inafaa kwa kesi zifuatazo:

  • hifadhi isiyo ya kurudia juu ya mfumo wa faili unaotegemewa na ufikiaji kupitia S3 (hifadhi ndogo na ya kati iliyopangishwa kwenye NAS na SAN);
  • hifadhi isiyo ya kurudiwa juu ya mfumo wa faili usioaminika na upatikanaji wa S3 (kwa ajili ya maendeleo na kupima);
  • uhifadhi na urudufishaji kwenye kikundi kidogo cha seva kwenye rack moja na ufikiaji kupitia itifaki ya S3 (hifadhi iliyoshindwa na kikoa cha kushindwa sawa na rack).

Kwenye mifumo ya RedHat tunaunganisha hazina isiyo rasmi ya Minio.

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

Tengeneza na uongeze kwa MINIO_ACCESS_KEY na MINIO_SECRET_KEY katika /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=

Ikiwa hautatumia nginx kabla ya Minio, basi unahitaji kubadilisha.

--address 127.0.0.1:9000

juu ya

--address 0.0.0.0:9000

Wacha tuzindue Minio.

systemctl start minio

Tunaunda muunganisho kwa Minio inayoitwa myminio.

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

Unda ndoo ya mtumiaji1ndoo.

minio-mc mb myminio/user1bucket

Unda ndoo ya mtumiaji2ndoo.

minio-mc mb myminio/user2bucket

Unda faili ya sera 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": ""
    }
  ]
}

Unda faili ya sera 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": ""
    }
  ]
}

Unda mtumiaji mtumiaji1 na jaribio la nenosiri12345.

minio-mc admin user add myminio user1 test12345

Unda mtumiaji mtumiaji2 na jaribio la nenosiri54321.

minio-mc admin user add myminio user2 test54321

Tunaunda sera katika Minio inayoitwa user1-sera kutoka kwa faili user1-policy.json.

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

Tunaunda sera katika Minio inayoitwa user2-sera kutoka kwa faili user2-policy.json.

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

Tumia sera ya mtumiaji1 kwa mtumiaji mtumiaji1.

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

Tumia sera ya mtumiaji2 kwa mtumiaji mtumiaji2.

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

Kuangalia muunganisho wa sera kwa watumiaji

minio-mc admin user list myminio

Kuangalia muunganisho wa sera kwa watumiaji kutaonekana kama hii

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Kwa uwazi, pitia kivinjari hadi anwani http://ip-сСрвСра-Π³Π΄Π΅-Π·Π°ΠΏΡƒΡ‰Π΅Π½-minio:9000/minio/

Tunaona kwamba tuliunganisha kwa Minio chini ya MINIO_ACCESS_KEY=user1. Bucket ya mtumiaji1 inapatikana kwetu.

Kuweka Minio ili mtumiaji afanye kazi tu na ndoo yake mwenyewe

Haitawezekana kuunda ndoo, kwa kuwa hakuna Hatua inayolingana katika sera.

Kuweka Minio ili mtumiaji afanye kazi tu na ndoo yake mwenyewe

Wacha tuunde faili kwenye ndoo ya mtumiaji1bucket.

Kuweka Minio ili mtumiaji afanye kazi tu na ndoo yake mwenyewe

Hebu tuunganishe kwa Minio chini ya MINIO_ACCESS_KEY=user2. user2bucket ndoo inapatikana kwetu.

Na hatuoni user1bucket au faili kutoka kwa mtumiaji1bucket.

Kuweka Minio ili mtumiaji afanye kazi tu na ndoo yake mwenyewe

Aliunda gumzo la Telegraph kwa kutumia Minio https://t.me/minio_s3_ru

Chanzo: mapenzi.com