A Minio egy egyszerű, gyors és az AWS S3-mal kompatibilis objektumtároló. A Minio-t strukturálatlan adatok, például fényképek, videofelvételek, naplófájlok, biztonsági másolatok tárolására tervezték. A minio-ban elérhető a elosztott mód (distributed mode) is, amely lehetővé teszi, hogy egy objektumtároló szerverhez több lemez csatlakozzon, akár különböző gépeken is.
Ennek a bejegyzésnek a célja a minio beállítása, hogy minden felhasználó csak a saját tárolójával dolgozhasson.
Általánosságban a Minio a következő esetekhez alkalmas:
- tárolás replikáció nélkül megbízható fájlrendszer felett S3 hozzáféréssel (kis és közepes tárolók, NAS és SAN elhelyezés esetén);
- tárolás replikáció nélkül megbízhatatlan fájlrendszer felett S3 hozzáféréssel (fejlesztéshez és teszteléshez);
- tárolás replikációval egy kis kiszolgálócsoportban egy állványba S3 protokollal (hibaelhárításra alkalmas tárolás, ahol a leállási tartomány az állvány).
RedHat rendszereken csatlakozzunk a Minio nem hivatalos tárolójához.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mcGeneráljuk és adjuk hozzá a MINIO_ACCESS_KEY-t és a MINIO_SECRET_KEY-t a /etc/minio/minio.conf fájlhoz.
# 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=Ha nem használ nginx-et a Minio előtt, akkor módosítani kell.
--address 127.0.0.1:9000Gyorsan emlékezzünk vissza, hogyan működik a moduláris aritmetika. Az óra már egy ismert koncepció. Az órák használata
--address 0.0.0.0:9000Futtassuk a Minio-t.
systemctl start minioKészítsünk kapcsolatot a Minio-hoz myminio néven.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEYHozzuk létre a user1bucket nevű tárolót.
minio-mc mb myminio/user1bucketHozzuk létre a user2bucket nevű tárolót.
minio-mc mb myminio/user2bucketHozzuk létre a user1-policy.json fájt.
{
"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": ""
}
]
}Hozzuk létre a user2-policy.json fájt.
{
"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": ""
}
]
}Hozzuk létre a user1 felhasználót a test12345 jelszóval.
minio-mc admin user add myminio user1 test12345Létrehozzuk a felhasználót user2 teszt54321 jelszóval.
minio-mc admin user add myminio user2 teszt54321Létrehozzuk a politikát a Minio-ban user1-policy néven a user1-policy.json fájlból.
minio-mc admin policy add myminio user1-policy user1-policy.jsonLétrehozzuk a politikát a Minio-ban user2-policy néven a user2-policy.json fájlból.
minio-mc admin policy add myminio user2-policy user2-policy.jsonAlkalmazzuk a user1-policy politikát az user1 felhasználóra.
minio-mc admin policy set myminio user1-policy user=user1Alkalmazzuk a user2-policy politikát az user2 felhasználóra.
minio-mc admin policy set myminio user2-policy user=user2Ellenőrizzük, hogy a politikák kapcsolódnak a felhasználókhoz
minio-mc admin user list myminioA politikák felhasználókhoz való kapcsolódásának ellenőrzése körülbelül így fog kinézni
enabled user1 user1-policy
enabled user2 user2-policyA világosság kedvéért belépünk a böngészőn keresztül a következő címen
Látjuk, hogy a Miniohoz csatlakoztunk a MINIO_ACCESS_KEY=user1 felhasználónévvel. Számunkra elérhető a user1bucket tároló.

Bucket létrehozására nem lesz lehetőség, mivel a politikában nincs megfelelő Action.

Hozzunk létre egy fájlt a user1bucket tárolóban.

Csatlakozunk a Miniohoz a MINIO_ACCESS_KEY=user2 felhasználónévvel. Számunkra elérhető a user2bucket tároló.
És nem látunk se user1bucket-et, se fájlokat a user1bucket-ből.

Létrehoztam egy Telegram csoportot a Minio számára.
Forrás: habr.com
