Minio er en enkel, hurtig og AWS S3-kompatibel objektlager. Minio er designet til at hoste ustrukturerede data som billeder, videoer, logfiler og sikkerhedskopier. I minio understøttes også en distribueret tilstand, som muliggør tilslutning af flere diske til en enkelt objektlagerserver, herunder diske placeret på forskellige maskiner.
Formålet med dette indlæg er at konfigurere minio, så hver bruger kun kan arbejde med deres egen bucket.
Generelt er Minio velegnet til følgende tilfælde:
- lager uden replikering oven på et pålideligt filsystem med S3-adgang (små og mellemstore lagre, der hostes på NAS og SAN);
- lager uden replikering oven på et upålideligt filsystem med S3-adgang (til udvikling og test);
- lager med replikering på en lille gruppe servere i en rack med adgang via S3-protokollen (fejltolerant lager med en fejldomæne svarende til racken).
På RedHat-systemer tilslutter vi et uofficielt Minio-repository.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mcGenerer og tilføj i MINIO_ACCESS_KEY og MINIO_SECRET_KEY i /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=Hvis du ikke vil bruge nginx foran Minio, skal du ændre.
--address 127.0.0.1:9000og få en fungerende kommando.
--address 0.0.0.0:9000Starter Minio.
systemctl start minioOpretter forbindelse til Minio ved navn myminio.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEYOpretter bucket user1bucket.
minio-mc mb myminio/user1bucketOpretter bucket user2bucket.
minio-mc mb myminio/user2bucketOpretter policy-filen 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": ""
}
]
}Opretter policy-filen 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": ""
}
]
}Opretter bruger user1 med adgangskoden test12345.
minio-mc admin user add myminio user1 test12345Opretter brugeren user2 med adgangskoden test54321.
minio-mc admin user add myminio user2 test54321Opretter en politik i Minio med navnet user1-policy ud fra filen user1-policy.json.
minio-mc admin policy add myminio user1-policy user1-policy.jsonOpretter en politik i Minio med navnet user2-policy ud fra filen user2-policy.json.
minio-mc admin policy add myminio user2-policy user2-policy.jsonAnvender politikken user1-policy på brugeren user1.
minio-mc admin policy set myminio user1-policy user=user1Anvender politikken user2-policy på brugeren user2.
minio-mc admin policy set myminio user2-policy user=user2Tjekker tilslutningen af politikker til brugerne
minio-mc admin user list myminioTjek af tilslutningen af politikker til brugerne vil være cirka sådan
enabled user1 user1-policy
enabled user2 user2-policyFor tydelighedens skyld, gå ind via browseren på adressen
Vi ser, at vi er tilsluttet Minio med MINIO_ACCESS_KEY=user1. For os er bucket user1bucket tilgængelig.

Det vil ikke være muligt at oprette en bucket, da der ikke er den relevante action i politikken.

Lad os oprette en fil i bucket user1bucket.

Vi tilslutter os Minio med MINIO_ACCESS_KEY=user2. For os er bucket user2bucket tilgængelig.
Og vi ser hverken user1bucket eller filer fra user1bucket.

Oprettede en Telegram-chat vedrørende Minio
Kilde: habr.com
