เดฎเดฟเดจเดฟเดฏเต‹ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เดธเตเดตเดจเตเดคเด‚ เดฌเด•เตเด•เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚

เดฎเดฟเดจเดฟเดฏเต‹ เดฒเดณเดฟเดคเดตเตเด‚ เดตเต‡เด—เดคเดฏเต‡เดฑเดฟเดฏเดคเตเด‚ AWS S3 เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เดธเตเดฑเตเดฑเต‹เดฑเดพเดฃเต. เดซเต‹เดŸเตเดŸเต‹เด•เตพ, เดตเต€เดกเดฟเดฏเต‹เด•เตพ, เดฒเต‹เด—เต เดซเดฏเดฒเตเด•เตพ, เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ เดŽเดจเตเดจเดฟเดต เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด˜เดŸเดจเดฏเดฟเดฒเตเดฒเดพเดคเตเดค เดกเดพเดฑเตเดฑ เดนเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฃเต เดฎเดฟเดจเดฟเดฏเต‹ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. minio เดกเดฟเดธเตเดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดกเต เดฎเต‹เดกเดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดฎเต†เดทเต€เดจเตเด•เดณเดฟเตฝ เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเดต เด‰เตพเดชเตเดชเต†เดŸเต† เด’เดฐเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดกเดฟเดธเตเด•เตเด•เตพ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดจเตฝเด•เตเดจเตเดจเต.

เด“เดฐเต‹ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเตเด‚ เดธเตเดตเดจเตเดคเด‚ เดฌเด•เตเด•เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดคเดฐเดคเตเดคเดฟเตฝ เดฎเดฟเดจเดฟเดฏเต‹ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต† เด‰เดฆเตเดฆเต‡เดถเด‚.

เดชเตŠเดคเตเดตเต‡, เดฎเดฟเดจเดฟเดฏเต‹ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต:

  • S3 เดตเดดเดฟ เด†เด•เตเดธเดธเต เด‰เดณเตเดณ เด’เดฐเต เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดจเต‹เตบ-เดฑเต†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต (NAS, SAN เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดนเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดšเต†เดฑเตเดคเตเด‚ เด‡เดŸเดคเตเดคเดฐเดตเตเดฎเดพเดฏ เดธเด‚เดญเดฐเดฃเด‚);
  • S3 เด†เด•เตโ€Œเดธเดธเต เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดฒเตเดฒเดพเดคเตเดค เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดจเต‹เตบ-เดฑเต†เดชเตเดฒเดฟเด•เตเด•เต‡เดฑเตเดฑเดกเต เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต (เดตเดฟเด•เดธเดจเดคเตเดคเดฟเดจเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเด•เตเด•เตเด‚);
  • S3 เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เดตเดดเดฟ เด†เด•เตโ€Œเดธเดธเต เด‰เดณเตเดณ เด’เดฐเต เดฑเดพเด•เตเด•เดฟเดฒเต† เด’เดฐเต เดšเต†เดฑเดฟเดฏ เด•เต‚เดŸเตเดŸเด‚ เดธเต†เตผเดตเดฑเตเด•เดณเดฟเตฝ เดฑเต†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‰เดณเตเดณ เดธเด‚เดญเดฐเดฃเด‚ (เดฑเดพเด•เตเด•เดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏ เดชเดฐเดพเดœเดฏ เดกเตŠเดฎเต†เดฏเตโ€Œเดจเตเดณเตเดณ เดชเดฐเดพเดœเดฏ เดธเด‚เดญเดฐเดฃเด‚).

RedHat เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเตฝ เดžเด™เตเด™เตพ เด…เดจเตŒเดฆเตเดฏเต‹เด—เดฟเด• เดฎเดฟเดจเดฟเดฏเต‹ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เด•เดฃเด•เตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

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

เดฎเดฟเดจเดฟเดฏเต‹ เดฒเต‹เดžเตเดšเต เดšเต†เดฏเตเดฏเดพเด‚.

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

เดชเดพเดธเตโ€Œเดตเต‡เดกเต test1 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต† เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•.

minio-mc admin user add myminio user1 test12345

เดชเดพเดธเตโ€Œเดตเต‡เดกเต test2 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต† เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•.

minio-mc admin user add myminio user2 test54321

user1-policy.json เดŽเดจเตเดจ เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เดฎเดฟเดจเดฟเดฏเต‹เดฏเดฟเตฝ user1-policy เดŽเดจเตเดจ เดจเดฏเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเต.

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

user2-policy.json เดŽเดจเตเดจ เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เดฎเดฟเดจเดฟเดฏเต‹เดฏเดฟเตฝ 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 เดŽเดจเตเดจเดคเดฟเดจเต เด•เต€เดดเดฟเตฝ เดžเด™เตเด™เตพ เดฎเดฟเดจเดฟเดฏเต‹เดฏเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดคเดคเดพเดฏเดฟ เดžเด™เตเด™เตพ เด•เดพเดฃเตเดจเตเดจเต. User1bucket เดฌเด•เตเด•เดฑเตเดฑเต เดžเด™เตเด™เตพเด•เตเด•เต เดฒเดญเตเดฏเดฎเดพเดฃเต.

เดฎเดฟเดจเดฟเดฏเต‹ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เดธเตเดตเดจเตเดคเด‚ เดฌเด•เตเด•เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚

เดจเดฏเดคเตเดคเดฟเตฝ เด…เดจเตเดฌเดจเตเดง เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตŠเดจเตเดจเตเด‚ เด‡เดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเดพเตฝ, เด’เดฐเต เดฌเด•เตเด•เดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.

เดฎเดฟเดจเดฟเดฏเต‹ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เดธเตเดตเดจเตเดคเด‚ เดฌเด•เตเด•เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚

เดจเดฎเตเด•เตเด•เต เดฌเด•เตเด•เดฑเตเดฑเต user1bucket-เตฝ เด’เดฐเต เดซเดฏเตฝ เด‰เดฃเตเดŸเดพเด•เตเด•เดพเด‚.

เดฎเดฟเดจเดฟเดฏเต‹ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เดธเตเดตเดจเตเดคเด‚ เดฌเด•เตเด•เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚

MINIO_ACCESS_KEY=user2 เดŽเดจเตเดจเดคเดฟเดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เดฎเดฟเดจเดฟเดฏเต‹เดฏเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเด‚. User2bucket เดฌเด•เตเด•เดฑเตเดฑเต เดžเด™เตเด™เตพเด•เตเด•เต เดฒเดญเตเดฏเดฎเดพเดฃเต.

เดžเด™เตเด™เตพ user1bucket เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ user1bucket-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดซเดฏเดฒเตเด•เตพ เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ.

เดฎเดฟเดจเดฟเดฏเต‹ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เดธเตเดตเดจเตเดคเด‚ เดฌเด•เตเด•เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚

เดฎเดฟเดจเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดšเดพเดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต https://t.me/minio_s3_ru

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com