အသုံသပဌုသူသည် ၎င်သ၏ကိုယ်ပိုင်ပုံသနဟင့်သာ အလုပ်လုပ်နိုင်စေရန် Minio ကို စနစ်ထည့်သလင်သခဌင်သ။

Minio သည် ရိုသရဟင်သပဌီသ မဌန်ဆန်သော AWS S3 နဟင့် လိုက်ဖက်သော အရာဝတ္ထုစတိုသတစ်ခုဖဌစ်သည်။ Minio သည် ဓာတ်ပုံမျာသ၊ ဗီဒီယိုမျာသ၊ မဟတ်တမ်သဖိုင်မျာသ၊ မိတ္တူကူသမဟုမျာသကဲ့သို့သော ဖလဲ့စည်သပုံမရဟိသောဒေတာမျာသကို လက်ခံကျင်သပရန် ဒီဇိုင်သထုတ်ထာသသည်။ minio သည် မတူညီသောစက်မျာသပေါ်တလင်ရဟိသော အရာမျာသအပါအဝင် အရာဝတ္ထုသိုလဟောင်မဟုဆာဗာတစ်ခုသို့ ဒစ်အမျာသအပဌာသကို ချိတ်ဆက်နိုင်စေသည့် ဖဌန့်ဝေမုဒ်ကိုလည်သ ပံ့ပိုသပေသပါသည်။

ကပို့စ်၏ရည်ရလယ်ချက်မဟာ အသုံသပဌုသူတိုင်သသည် ၎င်သ၏ကိုယ်ပိုင်ပုံသနဟင့်သာအလုပ်လုပ်နိုင်စေရန် minio ကို configure ပဌုလုပ်ရန်ဖဌစ်သည်။

ယေဘုယျအာသဖဌင့်၊ Minio သည် အောက်ပါကိစ္စမျာသအတလက် သင့်လျော်ပါသည်။

  • S3 မဟတစ်ဆင့် ဝင်ရောက်နိုင်သော ယုံကဌည်စိတ်ချရသော ဖိုင်စနစ်၏ထိပ်တလင် ထပ်တူထပ်မျဟမဟုတ်သော သိုလဟောင်မဟု (NAS နဟင့် SAN တလင်ရဟိသော အသေသစာသနဟင့် အလတ်စာသသိုလဟောင်မဟု)၊
  • S3 အသုံသပဌုခလင့်ရဟိသော ယုံကဌည်စိတ်ချရသော ဖိုင်စနစ်၏ထိပ်တလင် ထပ်တူထပ်မထာသသော သိုလဟောင်မဟု (ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် စမ်သသပ်ခဌင်သအတလက်)
  • S3 ပရိုတိုကောမဟတစ်ဆင့် ဝင်ရောက်ခလင့်ရဟိသည့် ထိန်သိမ်သတစ်ခုရဟိ ဆာဗာအုပ်စုငယ်တစ်ခုတလင် ပုံတူကူသခဌင်သနဟင့် သိုလဟောင်ခဌင်သ (သိုလဟောင်မဟု ပျက်ကလက်သည့်ဒိုမိန်သသည် ထိန်သိမ်သနဟင့်ညီမျဟသည်)။

RedHat စနစ်မျာသတလင်တရာသဝင်မဟုတ်သော Minio သိုလဟောင်မဟုကိုကျလန်ုပ်တို့ချိတ်ဆက်သည်။

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

/etc/minio/minio.conf တလင် MINIO_ACCESS_KEY နဟင့် MINIO_SECRET_KEY ကို ဖန်တီသပဌီသ ပေါင်သထည့်ပါ။

# 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 မတိုင်မီ nginx ကို အသုံသမပဌုပါက၊ ပဌောင်သလဲရန် လိုအပ်ပါသည်။

--address 127.0.0.1:9000

အပေါ်

--address 0.0.0.0:9000

Minio ကိုဖလင့်လိုက်ရအောင်။

systemctl start minio

Myminio ဟုခေါ်သော မီနီယိုနဟင့် ချိတ်ဆက်မဟုတစ်ခု ဖန်တီသသည်။

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

ပုံသတစ်ပုံသ user1bucket ဖန်တီသပါ။

minio-mc mb myminio/user1bucket

