Minio is in ienfâldige, rappe, AWS S3-kompatibele objektwinkel. Minio is ûntworpen om net-strukturearre gegevens te hostjen lykas foto's, fideo's, logbestannen, backups. minio stipet ek ferdielde modus, dy't de mooglikheid biedt om meardere skiven te ferbinen oan ien objektopslachtsjinner, ynklusyf dy op ferskate masines.
It doel fan dizze post is om minio te konfigurearjen sadat elke brûker allinich mei syn eigen bak kin wurkje.
Yn 't algemien is Minio geskikt foar de folgjende gefallen:
- net-replikaasje opslach boppe op in betrouber bestânsysteem mei tagong fia S3 (lytse en middelgrutte opslach hosted op NAS en SAN);
- net-replikearre opslach boppe op in ûnbetrouber bestânsysteem mei S3-tagong (foar ûntwikkeling en testen);
- opslach mei replikaasje op in lytse groep servers yn ien rack mei tagong fia it S3 protokol (failover opslach mei in mislearre domein lyk oan it rack).
Op RedHat-systemen ferbine wy it net-offisjele Minio-repository.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
Generearje en tafoegje oan MINIO_ACCESS_KEY en MINIO_SECRET_KEY yn /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=
As jo nginx net brûke foardat Minio, dan moatte jo feroarje.
--address 127.0.0.1:9000
op
--address 0.0.0.0:9000
Litte wy Minio lansearje.
systemctl start minio
Wy meitsje in ferbining mei Minio neamd myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
Meitsje in bucket user1bucket.
minio-mc mb myminio/user1bucket
Meitsje in bucket user2bucket.
minio-mc mb myminio/user2bucket
Meitsje in beliedsbestân 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": ""
}
]
}
Meitsje in beliedsbestân 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": ""
}
]
}
Meitsje in brûker brûker1 mei it wachtwurd test12345.
minio-mc admin user add myminio user1 test12345
Meitsje in brûker brûker2 mei it wachtwurd test54321.
minio-mc admin user add myminio user2 test54321
Wy meitsje in belied yn Minio neamd user1-policy út it bestân user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.json
Wy meitsje in belied yn Minio neamd user2-policy út it bestân user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.json
Tapasse it belied fan brûker1 op de brûker brûker1.
minio-mc admin policy set myminio user1-policy user=user1
Tapasse it belied fan brûker2 op de brûker brûker2.
minio-mc admin policy set myminio user2-policy user=user2
Kontrolearje de ferbining fan belied oan brûkers
minio-mc admin user list myminio
It kontrolearjen fan de ferbining fan belied mei brûkers sil der sa útsjen
enabled user1 user1-policy
enabled user2 user2-policy
Foar dúdlikens, gean troch de browser nei it adres
Wy sjogge dat wy ferbûn binne mei Minio ûnder MINIO_ACCESS_KEY = brûker1. De user1bucket-emmer is foar ús beskikber.
It sil net mooglik wêze om in bak te meitsjen, om't d'r gjin oerienkommende Aksje yn it belied is.
Litte wy in bestân oanmeitsje yn 'e bucket user1bucket.
Litte wy ferbine mei Minio ûnder MINIO_ACCESS_KEY=brûker2. De user2bucket-emmer is foar ús beskikber.
En wy sjogge gjin user1bucket of bestannen fan user1bucket.
In Telegram-petear makke mei Minio
Boarne: www.habr.com