ืืื ืืึธ ืืื ืึท ืคึผืฉืื, ืฉื ืขื, AWS S3 ืงืึทืืคึผืึทืืึทืืึทื ืืืืคืขืฅ ืงืจืึธื. ืืื ืืึธ ืืื ืืืืืื ื ืฆื ืืึทืืขืืึธืก ืึทื ืกืืจืึทืงืืฉืขืจื ืืึทืื ืึทืืึท ืืื ืคืึธืืึธืก, ืืืืืืืก, ืงืืึธืฅ ืืขืงืขืก, ืืึทืงืึทืคึผืก. ืืื ืืึธ ืืืื ืฉืืืฆื ืคืื ืื ืืขืจืืขืืืืื ืืึธืืข, ืืืึธืก ืืื ืื ืคืืืืงืืื ืฆื ืคืึทืจืืื ืื ืงืืืคื ืืืกืงืก ืฆื ืืืื ืึทืืืืฉืขืงื ืกืืึธืจืืืืฉ ืกืขืจืืืขืจ, ืึทืจืืึทื ืืขืจืขืื ื ืื ืืืึธืก ืืขื ืขื ืืืื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืืืฉืื ืขื.
ืืขืจ ืฆืื ืคืื ืืขื ืคึผืึธืกืื ืืื ืฆื ืงืึทื ืคืืืืขืจ ืืื ืืึธ ืึทืืื ืึทื ืืขืืขืจ ืืึทื ืืฆืขืจ ืงืขื ืขื ืึทืจืืขืื ืืืืื ืืื ืืืื ืืืืืขื ืข ืขืืขืจ.
ืืื ืึทืืืขืืืื, ืืื ืืึธ ืืื ืคึผืึทืกืืง ืคึฟืึทืจ ืื ืคืืืืขื ืืข ืงืึทืกืขืก:
- ื ืื-ืจืขืคึผืืึทืงืืืฉืึทื ืกืืึธืจืืืืฉ ืืืืฃ ืฉืคึผืืฅ ืคืื ืึท ืคืึทืจืืึธืืืขื ืืขืงืข ืกืืกืืขื ืืื ืึทืงืกืขืก ืืืจื S3 (ืงืืืื ืืื ืืืื ืกืืึธืจืืืืฉ ืืึธืืกืืื ืืืืฃ NAS ืืื SAN);
- ื ืื-ืจืขืคึผืืืงืืืืื ืกืืึธืจืืืืฉ ืืืืฃ ืฉืคึผืืฅ ืคืื ืึทื ืึทื ืจืืืืืึทืืึทื ืืขืงืข ืกืืกืืขื ืืื S3 ืึทืงืกืขืก (ืคึฟืึทืจ ืึทื ืืืืืงืืื ื ืืื ืืขืกืืื ื);
- ืกืืึธืจืืืืฉ ืืื ืจืขืคึผืืึทืงืืืฉืึทื ืืืืฃ ืึท ืงืืืื ืืจืืคึผืข ืคืื โโืกืขืจืืืขืจืก ืืื ืืืื ืืขืฉืืขื ืืื ืึทืงืกืขืก ืืืจื ืื S3 ืคึผืจืึธืืึธืงืึธื (ืคืืืืืึธืืืืขืจ ืกืืึธืจืืืืฉ ืืื ืึท ืืืจืืคืึทื ืคืขืื ืืืืึทื ืฆื ืื ืืขืฉืืขื).
ืืืืฃ RedHat ืกืืกืืขืืขื ืืืจ ืคืึทืจืืื ืื ืื ืึทื ืึทืคืืฉืึทื ืืื ืืึธ ืจืืคึผืึทืืึทืืึธืจื.
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=
ืืืื ืืืจ ืืืขื ื ืืฉื ื ืืฆื 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
ืฉืึทืคึฟื ืึท ืขืืขืจ 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": ""
}
]
}
ืฉืึทืคึฟื ืึท ืืึทื ืืฆืขืจ ืืึทื ืืฆืขืจ 1 ืืื ืื ืคึผืึทืจืึธื test12345.
minio-mc admin user add myminio user1 test12345
ืฉืึทืคึฟื ืึท ืืึทื ืืฆืขืจ ืืึทื ืืฆืขืจ 2 ืืื ืื ืคึผืึทืจืึธื test54321.
minio-mc admin user add myminio user2 test54321
ืืืจ ืืึทืื ืึท ืคึผืึธืืืืืง ืืื ืืื ืืึธ ืืขืจืืคื user1-policy ืคืื ืืขืจ ืืขืงืข user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.json
ืืืจ ืืึทืื ืึท ืคึผืึธืืืืืง ืืื ืืื ืืึธ ืืขืจืืคื 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
ืคึฟืึทืจ ืงืืขืจืืื, ืืืื ืืืจื ืืขื ืืืขืืขืจืขืจ ืฆื ืื ืึทืืจืขืก
ืืืจ ืืขื ืึทื ืืืจ ืงืึธื ื ืขืงืืขื ืฆื ืืื ืืึธ ืืื ืืขืจ MINIO_ACCESS_KEY = ืืึทื ืืฆืขืจ 1. ืื User1bucket ืขืืขืจ ืืื ืืืจืขืืืืื ืคึฟืึทืจ ืืื ืื.
ืขืก ืืืขื ื ืื ืืืื ืืขืืืขื ืฆื ืฉืึทืคึฟื ืึท ืขืืขืจ, ืืืืึทื ืขืก ืืื ืงืืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืงืึทืืฃ ืืื ืืขืจ ืคึผืึธืืืืืง.
ืืึธืืืจ ืืึทืื ืึท ืืขืงืข ืืื ืื ืขืืขืจ user1bucket.
ืืึธืืืจ ืคืึทืจืืื ืื ืฆื ืืื ืืึธ ืืื ืืขืจ MINIO_ACCESS_KEY = ืืึทื ืืฆืขืจ 2. ืื User2bucket ืขืืขืจ ืืื ืืืจืขืืืืื ืคึฟืึทืจ ืืื ืื.
ืืื ืืืจ ืืึธื ื ืื ืืขื User1bucket ืึธืืขืจ ืืขืงืขืก ืคึฟืื User1bucket.
ืืืฉืืคื ืึท ืืขืืขืืจืึทื ืฉืืืขืก ืืื ืืื ืืึธ
ืืงืืจ: www.habr.com