Minio este un magazin de obiecte simplu, rapid, compatibil cu AWS S3. Minio este conceput pentru a găzdui date nestructurate, cum ar fi fotografii, videoclipuri, fișiere jurnal, copii de siguranță. minio acceptă, de asemenea, modul distribuit, care oferă posibilitatea de a conecta mai multe discuri la un server de stocare a obiectelor, inclusiv pe cele situate pe diferite mașini.
Scopul acestei postări este de a configura minio astfel încât fiecare utilizator să poată lucra doar cu propria sa găleată.
În general, Minio este potrivit pentru următoarele cazuri:
- stocare fără replicare pe deasupra unui sistem de fișiere fiabil cu acces prin S3 (stocare mică și medie găzduită pe NAS și SAN);
- stocare nereplicată pe deasupra unui sistem de fișiere nesigur cu acces S3 (pentru dezvoltare și testare);
- stocare cu replicare pe un grup mic de servere într-un rack cu acces prin protocolul S3 (stocare de failover cu un domeniu de eroare egal cu rack).
Pe sistemele RedHat conectăm depozitul neoficial Minio.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mcGenerați și adăugați la MINIO_ACCESS_KEY și MINIO_SECRET_KEY în /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=Dacă nu veți folosi nginx înainte de Minio, atunci trebuie să schimbați.
--address 127.0.0.1:9000pe
--address 0.0.0.0:9000Să lansăm Minio.
systemctl start minioCreăm o conexiune la Minio numită myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEYCreați o găleată user1bucket.
minio-mc mb myminio/user1bucketCreați o găleată user2bucket.
minio-mc mb myminio/user2bucketCreați un fișier de politică 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": ""
}
]
}Creați un fișier de politică 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": ""
}
]
}Creați un utilizator user1 cu parola test12345.
minio-mc admin user add myminio user1 test12345Creați un utilizator user2 cu parola test54321.
minio-mc admin user add myminio user2 test54321Creăm o politică în Minio numită user1-policy din fișierul user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.jsonCreăm o politică în Minio numită user2-policy din fișierul user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.jsonAplicați politica user1-policy utilizatorului user1.
minio-mc admin policy set myminio user1-policy user=user1Aplicați politica user2-policy utilizatorului user2.
minio-mc admin policy set myminio user2-policy user=user2Verificarea conexiunii politicilor la utilizatori
minio-mc admin user list myminioVerificarea conexiunii politicilor la utilizatori va arăta cam așa
enabled user1 user1-policy
enabled user2 user2-policyPentru claritate, accesați browserul la adresa
Vedem că ne-am conectat la Minio sub MINIO_ACCESS_KEY=user1. Bucket-ul user1bucket este disponibil pentru noi.

Nu va fi posibil să se creeze o grupă, deoarece nu există nicio acțiune corespunzătoare în politică.

Să creăm un fișier în bucket user1bucket.

Să ne conectăm la Minio sub MINIO_ACCESS_KEY=user2. Bucket-ul user2bucket este disponibil pentru noi.
Și nu vedem nici user1bucket, nici fișierele din user1bucket.

Am creat un chat Telegram folosind Minio
Sursa: www.habr.com
