Konfigureer Minio sodat die gebruiker net met sy eie emmer kan werk

Minio is 'n eenvoudige, vinnige en AWS S3-versoenbare voorwerpwinkel. Minio is ontwerp om ongestruktureerde data soos foto's, video's, loglêers, rugsteun te huisves. minio ondersteun ook verspreide modus, wat die vermoë bied om verskeie skywe aan 'n enkele objekbergingbediener te koppel, insluitend dié wat op verskillende masjiene geleë is.

Die doel van hierdie pos is om minio op te stel sodat elke gebruiker net met hul eie emmer kan werk.

Oor die algemeen is Minio geskik vir die volgende gevalle:

  • nie-replikasieberging bo-op 'n veilige lêerstelsel met S3-toegang (klein en medium berging op NAS en SAN aangebied);
  • berging sonder replikasie oor 'n onbetroubare lêerstelsel met toegang oor S3 (vir ontwikkeling en toetsing);
  • berging met replikasie op 'n klein groepie bedieners in een rek met toegang via die S3-protokol (failover-berging met 'n foutdomein gelyk aan die rek).

Op RedHat-stelsels verbind ons die nie-amptelike Minio-bewaarplek.

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

Ons genereer en voeg by MINIO_ACCESS_KEY en MINIO_SECRET_KEY in /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=

As jy nie nginx voor Minio gaan gebruik nie, moet jy verander.

--address 127.0.0.1:9000

op

--address 0.0.0.0:9000

Ons begin Minio.

systemctl start minio

Ons skep 'n verbinding met Minio genaamd myminio.

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

Skep emmer gebruiker1 emmer.

minio-mc mb myminio/user1bucket

Skep emmer gebruiker2 emmer.

minio-mc mb myminio/user2bucket

Skep 'n beleidlêer 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": ""
    }
  ]
}

Skep 'n beleidlêer 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": ""
    }
  ]
}

Skep gebruiker gebruiker1 met wagwoord test12345.

minio-mc admin user add myminio user1 test12345

Skep gebruiker gebruiker2 met wagwoord test54321.

minio-mc admin user add myminio user2 test54321

Skep 'n beleid in Minio genaamd gebruiker1-beleid vanaf die gebruiker1-beleid.json-lêer.

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

Skep 'n beleid in Minio genaamd gebruiker2-beleid vanaf die gebruiker2-beleid.json-lêer.

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

Ons pas die beleid gebruiker1-beleid toe op die gebruiker gebruiker1.

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

Ons pas die beleid gebruiker2-beleid toe op die gebruiker gebruiker2.

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

Kontroleer die verbinding van beleide aan gebruikers

minio-mc admin user list myminio

Om die verbinding van beleide aan gebruikers na te gaan, sal iets soos hierdie wees

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Vir duidelikheid gaan ons deur die blaaier by die adres http://ip-сервера-где-запущен-minio:9000/minio/

Ons sien dat ons aan Minio gekoppel het onder MINIO_ACCESS_KEY=gebruiker1. Bucket user1bucket is vir ons beskikbaar.

Konfigureer Minio sodat die gebruiker net met sy eie emmer kan werk

Dit sal nie werk om 'n emmer te skep nie, aangesien daar geen ooreenstemmende Aksie in die beleid is nie.

Konfigureer Minio sodat die gebruiker net met sy eie emmer kan werk

Kom ons skep 'n lêer in emmer user1bucket.

Konfigureer Minio sodat die gebruiker net met sy eie emmer kan werk

Koppel aan Minio onder MINIO_ACCESS_KEY=gebruiker2. Bucket user2bucket is vir ons beskikbaar.

En ons sien nie user1bucket of lêers vanaf user1bucket nie.

Konfigureer Minio sodat die gebruiker net met sy eie emmer kan werk

Telegram-klets geskep deur Minio https://t.me/minio_s3_ru

Bron: will.com