Minio je preprosta, hitra, združljiva shramba predmetov AWS S3. Minio je zasnovan za gostovanje nestrukturiranih podatkov, kot so fotografije, videoposnetki, dnevniške datoteke, varnostne kopije. minio podpira tudi porazdeljeni način, ki omogoča povezovanje več diskov na en strežnik za shranjevanje objektov, vključno s tistimi, ki se nahajajo na različnih strojih.
Namen te objave je konfigurirati minio tako, da lahko vsak uporabnik dela samo s svojim vedrom.
Na splošno je Minio primeren za naslednje primere:
- shranjevanje brez podvajanja na vrhu zanesljivega datotečnega sistema z dostopom prek S3 (majhno in srednje veliko shranjevanje, ki gostuje na NAS in SAN);
- nepodvojeno shranjevanje na vrhu nezanesljivega datotečnega sistema z dostopom S3 (za razvoj in testiranje);
- shranjevanje z replikacijo na manjši skupini strežnikov v enem racku z dostopom preko protokola S3 (failover storage with failure domain equal to rack).
Na sisteme RedHat priklopimo neuradni repozitorij Minio.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
Ustvarite in dodajte MINIO_ACCESS_KEY in MINIO_SECRET_KEY v /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=
Če ne boste uporabljali nginx pred Miniom, potem morate spremeniti.
--address 127.0.0.1:9000
o
--address 0.0.0.0:9000
Zaženimo Minio.
systemctl start minio
Ustvarimo povezavo z Minio, imenovano myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
Ustvarite vedro user1bucket.
minio-mc mb myminio/user1bucket
Ustvarite vedro user2bucket.
minio-mc mb myminio/user2bucket
Ustvarite datoteko pravilnika 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": ""
}
]
}
Ustvarite datoteko pravilnika 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": ""
}
]
}
Ustvarite uporabnika user1 z geslom test12345.
minio-mc admin user add myminio user1 test12345
Ustvarite uporabnika user2 z geslom test54321.
minio-mc admin user add myminio user2 test54321
V Miniu ustvarimo pravilnik z imenom user1-policy iz datoteke user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.json
V Miniu ustvarimo pravilnik z imenom user2-policy iz datoteke user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.json
Uporabite pravilnik user1-policy za uporabnika user1.
minio-mc admin policy set myminio user1-policy user=user1
Uporabite pravilnik user2-policy za uporabnika user2.
minio-mc admin policy set myminio user2-policy user=user2
Preverjanje povezave pravilnikov z uporabniki
minio-mc admin user list myminio
Preverjanje povezave pravilnikov z uporabniki bo videti nekako takole
enabled user1 user1-policy
enabled user2 user2-policy
Zaradi jasnosti pojdite skozi brskalnik do naslova
Vidimo, da smo se povezali z Miniom pod MINIO_ACCESS_KEY=user1. Na voljo nam je vedro user1bucket.
Vedra ne bo mogoče ustvariti, ker v pravilniku ni ustreznega dejanja.
Ustvarimo datoteko v vedru user1bucket.
Povežimo se z Miniom pod MINIO_ACCESS_KEY=user2. Na voljo nam je vedro user2bucket.
In ne vidimo niti user1bucket niti datotek iz user1bucket.
Ustvaril klepet Telegram z uporabo Minia
Vir: www.habr.com