Minion konfigurointi siten, että käyttäjä voi työskennellä vain omalla ämpärillään

Minio on yksinkertainen, nopea ja AWS S3 -yhteensopiva objektikauppa. Minio on suunniteltu isännöimään jäsentämätöntä dataa, kuten valokuvia, videoita, lokitiedostoja ja varmuuskopioita. minio tukee myös hajautettua tilaa, joka tarjoaa mahdollisuuden liittää useita levyjä yhteen objektin tallennuspalvelimeen, mukaan lukien eri koneissa sijaitsevat levyt.

Tämän postauksen tarkoituksena on määrittää minio niin, että jokainen käyttäjä voi työskennellä vain omalla ämpärillään.

Yleensä Mini soveltuu seuraaviin tilanteisiin:

  • replikoimaton tallennus suojatun tiedostojärjestelmän päällä S3-käytöllä (pieni ja keskikokoinen tallennustila, jota isännöidään NAS:ssa ja SANissa);
  • tallennus ilman replikointia epäluotettavassa tiedostojärjestelmässä, jossa on pääsy S3:n kautta (kehitystä ja testausta varten);
  • tallennustila replikoinnilla pienessä ryhmässä palvelimia yhdessä telineessä ja pääsy S3-protokollan kautta (vikavarasto, jonka vikaverkkoalue on sama kuin teline).

RedHat-järjestelmissä yhdistämme epävirallisen Minio-arkiston.

yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc

Luomme ja lisäämme avaimet MINIO_ACCESS_KEY ja MINIO_SECRET_KEY tiedostossa /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=

Jos et käytä nginxiä ennen Miniota, sinun on vaihdettava.

--address 127.0.0.1:9000

päälle

--address 0.0.0.0:9000

Aloitamme Minon.

systemctl start minio

Luomme yhteyden Minoon nimeltä myminio.

minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY 
MINIO_SECRET_KEY

Luo ryhmä user1bucket.

minio-mc mb myminio/user1bucket

Luo ryhmä user2bucket.

minio-mc mb myminio/user2bucket

Luo käytäntötiedosto 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": ""
    }
  ]
}

Luo käytäntötiedosto 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": ""
    }
  ]
}

Luo käyttäjä user1 salasanalla test12345.

minio-mc admin user add myminio user1 test12345

Luo käyttäjä user2 salasanalla test54321.

minio-mc admin user add myminio user2 test54321

Luo Miniossa käytäntö, jonka nimi on user1-policy user1-policy.json-tiedostosta.

minio-mc admin policy add myminio user1-policy user1-policy.json

Luo Miniossa käytäntö, jonka nimi on user2-policy user2-policy.json-tiedostosta.

minio-mc admin policy add myminio user2-policy user2-policy.json

Käytämme käyttäjä1-käytäntöä käyttäjäkäyttäjä1:een.

minio-mc admin policy set myminio user1-policy user=user1

Käytämme käyttäjä2-käytäntöä käyttäjäkäyttäjä2:een.

minio-mc admin policy set myminio user2-policy user=user2

Käytäntöjen yhteyttä käyttäjiin tarkistetaan

minio-mc admin user list myminio

Käytäntöjen yhteyden tarkistaminen käyttäjiin on jotain tällaista

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Selvyyden vuoksi käymme selaimen läpi osoitteessa http://ip-сервера-где-запущен-minio:9000/minio/

Näemme, että olemme muodostaneet yhteyden Minioon kohdassa MINIO_ACCESS_KEY=user1. Bucket user1bucket on käytettävissämme.

Minion konfigurointi siten, että käyttäjä voi työskennellä vain omalla ämpärillään

Ryhmän luominen ei onnistu, koska käytännössä ei ole vastaavaa toimintoa.

Minion konfigurointi siten, että käyttäjä voi työskennellä vain omalla ämpärillään

Luodaan tiedosto ämpäriin user1bucket.

Minion konfigurointi siten, että käyttäjä voi työskennellä vain omalla ämpärillään

Yhdistä Minioon kohdassa MINIO_ACCESS_KEY=user2. Bucket user2bucket on käytettävissämme.

Emme näe käyttäjä1bucketia tai tiedostoja käyttäjä1bucketista.

Minion konfigurointi siten, että käyttäjä voi työskennellä vain omalla ämpärillään

Minion luoma Telegram-chatin https://t.me/minio_s3_ru

Lähde: will.com