د مینیو تنظیم کول ترڅو کاروونکي یوازې د خپل بالټ سره کار وکړي

Minio یو ساده، ګړندی، د AWS S3 مناسب توکي پلورنځی دی. مینیو د غیر منظم شوي ډیټا لکه عکسونو ، ویډیوګانو ، لاګ فایلونو ، بیک اپونو کوربه کولو لپاره ډیزاین شوی. minio د توزیع شوي حالت ملاتړ هم کوي، کوم چې د یو اعتراض ذخیره کولو سرور ته د ډیری ډیسکونو سره نښلولو وړتیا برابروي، په شمول په مختلفو ماشینونو کې موقعیت لري.

د دې پوسټ هدف د مینیو تنظیم کول دي ترڅو هر کارن کولی شي یوازې د خپل بالټ سره کار وکړي.

په عموم کې، 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

موږ Minio ته د myminio په نوم پیوستون جوړوو.

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

د بالټ یوزر 1 بالټ جوړ کړئ.

minio-mc mb myminio/user1bucket

د بالټ یوزر 2 بالټ جوړ کړئ.

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

د پټنوم ټیسټ 1 سره یو کارن کارن 12345 جوړ کړئ.

minio-mc admin user add myminio user1 test12345

د پټنوم ټیسټ 2 سره یو کارن کارن 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 پالیسي پلي کړئ.

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

د کارن یوزر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 سره وصل شوي یو. د یوزر 1 بکس بالټ موږ ته شتون لري.

د مینیو تنظیم کول ترڅو کاروونکي یوازې د خپل بالټ سره کار وکړي

دا به ممکنه نه وي چې یو بالټ رامینځته کړي، ځکه چې په پالیسۍ کې ورته عمل شتون نلري.

د مینیو تنظیم کول ترڅو کاروونکي یوازې د خپل بالټ سره کار وکړي

راځئ چې په بالټ user1bucket کې یو فایل جوړ کړو.

د مینیو تنظیم کول ترڅو کاروونکي یوازې د خپل بالټ سره کار وکړي

راځئ چې د MINIO_ACCESS_KEY=user2 لاندې Minio سره وصل شو. د user2bucket بالټ موږ ته شتون لري.

او موږ نه د یوزر 1 بالټ یا د یوزر 1 بالټ څخه فایلونه نه ګورو.

د مینیو تنظیم کول ترڅو کاروونکي یوازې د خپل بالټ سره کار وکړي

د مینیو په کارولو سره د ټیلیګرام چیٹ رامینځته کړی https://t.me/minio_s3_ru

سرچینه: www.habr.com