Minio-ն պարզ, արագ, AWS S3 համատեղելի օբյեկտների պահեստ է: Minio-ն նախագծված է չկառուցված տվյալներ տեղադրելու համար, ինչպիսիք են լուսանկարները, տեսանյութերը, գրանցամատյանների ֆայլերը, կրկնօրինակները: Minio-ն նաև աջակցում է բաշխված ռեժիմին, որն ապահովում է մի քանի սկավառակներ մեկ օբյեկտի պահպանման սերվերին միացնելու հնարավորություն, ներառյալ տարբեր մեքենաների վրա տեղակայվածները:
Այս գրառման նպատակն է կարգավորել minio-ն այնպես, որ յուրաքանչյուր օգտվող կարողանա աշխատել միայն իր սեփական դույլով:
Ընդհանուր առմամբ, Minio-ն հարմար է հետևյալ դեպքերում.
- չկրկնվող պահեստավորում հուսալի ֆայլային համակարգի վերևում, որը հասանելի է S3-ի միջոցով (փոքր և միջին պահեստավորում, որը տեղակայված է NAS-ում և SAN-ում);
- չկրկնվող պահեստավորում S3 հասանելիությամբ անվստահելի ֆայլային համակարգի վերևում (մշակման և փորձարկման համար);
- պահեստավորում՝ կրկնօրինակմամբ սերվերների մի փոքր խմբի վրա մեկ դարակում՝ մուտք ունենալով S3 արձանագրության միջոցով (խափանման պահեստավորում՝ դարակին հավասար ձախողման տիրույթով):
RedHat համակարգերում մենք միացնում ենք Minio ոչ պաշտոնական պահոցը:
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
Ստեղծեք և ավելացրեք MINIO_ACCESS_KEY-ին և MINIO_SECRET_KEY-ին /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=
Եթե դուք չեք օգտագործի nginx-ը Minio-ից առաջ, ապա պետք է փոխեք:
--address 127.0.0.1:9000
մասին
--address 0.0.0.0:9000
Եկեք գործարկենք Minio-ն:
systemctl start minio
Մենք կապ ենք ստեղծում Minio-ի հետ, որը կոչվում է myminio:
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
Ստեղծեք դույլ user1bucket:
minio-mc mb myminio/user1bucket
Ստեղծեք դույլ user2bucket:
minio-mc mb myminio/user2bucket
Ստեղծեք քաղաքականության ֆայլ 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": ""
}
]
}
Ստեղծեք քաղաքականության ֆայլ 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": ""
}
]
}
Ստեղծեք օգտվողի օգտվող1՝ test12345 գաղտնաբառով:
minio-mc admin user add myminio user1 test12345
Ստեղծեք օգտվողի օգտվող2՝ test54321 գաղտնաբառով:
minio-mc admin user add myminio user2 test54321
Մենք Minio-ում ստեղծում ենք քաղաքականություն user1-policy անունով user1-policy.json ֆայլից:
minio-mc admin policy add myminio user1-policy user1-policy.json
Մենք Minio-ում ստեղծում ենք քաղաքականություն user2-policy անունով user2-policy.json ֆայլից:
minio-mc admin policy add myminio user2-policy user2-policy.json
Կիրառել user1-policy քաղաքականությունը օգտվողի user1-ի նկատմամբ:
minio-mc admin policy set myminio user1-policy user=user1
Կիրառել user2-policy քաղաքականությունը օգտվողի user2-ի նկատմամբ:
minio-mc admin policy set myminio user2-policy user=user2
Օգտագործողների հետ քաղաքականության կապի ստուգում
minio-mc admin user list myminio
Օգտատերերի հետ քաղաքականության կապը ստուգելը մոտավորապես այսպիսի տեսք կունենա
enabled user1 user1-policy
enabled user2 user2-policy
Պարզության համար անցեք բրաուզերի միջոցով հասցեով
Մենք տեսնում ենք, որ մենք միացել ենք Minio-ին MINIO_ACCESS_KEY=user1-ի ներքո: Մեզ հասանելի է user1bucket դույլը:
Դույլ ստեղծել հնարավոր չի լինի, քանի որ քաղաքականության մեջ համապատասխան Գործողություն չկա։
Եկեք ստեղծենք ֆայլ bucket user1bucket-ում:
Եկեք միանանք Minio-ին MINIO_ACCESS_KEY=user2-ի ներքո: Մեզ հասանելի է user2bucket դույլը:
Եվ մենք չենք տեսնում ոչ user1bucket, ոչ էլ ֆայլեր user1bucket-ից:
Minio-ի միջոցով ստեղծեց Telegram զրույց
Source: www.habr.com