Nyetél Minio supados pangguna ngan ukur tiasa damel sareng ember sorangan

Minio mangrupakeun basajan, gancang, AWS S3 toko objék cocog. Minio dirancang pikeun host data anu teu terstruktur sapertos poto, pidéo, file log, cadangan. minio ogé ngarojong mode disebarkeun, nu nyadiakeun kamampuhan pikeun nyambungkeun sababaraha disk ka hiji server gudang obyék, kaasup nu aya dina mesin béda.

Tujuan tina tulisan ieu nyaéta pikeun ngonpigurasikeun minio supados unggal pangguna ngan ukur tiasa damel sareng ember sorangan.

Sacara umum, Minio cocog pikeun kasus di handap ieu:

  • gudang non-réplikasi dina luhureun sistem file dipercaya jeung aksés via S3 (panyimpenan leutik tur sedeng hosted on Nas jeung San);
  • gudang non-replicated dina luhureun hiji sistem file dipercaya jeung aksés S3 (pikeun ngembangkeun sarta nguji);
  • neundeun jeung réplikasi dina grup leutik tina server dina hiji rak kalawan aksés via protokol S3 (panyimpenan failover kalawan domain gagalna sarua jeung rak).

Dina sistem RedHat urang nyambungkeun gudang Minio teu resmi.

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

Ngahasilkeun sarta tambahkeun ka MINIO_ACCESS_KEY na MINIO_SECRET_KEY di /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=

Upami anjeun henteu nganggo nginx sateuacan Minio, maka anjeun kedah robih.

--address 127.0.0.1:9000

dina

--address 0.0.0.0:9000

Hayu urang ngajalankeun Minio.

systemctl start minio

Urang nyieun sambungan kana Minio disebut myminio.

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

Jieun ember user1bucket.

minio-mc mb myminio/user1bucket

Jieun ember user2bucket.

minio-mc mb myminio/user2bucket

Jieun file kawijakan 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": ""
    }
  ]
}

Jieun file kawijakan 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": ""
    }
  ]
}

Jieun pamaké pamaké1 kalawan sandi test12345.

minio-mc admin user add myminio user1 test12345

Jieun pamaké pamaké2 kalawan sandi test54321.

minio-mc admin user add myminio user2 test54321

Urang nyieun kawijakan di Minio disebut user1-kabijakan tina file user1-policy.json.

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

Urang nyieun kawijakan di Minio disebut user2-kabijakan tina file user2-policy.json.

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

Larapkeun kawijakan user1-kawijakan ka pamaké user1.

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

Larapkeun kawijakan user2-kawijakan ka pamaké user2.

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

Mariksa sambungan kawijakan ka pamaké

minio-mc admin user list myminio

Mariksa sambungan kawijakan ka pamaké bakal kasampak kawas kieu

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Pikeun kajelasan, ngaliwatan browser ka alamat http://ip-сервера-где-запущен-minio:9000/minio/

Urang nempo yén urang disambungkeun ka Minio handapeun MINIO_ACCESS_KEY = pamaké1. Ember user1bucket sayogi pikeun kami.

Nyetél Minio supados pangguna ngan ukur tiasa damel sareng ember sorangan

Eta moal mungkin nyieun ember, saprak euweuh Aksi pakait dina kawijakan.

Nyetél Minio supados pangguna ngan ukur tiasa damel sareng ember sorangan

Hayu urang nyieun file dina ember user1bucket.

Nyetél Minio supados pangguna ngan ukur tiasa damel sareng ember sorangan

Hayu urang nyambung ka Minio handapeun MINIO_ACCESS_KEY=user2. Ember user2bucket sayogi pikeun urang.

Sareng kami henteu ningali user1bucket atanapi file tina user1bucket.

Nyetél Minio supados pangguna ngan ukur tiasa damel sareng ember sorangan

Ngadamel obrolan Telegram nganggo Minio https://t.me/minio_s3_ru

sumber: www.habr.com