පරිශීලකයාට ඔහුගේම බාල්දියකින් පමණක් වැඩ කළ හැකි වන පරිදි Minio පිහිටුවීම

Minio යනු සරල, වේගවත්, AWS S3 අනුකූල වස්තු ගබඩාවකි. Minio නිර්මාණය කර ඇත්තේ ඡායාරූප, වීඩියෝ, ලොග් ගොනු, උපස්ථ වැනි ව්‍යුහගත නොවන දත්ත සංග්‍රහ කිරීමටයි. minio බෙදාහැරීමේ මාදිලියට සහය දක්වයි, එය විවිධ යන්ත්‍රවල පිහිටා ඇති ඒවා ඇතුළුව එක් වස්තු ගබඩා සේවාදායකයකට බහු තැටි සම්බන්ධ කිරීමේ හැකියාව සපයයි.

මෙම සටහනේ අරමුණ වන්නේ සෑම පරිශීලකයෙකුටම තමාගේම බාල්දියකින් පමණක් වැඩ කළ හැකි පරිදි 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

බාල්දි 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 සමඟ පරිශීලක පරිශීලකයෙකු සාදන්න.

minio-mc admin user add myminio user1 test12345

මුරපදය test2 සමඟ පරිශීලක පරිශීලකයෙකු සාදන්න.

minio-mc admin user add myminio user2 test54321

අපි user1-policy.json ගොනුවෙන් Minio හි user1-policy නමින් ප්‍රතිපත්තියක් සාදන්නෙමු.

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

අපි user2-policy.json ගොනුවෙන් Minio හි user2-policy නමින් ප්‍රතිපත්තියක් සාදන්නෙමු.

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 බාල්දිය අපට ලබා ගත හැකිය.

පරිශීලකයාට ඔහුගේම බාල්දියකින් පමණක් වැඩ කළ හැකි වන පරිදි Minio පිහිටුවීම

ප්‍රතිපත්තියේ අනුරූප ක්‍රියාවක් නොමැති බැවින් බාල්දියක් සෑදීමට නොහැකි වනු ඇත.

පරිශීලකයාට ඔහුගේම බාල්දියකින් පමණක් වැඩ කළ හැකි වන පරිදි Minio පිහිටුවීම

අපි බාල්දි user1bucket එකේ file එකක් හදමු.

පරිශීලකයාට ඔහුගේම බාල්දියකින් පමණක් වැඩ කළ හැකි වන පරිදි Minio පිහිටුවීම

MINIO_ACCESS_KEY=user2 යටතේ Minio වෙත සම්බන්ධ වෙමු. user2bucket බාල්දිය අපට ලබා ගත හැකිය.

තවද අපට user1bucket හෝ user1bucket වෙතින් ගොනු නොපෙනේ.

පරිශීලකයාට ඔහුගේම බාල්දියකින් පමණක් වැඩ කළ හැකි වන පරිදි Minio පිහිටුවීම

Minio භාවිතයෙන් Telegram කතාබස් නිර්මාණය කළා https://t.me/minio_s3_ru

මූලාශ්රය: www.habr.com