Twaqqif ta 'Minio sabiex l-utent ikun jista' jaħdem biss bil-barmil tiegħu stess

Minio huwa maħżen ta 'oġġetti sempliċi, veloċi, kompatibbli AWS S3. Minio huwa ddisinjat biex jospita data mhux strutturata bħal ritratti, vidjows, log files, backups. minio jappoġġja wkoll il-mod distribwit, li jipprovdi l-abbiltà li jgħaqqdu diski multipli ma 'server ta' ħażna ta 'oġġett wieħed, inklużi dawk li jinsabu fuq magni differenti.

L-iskop ta 'din il-post huwa li jiġi kkonfigurat minio sabiex kull utent ikun jista' jaħdem biss bil-barmil tiegħu stess.

B'mod ġenerali, Minio huwa adattat għall-każijiet li ġejjin:

  • ħażna mhux ta 'replikazzjoni fuq quċċata ta' sistema ta 'fajls affidabbli b'aċċess permezz ta' S3 (ħażna żgħira u medja ospitata fuq NAS u SAN);
  • ħażna mhux replikata fuq sistema ta 'fajls mhux affidabbli b'aċċess S3 (għall-iżvilupp u l-ittestjar);
  • ħażna b'replikazzjoni fuq grupp żgħir ta 'servers f'rack wieħed b'aċċess permezz tal-protokoll S3 (ħażna ta' failover b'dominju ta 'falliment ugwali għar-rack).

Fuq is-sistemi RedHat aħna nikkonnettjaw ir-repożitorju mhux uffiċjali tal-Minio.

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

Iġġenera u żid ma 'MINIO_ACCESS_KEY u MINIO_SECRET_KEY f'/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=

Jekk mhux se tuża nginx qabel Minio, allura trid tibdel.

--address 127.0.0.1:9000

fuq

--address 0.0.0.0:9000

Ejja nniedu Minio.

systemctl start minio

Noħolqu konnessjoni ma 'Minio imsejħa myminio.

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

Oħloq barmil user1bucket.

minio-mc mb myminio/user1bucket

Oħloq barmil user2bucket.

minio-mc mb myminio/user2bucket

Oħloq fajl tal-politika 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": ""
    }
  ]
}

Oħloq fajl tal-politika 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": ""
    }
  ]
}

Oħloq utent utent1 bil-password test12345.

minio-mc admin user add myminio user1 test12345

Oħloq utent utent2 bil-password test54321.

minio-mc admin user add myminio user2 test54321

Noħolqu politika f'Minio msejħa user1-policy mill-fajl user1-policy.json.

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

Noħolqu politika f'Minio msejħa user2-policy mill-fajl user2-policy.json.

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

Applika l-politika tal-politika tal-utent1 għall-utent tal-utent1.

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

Applika l-politika tal-politika tal-utent2 għall-utent tal-utent2.

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

Iċċekkjar tal-konnessjoni tal-politiki mal-utenti

minio-mc admin user list myminio

L-iċċekkjar tal-konnessjoni tal-politiki mal-utenti se jidher xi ħaġa bħal din

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Għaċ-ċarezza, mur permezz tal-browser għall-indirizz http://ip-сервера-где-запущен-minio:9000/minio/

Naraw li konna konna ma' Minio taħt MINIO_ACCESS_KEY=user1. Il-barmil user1bucket huwa disponibbli għalina.

Twaqqif ta 'Minio sabiex l-utent ikun jista' jaħdem biss bil-barmil tiegħu stess

Mhux se jkun possibbli li jinħoloq barmil, peress li m'hemm l-ebda Azzjoni korrispondenti fil-politika.

Twaqqif ta 'Minio sabiex l-utent ikun jista' jaħdem biss bil-barmil tiegħu stess

Ejja noħolqu fajl fil-bucket user1bucket.

Twaqqif ta 'Minio sabiex l-utent ikun jista' jaħdem biss bil-barmil tiegħu stess

Ejja nqabbdu ma' Minio taħt MINIO_ACCESS_KEY=user2. Il-barmil user2bucket huwa disponibbli għalina.

U ma narawx la user1bucket u lanqas fajls minn user1bucket.

Twaqqif ta 'Minio sabiex l-utent ikun jista' jaħdem biss bil-barmil tiegħu stess

Ħoloq chat ta’ Telegram bl-użu ta’ Minio https://t.me/minio_s3_ru

Sors: www.habr.com