Minio ááẠááá¯ážááŸááºážááŒá®áž ááŒááºáááºáá±á¬ AWS S3 ááŸáá·áº ááá¯ááºáááºáá±á¬ á¡áá¬ááá¹áá¯á ááá¯ážáá áºáá¯ááŒá áºáááºá Minio ááẠáá¬ááºáá¯á¶áá»á¬ážá áá®áá®ááá¯áá»á¬ážá ááŸááºáááºážááá¯ááºáá»á¬ážá áááá¹áá°áá°ážááŸá¯áá»á¬ážáá²á·ááá¯á·áá±á¬ ááœá²á·á ááºážáá¯á¶áááŸááá±á¬áá±áá¬áá»á¬ážááᯠáááºáá¶áá»ááºážáááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá minio ááẠááá°áá®áá±á¬á ááºáá»á¬ážáá±á«áºááœááºááŸááá±á¬ á¡áá¬áá»á¬ážá¡áá«á¡ááẠá¡áá¬ááá¹áá¯ááá¯ááŸá±á¬ááºááŸá¯áá¬áá¬áá áºáá¯ááá¯á· áá áºá¡áá»á¬ážá¡ááŒá¬ážááᯠáá»áááºáááºááá¯ááºá á±ááá·áº ááŒáá·áºáá±áá¯ááºááá¯áááºáž áá¶á·ááá¯ážáá±ážáá«áááºá
á€ááá¯á·á áºááááºááœááºáá»ááºááŸá¬ á¡áá¯á¶ážááŒá¯áá°ááá¯ááºážááẠáááºážáááá¯ááºááá¯ááºáá¯á¶ážááŸáá·áºáá¬á¡áá¯ááºáá¯ááºááá¯ááºá á±ááẠminio ááᯠconfigure ááŒá¯áá¯ááºáááºááŒá áºáááºá
áá±áá¯áá»á¡á¬ážááŒáá·áºá 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
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 ááŒáá·áºá¡áá¯á¶ážááŒá¯áá° user12345 ááá¯áááºáá®ážáá«á
minio-mc admin user add myminio user1 test12345
á áá¬ážááŸáẠtest2 ááŒáá·áºá¡áá¯á¶ážááŒá¯áá° user54321 ááá¯áááºáá®ážáá«á
minio-mc admin user add myminio user2 test54321
ááá¯áẠuser1-policy.json á០user1-policy áá¯áá±á«áºáá±á¬ Minio ááœáẠáá°áá«ááá áºáᯠáááºáá®ážáá«áááºá
minio-mc admin policy add myminio user1-policy user1-policy.json
ááá¯áẠuser2-policy.json á០user2-policy áá¯áá±á«áºáá±á¬ Minio ááœáẠáá°áá«ááá áºáᯠáááºáá®ážáá«áááºá
minio-mc admin policy add myminio user2-policy user2-policy.json
user1-áá±á«áºáá á®áá°áá«áááᯠáá¯á¶ážá áœá²áá° user1 ááá¯á· á¡áá¯á¶ážáá»áá«á
minio-mc admin policy set myminio user1-policy user=user1
user2-áá±á«áºáá á®áá°áá«áááᯠáá¯á¶ážá áœá²áá° user2 ááá¯á· á¡áá¯á¶ážáá»áá«á
minio-mc admin policy set myminio user2-policy user=user2
áá¯á¶ážá áœá²áá°áá»á¬ážááŸáá·áº áá°áá«ááá»á¬ážá áá»áááºáááºááŸá¯ááᯠá á áºáá±ážááŒááºážá
minio-mc admin user list myminio
á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááŸáá·áº áá°áá«ááá»á¬ážá áá»áááºáááºááŸá¯ááᯠá á áºáá±ážááŒááºážááẠá€áá²á·ááá¯á· ááŒá áºáááá·áºáááºá
enabled user1 user1-policy
enabled user2 user2-policy
ááŸááºážáááºážáááºá¡ááœááºá ááááºá
á¬ááá¯á· browser ááŸáááá·áºááœá¬ážáá«á
MINIO_ACCESS_KEY=user1 á¡á±á¬ááºááŸá Minio ááŸáá·áº áá»áááºáááºáá¬ážáááºááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá user1bucket áá¯á¶ážááᯠáá»áœááºá¯ááºááá¯á·á¡ááœáẠáááá¯ááºáá«áááºá
áá°áá«áááœáẠáááºááá¯ááºááá·áºáá¯ááºáá±á¬ááºáá»ááºáááŸááá±á¬ááŒá±á¬áá·áº áá¯á¶ážáá áºáá¯áááºáá®ážááẠáááŒá áºááá¯ááºáá«á
bucket user1bucket ááœáẠááá¯ááºáá áºáá¯áááºáá®ážááŒáá«á áá¯á·á
MINIO_ACCESS_KEY=user2 á¡á±á¬ááºááœáẠMinio ááá¯á· áá»áááºáááºááŒáá«á áá¯á·á user2bucket áá¯á¶ážááᯠáá»áœááºá¯ááºááá¯á·á¡ááœáẠáááá¯ááºáá«áááºá
ááá¯á·á¡ááŒáẠuser1bucket ááá¯á·ááá¯áẠuser1bucket ááŸááá¯ááºáá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·áááœá±á·áá«á
Minio ááᯠá¡áá¯á¶ážááŒá¯á Telegram áá»ááºáá¯ááºáá²á·áááºá
source: www.habr.com