Uppsetning Minio þannig að notandinn geti aðeins unnið með sína eigin fötu

Minio er einföld, hröð, AWS S3 samhæf hlutaverslun. Minio er hannað til að hýsa óskipulögð gögn eins og myndir, myndbönd, annálaskrár, afrit. minio styður einnig dreifða stillingu, sem veitir möguleika á að tengja marga diska við einn geymslumiðlara, þar á meðal þá sem eru staðsettir á mismunandi vélum.

Tilgangur þessarar færslu er að stilla minio þannig að hver notandi geti aðeins unnið með sína eigin fötu.

Almennt séð hentar Minio í eftirfarandi tilvikum:

  • geymsla án afritunar ofan á áreiðanlegu skráarkerfi með aðgangi um S3 (lítil og meðalstór geymsla hýst á NAS og SAN);
  • óafrituð geymsla ofan á óáreiðanlegu skráarkerfi með S3 aðgangi (til þróunar og prófunar);
  • geymsla með afritun á litlum hópi netþjóna í einu rekki með aðgangi í gegnum S3 samskiptareglur (bilunargeymsla með bilunarléni jafnt rekki).

Á RedHat kerfum tengjum við óopinbera Minio geymsluna.

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

Búðu til og bættu við MINIO_ACCESS_KEY og MINIO_SECRET_KEY í /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=

Ef þú munt ekki nota nginx fyrir Minio, þá þarftu að breyta.

--address 127.0.0.1:9000

á

--address 0.0.0.0:9000

Við skulum ræsa Minio.

systemctl start minio

Við búum til tengingu við Minio sem heitir myminio.

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

Búðu til fötu user1bucket.

minio-mc mb myminio/user1bucket

Búðu til fötu user2bucket.

minio-mc mb myminio/user2bucket

Búðu til stefnuskrá 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": ""
    }
  ]
}

Búðu til stefnuskrá 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": ""
    }
  ]
}

Búðu til notandanotanda1 með lykilorðinu test12345.

minio-mc admin user add myminio user1 test12345

Búðu til notandanotanda2 með lykilorðinu test54321.

minio-mc admin user add myminio user2 test54321

Við búum til stefnu í Minio sem heitir user1-policy úr skránni user1-policy.json.

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

Við búum til stefnu í Minio sem heitir user2-policy úr skránni user2-policy.json.

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

Notaðu notanda1-stefnuna á notanda notanda1.

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

Notaðu notanda2-stefnuna á notanda notanda2.

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

Athugun á tengingu reglna við notendur

minio-mc admin user list myminio

Athugun á tengingu reglna við notendur mun líta einhvern veginn svona út

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Til glöggvunar skaltu fara í gegnum vafrann á heimilisfangið http://ip-сервера-где-запущен-minio:9000/minio/

Við sjáum að við tengdumst Minio undir MINIO_ACCESS_KEY=notandi1. User1bucket fötuna er í boði fyrir okkur.

Uppsetning Minio þannig að notandinn geti aðeins unnið með sína eigin fötu

Það verður ekki hægt að búa til fötu þar sem engin samsvarandi aðgerð er í stefnunni.

Uppsetning Minio þannig að notandinn geti aðeins unnið með sína eigin fötu

Búum til skrá í fötu user1bucket.

Uppsetning Minio þannig að notandinn geti aðeins unnið með sína eigin fötu

Tengjumst Minio undir MINIO_ACCESS_KEY=notandi2. User2bucket fötuna er í boði fyrir okkur.

Og við sjáum hvorki user1bucket né skrár frá user1bucket.

Uppsetning Minio þannig að notandinn geti aðeins unnið með sína eigin fötu

Búið til Telegram spjall með Minio https://t.me/minio_s3_ru

Heimild: www.habr.com