مينيو کي ترتيب ڏيو ته جيئن صارف صرف پنهنجي بالٽ سان ڪم ڪري سگهي

Minio ھڪڙو سادو، تيز، AWS S3 مطابقت رکندڙ اعتراض اسٽور آھي. مينيو غير منظم ڊيٽا کي ميزباني ڪرڻ لاءِ ٺهيل آهي جهڙوڪ فوٽوز، وڊيوز، لاگ فائلون، بيڪ اپ. مينيو پڻ ورهايل موڊ کي سپورٽ ڪري ٿو، جيڪو ڪيترن ئي ڊسڪ کي ھڪڙي اعتراض اسٽوريج سرور سان ڳنڍڻ جي صلاحيت ڏئي ٿو، جن ۾ مختلف مشينن تي واقع آھن.

هن پوسٽ جو مقصد مينيو کي ترتيب ڏيڻ آهي ته جيئن هر صارف صرف پنهنجي بالٽ سان ڪم ڪري سگهي.

عام طور تي، 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

ٺاھيو ۽ شامل ڪريو MINIO_ACCESS_KEY ۽ MINIO_SECRET_KEY ۾ /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=

جيڪڏهن توهان 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 سان استعمال ڪندڙ صارف 12345 ٺاهيو.

minio-mc admin user add myminio user1 test12345

پاسورڊ test2 سان استعمال ڪندڙ صارف 54321 ٺاهيو.

minio-mc admin user add myminio user2 test54321

اسان Minio ۾ user1-policy نالي فائل user1-policy.json مان هڪ پاليسي ٺاهيندا آهيون.

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

اسان Minio ۾ user2-policy نالي فائل user2-policy.json مان هڪ پاليسي ٺاهيندا آهيون.

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

لاڳو ڪريو يوزر1-پاليسي پاليسي يوزر يوزر1 تي.

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

لاڳو ڪريو يوزر2-پاليسي پاليسي يوزر يوزر2 تي.

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

صارفين کي پاليسين جي ڪنيڪشن جي جانچ ڪندي

minio-mc admin user list myminio

صارفين کي پاليسين جي ڪنيڪشن جي جانچ ڪندي ڪجهه هن طرح نظر ايندو

enabled    user1                 user1-policy
enabled    user2                 user2-policy

وضاحت لاءِ، برائوزر ذريعي ايڊريس ڏانھن وڃو http://ip-сервера-где-запущен-minio:9000/minio/

اسان ڏسون ٿا ته اسان MINIO_ACCESS_KEY=user1 تحت Minio سان ڳنڍيل آھيون. User1bucket بالٽ اسان وٽ موجود آهي.

مينيو کي ترتيب ڏيو ته جيئن صارف صرف پنهنجي بالٽ سان ڪم ڪري سگهي

اهو هڪ بالٽ ٺاهڻ ممڪن نه ٿيندو، ڇاڪاڻ ته پاليسي ۾ ڪو به لاڳاپيل عمل ناهي.

مينيو کي ترتيب ڏيو ته جيئن صارف صرف پنهنجي بالٽ سان ڪم ڪري سگهي

اچو ته بڪيٽ user1bucket ۾ هڪ فائل ٺاهي.

مينيو کي ترتيب ڏيو ته جيئن صارف صرف پنهنجي بالٽ سان ڪم ڪري سگهي

اچو ته MINIO_ACCESS_KEY=user2 تحت Minio سان ڳنڍيون. User2bucket بالٽ اسان وٽ موجود آهي.

۽ اسان نه ڏسندا آهيون user1bucket يا فائلون user1bucket مان.

مينيو کي ترتيب ڏيو ته جيئن صارف صرف پنهنجي بالٽ سان ڪم ڪري سگهي

مينيو استعمال ڪندي هڪ ٽيليگرام چيٽ ٺاهيو https://t.me/minio_s3_ru

جو ذريعو: www.habr.com