Minio je jednoduchý a rýchly objektový obchod kompatibilný s AWS S3. Minio je navrhnuté tak, aby hostilo neštruktúrované údaje, ako sú fotografie, videá, protokolové súbory, zálohy. minio tiež podporuje distribuovaný režim, ktorý poskytuje možnosť pripojiť viacero diskov k jednému serveru na ukladanie objektov, vrátane diskov umiestnených na rôznych počítačoch.
Účelom tohto príspevku je nakonfigurovať minio tak, aby každý používateľ mohol pracovať iba s vlastným vedierkom.
Vo všeobecnosti je Minio vhodné pre nasledujúce prípady:
- nereplikačné úložisko nad spoľahlivým súborovým systémom s prístupom cez S3 (malé a stredné úložisko hosťované na NAS a SAN);
- nereplikované úložisko nad nespoľahlivým súborovým systémom s prístupom S3 (na vývoj a testovanie);
- úložisko s replikáciou na malej skupine serverov v jednom racku s prístupom cez protokol S3 (failover storage s doménou zlyhania rovnajúcou sa racku).
Na systémoch RedHat pripájame neoficiálne úložisko Minio.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
Vygenerujte a pridajte kľúče MINIO_ACCESS_KEY a MINIO_SECRET_KEY v súbore /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=
Ak nebudete používať nginx pred Minio, musíte to zmeniť.
--address 127.0.0.1:9000
na
--address 0.0.0.0:9000
Spustíme Minio.
systemctl start minio
Vytvárame spojenie s Miniom s názvom myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
Vytvorte segment user1bucket.
minio-mc mb myminio/user1bucket
Vytvorte segment user2bucket.
minio-mc mb myminio/user2bucket
Vytvorte súbor politiky 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": ""
}
]
}
Vytvorte súbor politiky 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": ""
}
]
}
Vytvorte užívateľa user1 s heslom test12345.
minio-mc admin user add myminio user1 test12345
Vytvorte užívateľa user2 s heslom test54321.
minio-mc admin user add myminio user2 test54321
V programe Minio vytvoríme politiku s názvom user1-policy zo súboru user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.json
V programe Minio vytvoríme politiku s názvom user2-policy zo súboru user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.json
Aplikujte politiku user1-policy na užívateľa user1.
minio-mc admin policy set myminio user1-policy user=user1
Aplikujte politiku user2-policy na užívateľa user2.
minio-mc admin policy set myminio user2-policy user=user2
Kontrola pripojenia politík k používateľom
minio-mc admin user list myminio
Kontrola pripojenia politík k používateľom bude vyzerať asi takto
enabled user1 user1-policy
enabled user2 user2-policy
Pre prehľadnosť prejdite cez prehliadač na adresu
Vidíme, že sme sa pripojili k Minio pod MINIO_ACCESS_KEY=user1. Je nám k dispozícii vedro user1bucket.
Nebude možné vytvoriť segment, pretože v politike nie je žiadna zodpovedajúca akcia.
Poďme vytvoriť súbor v bucket user1bucket.
Pripojme sa k Miniu pod MINIO_ACCESS_KEY=user2. Je nám k dispozícii vedro user2bucket.
A nevidíme ani user1bucket, ani súbory z user1bucket.
Vytvoril som telegramový chat pomocou Minio
Zdroj: hab.com