Minio estas simpla, rapida, kongrua objektobutiko de AWS S3. Minio estas desegnita por gastigi nestrukturitajn datumojn kiel fotojn, filmetojn, protokolojn, sekurkopiojn. minio ankaŭ subtenas distribuitan reĝimon, kiu disponigas la kapablon ligi plurajn diskojn al unu objekta stokadservilo, inkluzive de tiuj situantaj sur malsamaj maŝinoj.
La celo de ĉi tiu afiŝo estas agordi minion por ke ĉiu uzanto povu labori nur per sia propra sitelo.
Ĝenerale, Minio taŭgas por la sekvaj kazoj:
- ne-replika stokado aldone al fidinda dosiersistemo kun aliro per S3 (malgranda kaj meza stokado gastigita en NAS kaj SAN);
- ne-replikita stokado aldone al nefidinda dosiersistemo kun S3-aliro (por disvolviĝo kaj testado);
- stokado kun reproduktado sur grupeto de serviloj en unu rako kun aliro per la S3-protokolo (malsukcesa stokado kun malsukcesa domajno egala al la rako).
En RedHat-sistemoj ni konektas la neoficialan deponejon de Minio.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
Generu kaj aldonu al MINIO_ACCESS_KEY kaj MINIO_SECRET_KEY en /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 vi ne uzos nginx antaŭ Minio, tiam vi devas ŝanĝi.
--address 127.0.0.1:9000
sur
--address 0.0.0.0:9000
Ni lanĉu Minion.
systemctl start minio
Ni kreas konekton al Minio nomata myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
Kreu sitelon user1bucket.
minio-mc mb myminio/user1bucket
Kreu sitelon user2bucket.
minio-mc mb myminio/user2bucket
Kreu politikan dosieron 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": ""
}
]
}
Kreu politikan dosieron 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": ""
}
]
}
Kreu uzanton1 kun la pasvorto test12345.
minio-mc admin user add myminio user1 test12345
Kreu uzanton2 kun la pasvorto test54321.
minio-mc admin user add myminio user2 test54321
Ni kreas politikon en Minio nomatan user1-policy el la dosiero user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.json
Ni kreas politikon en Minio nomatan user2-policy el la dosiero user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.json
Apliki la uzanto1-politikan politikon al la uzanto-uzanto1.
minio-mc admin policy set myminio user1-policy user=user1
Apliki la uzanto2-politikan politikon al la uzanto-uzanto2.
minio-mc admin policy set myminio user2-policy user=user2
Kontrolante la konekton de politikoj al uzantoj
minio-mc admin user list myminio
Kontroli la konekton de politikoj al uzantoj aspektos kiel ĉi tio
enabled user1 user1-policy
enabled user2 user2-policy
Por klareco, iru tra la retumilo al la adreso
Ni vidas, ke ni konektis al Minio sub MINIO_ACCESS_KEY=uzanto1. La sitelo user1bucket disponeblas por ni.
Ne eblos krei sitelon, ĉar ne estas responda Ago en la politiko.
Ni kreu dosieron en la sitelo user1bucket.
Ni konektu al Minio sub MINIO_ACCESS_KEY=uzanto2. La sitelo user2bucket disponeblas por ni.
Kaj ni ne vidas nek user1bucket nek dosierojn de user1bucket.
Kreis Telegram-babilejon per Minio
fonto: www.habr.com