Nyetel Minio supaya pangguna mung bisa nggarap ember dhewe

Minio punika prasaja, cepet, AWS S3 toko obyek kompatibel. Minio dirancang kanggo dadi tuan rumah data sing ora terstruktur kayata foto, video, file log, serep. minio uga ndhukung mode mbagekke, kang menehi kemampuan kanggo nyambungake macem-macem disk kanggo siji server panyimpenan obyek, kalebu sing dumunung ing mesin beda.

Tujuan saka kiriman iki yaiku kanggo ngatur minio supaya saben pangguna mung bisa nggarap ember dhewe.

Umumé, Minio cocok kanggo kasus ing ngisor iki:

  • panyimpenan non-replikasi ing ndhuwur sistem file dipercaya karo akses liwat S3 (panyimpenan cilik lan medium tuan rumah ing NAS lan SAN);
  • panyimpenan non-replicated ing ndhuwur sistem file ora dipercaya karo akses S3 (kanggo pembangunan lan testing);
  • panyimpenan karo réplikasi ing klompok cilik saka server ing rak siji karo akses liwat protokol S3 (panyimpenan failover karo domain Gagal witjaksono kanggo rak).

Ing sistem RedHat, kita nyambungake repositori Minio sing ora resmi.

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

Gawe lan tambahake menyang MINIO_ACCESS_KEY lan MINIO_SECRET_KEY ing /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=

Yen sampeyan ora bakal nggunakake nginx sadurunge Minio, sampeyan kudu ngganti.

--address 127.0.0.1:9000

ing

--address 0.0.0.0:9000

Ayo miwiti Minio.

systemctl start minio

Kita nggawe sambungan menyang Minio disebut myminio.

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

Nggawe ember user1bucket.

minio-mc mb myminio/user1bucket

Nggawe ember user2bucket.

minio-mc mb myminio/user2bucket

Nggawe file privasi 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": ""
    }
  ]
}

Nggawe file privasi 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": ""
    }
  ]
}

Gawe pangguna pangguna1 nganggo tembung sandi test12345.

minio-mc admin user add myminio user1 test12345

Gawe pangguna pangguna2 nganggo tembung sandi test54321.

minio-mc admin user add myminio user2 test54321

Kita nggawe kebijakan ing Minio sing diarani user1-policy saka file user1-policy.json.

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

Kita nggawe kebijakan ing Minio sing diarani user2-policy saka file user2-policy.json.

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

Nerapake kabijakan kabijakan pangguna1 menyang pangguna pangguna1.

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

Nerapake kabijakan kabijakan pangguna2 menyang pangguna pangguna2.

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

Priksa sambungan kabijakan menyang pangguna

minio-mc admin user list myminio

Priksa sambungan kabijakan menyang pangguna bakal katon kaya iki

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Kanggo gamblang, pindhah liwat browser menyang alamat http://ip-сервера-где-запущен-minio:9000/minio/

Kita weruh yen kita nyambung menyang Minio ing MINIO_ACCESS_KEY=user1. Ember user1bucket kasedhiya kanggo kita.

Nyetel Minio supaya pangguna mung bisa nggarap ember dhewe

Ora bakal bisa nggawe ember, amarga ora ana Tindakan sing cocog ing kabijakan kasebut.

Nyetel Minio supaya pangguna mung bisa nggarap ember dhewe

Ayo nggawe file ing ember user1bucket.

Nyetel Minio supaya pangguna mung bisa nggarap ember dhewe

Ayo nyambung menyang Minio ing MINIO_ACCESS_KEY=user2. Ember user2bucket kasedhiya kanggo kita.

Lan kita ora weruh user1bucket utawa file saka user1bucket.

Nyetel Minio supaya pangguna mung bisa nggarap ember dhewe

Nggawe obrolan Telegram nggunakake Minio https://t.me/minio_s3_ru

Source: www.habr.com