Minio është një depo objektesh e thjeshtë, e shpejtë dhe e kompatibël me AWS S3. Minio është krijuar për të ruajtur të dhënat e paorganizuar, si fotografi, video, skedarët e logëve, dhe backup-e. Në Minio gjithashtu mbështetet moda e shpërndarë (distributed mode), e cila ofron mundësinë e lidhjes me një server ruajtjeje objektesh me shumë disqe, përfshirë ato të vendosura në makina të ndryshme.
Qëllimi i këtij postimi është të konfigurohet Minio në mënyrë që çdo përdorues të mund të punojë vetëm me bucket-in e tij.
Në përgjithësi, Minio është e përshtatshme për rastet e mëposhtme:
- depo pa replikim mbi një sistem skedari të besueshëm me qasje përmes S3 (depo të vogla dhe të mesme, të vendosura në NAS dhe SAN);
- depo pa replikim mbi një sistem skedari të pabesueshëm me qasje përmes S3 (për zhvillim dhe testim);
- depo me replikim në një grup të vogël serverësh në një raft me qasje përmes protokolli S3 (depo me qëndrueshmëri me një domen dështimi të barabartë me raftin).
Në sistemet RedHat, lidhim një depo të paudhësishme për Minio.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mcKrijojmë dhe shtojmë në MINIO_ACCESS_KEY dhe MINIO_SECRET_KEY në /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=Nëse nuk do të përdorni nginx para Minio, atëherë duhet të ndryshoni.
--address 127.0.0.1:9000në
--address 0.0.0.0:9000Nisni Minio.
systemctl start minioKrijojmë një lidhje me Minio të quajtur myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEYKrijojmë bucket user1bucket.
minio-mc mb myminio/user1bucketKrijojmë bucket user2bucket.
minio-mc mb myminio/user2bucketKrijojmë skedarin e politikave 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": ""
}
]
}Krijojmë skedarin e politikave 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": ""
}
]
}Krijojmë përdoruesin user1 me fjalëkalimin test12345.
minio-mc admin user add myminio user1 test12345Krijojmë përdoruesin user2 me fjalëkalimin test54321.
minio-mc admin user add myminio user2 test54321Krijojmë një politikë në Minio me emrin user1-policy nga skedari user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.jsonKrijojmë një politikë në Minio me emrin user2-policy nga skedari user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.jsonAplikohet politika user1-policy për përdoruesin user1.
minio-mc admin policy set myminio user1-policy user=user1Aplikohet politika user2-policy për përdoruesin user2.
minio-mc admin policy set myminio user2-policy user=user2Kontrollojmë lidhjet e politikave me përdoruesit
minio-mc admin user list myminioKontrolli i lidhjes së politikave me përdoruesit do të duket kështu
enabled user1 user1-policy
enabled user2 user2-policyPër qartësi, hyni përmes shfletuesit në adresën
Vërejmë se jemi lidhur me Minio me MINIO_ACCESS_KEY=user1. Për ne është në dispozicion bucket user1bucket.

Nuk mund të krijojmë një bucket, sepse nuk ka veprimin e duhur në politikë.

Do të krijojmë një skedar në bucket user1bucket.

Do të lidhim me Minio me MINIO_ACCESS_KEY=user2. Për ne është në dispozicion bucket user2bucket.
Dhe nuk shohim as user1bucket dhe as skedarë nga user1bucket.

Krijova një bisedë në Telegram për Minio
Burimi: habr.com
