Minio hè un magazinu d'oggetti simplice, veloce, cumpatibile cù AWS S3. Minio hè pensatu per accoglie dati micca strutturati cum'è foto, video, schedarii di log, backups. minio supporta ancu u modu distribuitu, chì furnisce a capacità di cunnette parechji dischi à un servitore di almacenamiento d'ughjettu, cumprese quelli situati in diverse macchine.
U scopu di questu post hè di cunfigurà minio per chì ogni utilizatore pò travaglià solu cù u so propiu bucket.
In generale, Minio hè adattatu per i seguenti casi:
- almacenamentu senza replicazione in cima à un sistema di fugliale affidabile cù accessu via S3 (almacenamiento chjucu è mediu ospitu in NAS è SAN);
- almacenamentu micca replicatu nantu à un sistema di fugliale inaffidabile cù accessu S3 (per u sviluppu è a prova);
- almacenamiento cù replicazione in un picculu gruppu di servitori in un rack cù accessu via u protokollu S3 (almacenamiento failover cù un duminiu di fallimentu uguale à u rack).
Nantu à i sistemi RedHat, cunnettamu u repository Minio non ufficiale.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
Generate è aghjunghje à MINIO_ACCESS_KEY è MINIO_SECRET_KEY in /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=
Se ùn avete micca aduprà nginx prima di Minio, allora avete bisognu di cambià.
--address 127.0.0.1:9000
nantu
--address 0.0.0.0:9000
Lancemu Minio.
systemctl start minio
Creemu una cunnessione à Minio chjamata myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
Crea un bucket user1bucket.
minio-mc mb myminio/user1bucket
Crea un bucket user2bucket.
minio-mc mb myminio/user2bucket
Crea un schedariu di pulitica 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": ""
}
]
}
Crea un schedariu di pulitica 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": ""
}
]
}
Crea un utilizatore user1 cù a password test12345.
minio-mc admin user add myminio user1 test12345
Crea un utilizatore user2 cù a password test54321.
minio-mc admin user add myminio user2 test54321
Creemu una pulitica in Minio chjamata user1-policy da u schedariu user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.json
Creemu una pulitica in Minio chjamata user2-policy da u schedariu user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.json
Applicà a pulitica di l'usu 1 à l'utilizatori 1.
minio-mc admin policy set myminio user1-policy user=user1
Applicà a pulitica di l'usu 2 à l'utilizatori 2.
minio-mc admin policy set myminio user2-policy user=user2
Verificate a cunnessione di e pulitiche à l'utilizatori
minio-mc admin user list myminio
A verificazione di a cunnessione di e pulitiche à l'utilizatori parerà qualcosa cusì
enabled user1 user1-policy
enabled user2 user2-policy
Per a chjarità, andate à traversu u navigatore à l'indirizzu
Avemu vistu chì avemu cunnessu à Minio sottu MINIO_ACCESS_KEY = user1. U bucket user1bucket hè dispunibule per noi.
Ùn serà micca pussibule di creà un bucket, postu chì ùn ci hè micca Azzione currispundente in a pulitica.
Creemu un schedariu in u bucket user1bucket.
Cunnetteremu à Minio sottu MINIO_ACCESS_KEY=user2. U bucket user2bucket hè dispunibule per noi.
È ùn vedemu nè user1bucket nè schedari da user1bucket.
Criatu un chat Telegram cù Minio
Source: www.habr.com