Minio on lihtne, kiire AWS S3-ga ühilduv objektipood. Minio on loodud struktureerimata andmete (nt fotod, videod, logifailid, varukoopiad) majutamiseks. minio toetab ka hajutatud režiimi, mis annab võimaluse ühendada mitu ketast ühe objektisalvestusserveriga, sealhulgas need, mis asuvad erinevates masinates.
Selle postituse eesmärk on seadistada minio nii, et iga kasutaja saaks töötada ainult oma ämbriga.
Üldiselt sobib Minio järgmistel juhtudel:
- replikatsioonivaba salvestusruum usaldusväärse failisüsteemi peal, millele on juurdepääs S3 kaudu (väike ja keskmine salvestusruum, mis on hostitud NAS-is ja SAN-is);
- replikatsioonita salvestus ebausaldusväärse failisüsteemi peal koos S3 juurdepääsuga (arendamiseks ja testimiseks);
- salvestus koos replikatsiooniga väikeses serverirühmas ühes riiulis, millele on juurdepääs S3-protokolli kaudu (tõrkesiirdesalvestus, mille rikkedomeen on võrdne püstikuga).
RedHati süsteemides ühendame mitteametliku Minio hoidla.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
Looge ja lisage failis /etc/minio/minio.conf MINIO_ACCESS_KEY ja 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=
Kui te ei kasuta nginxi enne Miniot, peate muutma.
--address 127.0.0.1:9000
edasi
--address 0.0.0.0:9000
Käivitame Minio.
systemctl start minio
Loome Minioga ühenduse nimega myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
Looge ämber user1bucket.
minio-mc mb myminio/user1bucket
Looge ämber user2bucket.
minio-mc mb myminio/user2bucket
Looge poliitikafail 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": ""
}
]
}
Looge poliitikafail 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": ""
}
]
}
Looge kasutaja user1 parooliga test12345.
minio-mc admin user add myminio user1 test12345
Looge kasutaja user2 parooliga test54321.
minio-mc admin user add myminio user2 test54321
Loome Minios poliitika nimega user1-policy failist user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.json
Loome Minios poliitika nimega user2-policy failist user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.json
Rakendage kasutaja kasutaja1 poliitika poliitikat user1.
minio-mc admin policy set myminio user1-policy user=user1
Rakendage kasutaja kasutaja2 poliitika poliitikat user2.
minio-mc admin policy set myminio user2-policy user=user2
Reeglite kasutajatega seotuse kontrollimine
minio-mc admin user list myminio
Reeglite kasutajatega seotuse kontrollimine näeb välja umbes selline
enabled user1 user1-policy
enabled user2 user2-policy
Selguse huvides minge brauseri kaudu aadressile
Näeme, et ühendasime Minioga MINIO_ACCESS_KEY=user1 all. User1bucket ämber on meile saadaval.
Salvest pole võimalik luua, kuna poliitikas pole vastavat toimingut.
Loome faili ämbrisse user1bucket.
Loome ühenduse Minioga all MINIO_ACCESS_KEY=user2. User2bucket ämber on meile saadaval.
Ja me ei näe ei kasutaja1 ämbrit ega faile kasutaja1 ämbrist.
Lõi Minio abil Telegrami vestluse
Allikas: www.habr.com