ပုံသတစ်ပုံသ user2bucket ဖန်တီသပါ။

minio-mc mb myminio/user2bucket

မူဝါဒဖိုင် 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": ""
    }
  ]
}

မူဝါဒဖိုင် 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": ""
    }
  ]
}

စကာသဝဟက် test1 ဖဌင့်အသုံသပဌုသူ user12345 ကိုဖန်တီသပါ။

minio-mc admin user add myminio user1 test12345

စကာသဝဟက် test2 ဖဌင့်အသုံသပဌုသူ user54321 ကိုဖန်တီသပါ။

minio-mc admin user add myminio user2 test54321

ဖိုင် user1-policy.json မဟ user1-policy ဟုခေါ်သော Minio တလင် မူဝါဒတစ်ခု ဖန်တီသပါသည်။

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

ဖိုင် user2-policy.json မဟ user2-policy ဟုခေါ်သော Minio တလင် မူဝါဒတစ်ခု ဖန်တီသပါသည်။

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

user1-ပေါ်လစီမူဝါဒကို သုံသစလဲသူ user1 သို့ အသုံသချပါ။

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

user2-ပေါ်လစီမူဝါဒကို သုံသစလဲသူ user2 သို့ အသုံသချပါ။

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

သုံသစလဲသူမျာသနဟင့် မူဝါဒမျာသ၏ ချိတ်ဆက်မဟုကို စစ်ဆေသခဌင်သ။

minio-mc admin user list myminio

အသုံသပဌုသူမျာသနဟင့် မူဝါဒမျာသ၏ ချိတ်ဆက်မဟုကို စစ်ဆေသခဌင်သသည် ကကဲ့သို့ ဖဌစ်လိမ့်မည်။

enabled    user1                 user1-policy
enabled    user2                 user2-policy

ရဟင်သလင်သရန်အတလက်၊ လိပ်စာသို့ browser မဟတဆင့်သလာသပါ။ http://ip-сервера-гЎе-запущеМ-minio:9000/minio/

MINIO_ACCESS_KEY=user1 အောက်ရဟိ Minio နဟင့် ချိတ်ဆက်ထာသသည်ကို ကျလန်ုပ်တို့တလေ့မဌင်ရပါသည်။ user1bucket ပုံသကို ကျလန်ုပ်တို့အတလက် ရနိုင်ပါသည်။

အသုံသပဌုသူသည် ၎င်သ၏ကိုယ်ပိုင်ပုံသနဟင့်သာ အလုပ်လုပ်နိုင်စေရန် Minio ကို စနစ်ထည့်သလင်သခဌင်သ။

မူဝါဒတလင် သက်ဆိုင်သည့်လုပ်ဆောင်ချက်မရဟိသောကဌောင့် ပုံသတစ်ခုဖန်တီသရန် မဖဌစ်နိုင်ပါ။

အသုံသပဌုသူသည် ၎င်သ၏ကိုယ်ပိုင်ပုံသနဟင့်သာ အလုပ်လုပ်နိုင်စေရန် Minio ကို စနစ်ထည့်သလင်သခဌင်သ။

bucket user1bucket တလင် ဖိုင်တစ်ခုဖန်တီသကဌပါစို့။

အသုံသပဌုသူသည် ၎င်သ၏ကိုယ်ပိုင်ပုံသနဟင့်သာ အလုပ်လုပ်နိုင်စေရန် Minio ကို စနစ်ထည့်သလင်သခဌင်သ။

MINIO_ACCESS_KEY=user2 အောက်တလင် Minio သို့ ချိတ်ဆက်ကဌပါစို့။ user2bucket ပုံသကို ကျလန်ုပ်တို့အတလက် ရနိုင်ပါသည်။

ထို့အပဌင် user1bucket သို့မဟုတ် user1bucket မဟဖိုင်မျာသကို ကျလန်ုပ်တို့မတလေ့ပါ။

အသုံသပဌုသူသည် ၎င်သ၏ကိုယ်ပိုင်ပုံသနဟင့်သာ အလုပ်လုပ်နိုင်စေရန် Minio ကို စနစ်ထည့်သလင်သခဌင်သ။

Minio ကို အသုံသပဌု၍ Telegram ချတ်လုပ်ခဲ့သည်။ https://t.me/minio_s3_ru

source: www.habr.com