Faʻatulagaina Minio ina ia mafai e le tagata faʻaoga ona galue i lana lava pakete

Minio o se faleoloa meafaitino faigofie, vave, AWS S3. Minio ua mamanuina e faʻafeiloaʻi ai faʻamatalaga e leʻi faʻatulagaina e pei o ata, vitio, faila faila, faʻamaumauga. e lagolagoina foi e le minio le tufatufaina atu, lea e maua ai le avanoa e faʻafesoʻotaʻi ai le tele o tisiketi i se mea e teu ai mea, e aofia ai i luga o masini eseese.

O le faʻamoemoega o lenei pou o le faʻatulagaina o le minio ina ia mafai e tagata taʻitoʻatasi ona galue naʻo lana lava pakete.

I se tulaga lautele, Minio e talafeagai mo tulaga nei:

  • e le toe fa'apipi'i fa'apipi'i i luga o se faila faila fa'atuatuaina fa'atasi ma le avanoa e ala i le S3 (tama'i ma feololo teu fa'apipi'iina i luga o le NAS ma le SAN);
  • e le toe fa'afo'iina le teuina i luga o se faila faila le fa'atuatuaina ma le S3 avanoa (mo le atina'e ma le su'ega);
  • teuina ma le toe faia i luga o se vaega toʻaitiiti o 'auʻaunaga i le tasi fata faʻatasi ma le avanoa e ala i le S3 protocol (failover storage with a failure domain e tutusa ma le fata).

I luga o faiga RedHat matou te faʻafesoʻotaʻi le faleoloa Minio le aloaia.

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

Fausia ma fa'aopoopo ile MINIO_ACCESS_KEY ma le MINIO_SECRET_KEY ile /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=

Afai e te le faʻaogaina le nginx i luma o Minio, ona e manaʻomia lea ona sui.

--address 127.0.0.1:9000

i

--address 0.0.0.0:9000

Se'i tatou fa'alauiloa le Minio.

systemctl start minio

Matou te faia se fesoʻotaʻiga i le Minio e taʻua myminio.

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

Fausia se pakete user1bucket.

minio-mc mb myminio/user1bucket

Fausia se pakete user2bucket.

minio-mc mb myminio/user2bucket

Fausia se faila faila 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": ""
    }
  ]
}

Fausia se faila faila 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": ""
    }
  ]
}

Fausia se tagata fa'aoga user1 ma le password test12345.

minio-mc admin user add myminio user1 test12345

Fausia se tagata fa'aoga user2 ma le password test54321.

minio-mc admin user add myminio user2 test54321

Matou te faia se faiga faʻavae i le Minio e taʻua o le user1-policy mai le faila user1-policy.json.

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

Matou te faia se faiga faʻavae i le Minio e taʻua o le user2-policy mai le faila user2-policy.json.

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

Fa'aoga le faiga fa'avae a le user1-policy i le user user1.

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

Fa'aoga le faiga fa'avae a le user2-policy i le user user2.

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

Siaki le feso'ota'iga o faiga fa'avae i tagata fa'aoga

minio-mc admin user list myminio

O le siakiina o le fesoʻotaʻiga o faiga faʻavae i tagata faʻaoga o le a foliga faʻapea

enabled    user1                 user1-policy
enabled    user2                 user2-policy

Mo le fa'amalamalamaga, alu ile su'esu'ega ile tuatusi http://ip-сервера-где-запущен-minio:9000/minio/

Ua matou va'ai ua matou feso'ota'i i le Minio i lalo o le MINIO_ACCESS_KEY=user1. O lo'o avanoa le pakete user1bucket mo matou.

Faʻatulagaina Minio ina ia mafai e le tagata faʻaoga ona galue i lana lava pakete

O le a le mafai ona faia se pakete, talu ai e leai se Fa'atinoga talafeagai i totonu o le faiga fa'avae.

Faʻatulagaina Minio ina ia mafai e le tagata faʻaoga ona galue i lana lava pakete

Tatou fai se faila ile pakete user1bucket.

Faʻatulagaina Minio ina ia mafai e le tagata faʻaoga ona galue i lana lava pakete

Tatou fa'afeso'ota'i ile Minio ile MINIO_ACCESS_KEY=user2. O lo'o avanoa le pakete user2bucket mo matou.

Ma matou te le vaʻai i le user1bucket poʻo faila mai le user1bucket.

Faʻatulagaina Minio ina ia mafai e le tagata faʻaoga ona galue i lana lava pakete

Fausia se talanoaga Telegram e faʻaaoga ai le Minio https://t.me/minio_s3_ru

puna: www.habr.com