Minio je jednostavna, brza, AWS S3 kompatibilna trgovina objekata. Minio je dizajniran za smještaj nestrukturiranih podataka kao što su fotografije, video zapisi, datoteke evidencije, sigurnosne kopije. minio takođe podržava distribuirani režim, koji pruža mogućnost povezivanja više diskova na jedan server za skladištenje objekata, uključujući i one koji se nalaze na različitim mašinama.
Svrha ovog posta je konfigurirati minio tako da svaki korisnik može raditi samo sa svojim vlastitim kantom.
Generalno, Minio je pogodan za sljedeće slučajeve:
- skladište bez replikacije na vrhu pouzdanog sistema datoteka sa pristupom preko S3 (mala i srednja memorija hostovana na NAS-u i SAN-u);
- nereplicirano skladište na vrhu nepouzdanog sistema datoteka sa S3 pristupom (za razvoj i testiranje);
- skladište sa replikacijom na maloj grupi servera u jednom rek-u sa pristupom preko S3 protokola (failover skladište sa domenom greške jednakom rack-u).
Na RedHat sistemima povezujemo nezvanično Minio spremište.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
Generirajte i dodajte MINIO_ACCESS_KEY i MINIO_SECRET_KEY u /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=
Ako nećete koristiti nginx prije Minia, onda morate promijeniti.
--address 127.0.0.1:9000
na
--address 0.0.0.0:9000
Pokrenimo Minio.
systemctl start minio
Kreiramo vezu sa Miniom pod nazivom myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
Kreirajte kantu user1bucket.
minio-mc mb myminio/user1bucket
Kreirajte kantu user2bucket.
minio-mc mb myminio/user2bucket
Kreirajte datoteku politike 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": ""
}
]
}
Kreirajte datoteku politike 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": ""
}
]
}
Kreirajte korisnika user1 sa lozinkom test12345.
minio-mc admin user add myminio user1 test12345
Kreirajte korisnika user2 sa lozinkom test54321.
minio-mc admin user add myminio user2 test54321
Kreiramo politiku u Miniu pod nazivom user1-policy iz datoteke user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.json
Kreiramo politiku u Miniu pod nazivom user2-policy iz datoteke user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.json
Primijenite politiku user1 na korisnika user1.
minio-mc admin policy set myminio user1-policy user=user1
Primijenite politiku user2 na korisnika user2.
minio-mc admin policy set myminio user2-policy user=user2
Provjera povezanosti politika sa korisnicima
minio-mc admin user list myminio
Provjera povezanosti politika sa korisnicima izgledat će otprilike ovako
enabled user1 user1-policy
enabled user2 user2-policy
Radi jasnoće idite kroz pretraživač na adresu
Vidimo da smo se povezali na Minio pod MINIO_ACCESS_KEY=user1. Dostupna nam je korpa user1bucket.
Neće biti moguće kreirati kantu jer u politici ne postoji odgovarajuća radnja.
Kreirajmo datoteku u kantu user1bucket.
Povežimo se na Minio pod MINIO_ACCESS_KEY=user2. Dostupna nam je korpa user2bucket.
I ne vidimo ni user1bucket ni fajlove iz user1bucket.
Kreirali ste Telegram chat koristeći Minio
izvor: www.habr.com