Minio рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ рддрд╛рдХрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдЖрдлреНрдиреИ рдмрд╛рд▓реНрдЯрд┐рдирд▓реЗ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫ

Minio рдПрдХ рд╕рд░рд▓, рдЫрд┐рдЯреЛ, AWS S3 рдЙрдкрдпреБрдХреНрдд рд╡рд╕реНрддреБ рд╕реНрдЯреЛрд░ рд╣реЛред Minio рдлреЛрдЯреЛ, рднрд┐рдбрд┐рдпреЛ, рд▓рдЧ рдлрд╛рдЗрд▓, рдмреНрдпрд╛рдХрдЕрдк рдЬрд╕реНрддрд╛ рдЕрд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ рд╣реЛрд╕реНрдЯ рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред minio рд▓реЗ рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреБрдЯреЗрдб рдореЛрдбрд▓рд╛рдИ рдкрдирд┐ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдореЗрд╕рд┐рдирд╣рд░реВрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд▓рдЧрд╛рдпрдд рдПрдЙрдЯреИ рд╡рд╕реНрддреБ рднрдгреНрдбрд╛рд░рдг рд╕рд░реНрднрд░рдорд╛ рдзреЗрд░реИ рдбрд┐рд╕реНрдХрд╣рд░реВ рдЬрдбрд╛рди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

рдпрд╕ рдкреЛрд╖реНрдЯрдХреЛ рдЙрджреНрджреЗрд╢реНрдп minio рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБ рд╣реЛ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдЖрдлреНрдиреИ рдмрд╛рд▓реНрдЯрд┐рдирд▓реЗ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫред

рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, Minio рдирд┐рдореНрди рдЕрд╡рд╕реНрдерд╛рдорд╛ рдЙрдкрдпреБрдХреНрдд рдЫ:

  • S3 рдорд╛рд░реНрдлрдд рдкрд╣реБрдБрдЪрдХреЛ рд╕рд╛рде рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдЧреИрд░-рдкреНрд░рддрд┐рдХреГрддрд┐ рднрдгреНрдбрд╛рд░рдг (NAS рд░ SAN рдорд╛ рд╣реЛрд╕реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рд╛рдиреЛ рд░ рдордзреНрдпрдо рднрдгреНрдбрд╛рд░рдг);
  • S3 рдкрд╣реБрдБрдЪрдХреЛ рд╕рд╛рде рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдЧреИрд░-рдкреНрд░рддрд┐рдХреГрддрд┐ рднрдгреНрдбрд╛рд░рдг (рд╡рд┐рдХрд╛рд╕ рд░ рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐);
  • S3 рдкреНрд░реЛрдЯреЛрдХрд▓ рдорд╛рд░реНрдлрдд рдкрд╣реБрдБрдЪрдХреЛ рд╕рд╛рде рдПрдХ рд░реНрдпрд╛рдХрдорд╛ рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рд╕рд╛рдиреЛ рд╕рдореВрд╣рдорд╛ рдкреНрд░рддрд┐рдХреГрддрд┐рдХреЛ рд╕рд╛рде рднрдгреНрдбрд╛рд░рдг (рд░реНрдпрд╛рдХ рдмрд░рд╛рдмрд░ рдЕрд╕рдлрд▓ рдбреЛрдореЗрдирдХреЛ рд╕рд╛рде рд╡рд┐рдлрд▓рддрд╛ рднрдгреНрдбрд╛рд░рдг)ред

RedHat рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рд╣рд╛рдореА рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ Minio рднрдгреНрдбрд╛рд░ рдЬрдбрд╛рди рдЧрд░реНрдЫреМрдВред

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

рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ MINIO_ACCESS_KEY рд░ MINIO_SECRET_KEY рдорд╛ /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=

рдпрджрд┐ рддрдкрд╛рдЗрдБ Minio рдЕрдШрд┐ nginx рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрди рднрдиреЗ, рддрдкрд╛рдЗрдБ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

--address 127.0.0.1:9000

рдорд╛

--address 0.0.0.0:9000

Minio рд╕реБрд░реБ рдЧрд░реМрдВред

systemctl start minio

рд╣рд╛рдореА Minio рдорд╛ myminio рдирд╛рдордХ рдЬрдбрд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВред

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

рдмрд╛рд▓реНрдЯреА рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ 1 рдмрд╛рд▓реНрдЯреА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

minio-mc mb myminio/user1bucket

рдмрд╛рд▓реНрдЯреА рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ 2 рдмрд╛рд▓реНрдЯреА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

minio-mc mb myminio/user2bucket

рдПрдЙрдЯрд╛ рдиреАрддрд┐ рдлрд╛рдЗрд▓ 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": ""
    }
  ]
}

рдПрдЙрдЯрд╛ рдиреАрддрд┐ рдлрд╛рдЗрд▓ 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": ""
    }
  ]
}

рдкрд╛рд╕рд╡рд░реНрдб test1 рдХреЛ рд╕рд╛рде рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ 12345 рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

minio-mc admin user add myminio user1 test12345

рдкрд╛рд╕рд╡рд░реНрдб test2 рдХреЛ рд╕рд╛рде рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ 54321 рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

minio-mc admin user add myminio user2 test54321

рд╣рд╛рдореА Minio рдорд╛ user1-policy рдирд╛рдордХ рдлрд╛рдЗрд▓ user1-policy.json рдмрд╛рдЯ рдиреАрддрд┐ рдмрдирд╛рдЙрдБрдЫреМрдВред

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

рд╣рд╛рдореА Minio рдорд╛ user2-policy рдирд╛рдордХ рдлрд╛рдЗрд▓ user2-policy.json рдмрд╛рдЯ рдиреАрддрд┐ рдмрдирд╛рдЙрдБрдЫреМрдВред

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

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рез-рдиреАрддрд┐ рдиреАрддрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рез рдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

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

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рез-рдиреАрддрд┐ рдиреАрддрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рез рдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

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

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдиреАрддрд┐рд╣рд░реВрдХреЛ рдЬрдбрд╛рди рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ

minio-mc admin user list myminio

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдиреАрддрд┐рд╣рд░реВрдХреЛ рдЬрдбрд╛рди рдЬрд╛рдБрдЪ рдЧрд░реНрджрд╛ рдпреЛ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ

enabled    user1                 user1-policy
enabled    user2                 user2-policy

рд╕реНрдкрд╖реНрдЯрддрд╛рдХреЛ рд▓рд╛рдЧрд┐, рдмреНрд░рд╛рдЙрдЬрд░ рдорд╛рд░реНрдлрдд рдареЗрдЧрд╛рдирд╛рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН http://ip-╤Б╨╡╤А╨▓╨╡╤А╨░-╨│╨┤╨╡-╨╖╨░╨┐╤Г╤Й╨╡╨╜-minio:9000/minio/

рд╣рд╛рдореАрд▓реЗ MINIO_ACCESS_KEY=user1 рдЕрдиреНрддрд░реНрдЧрдд Minio рдорд╛ рдЬрдбрд╛рди рднрдПрдХреЛ рджреЗрдЦреНрдпреМрдВред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рез рдмрд╛рд▓реНрдЯреА рдмрд╛рд▓реНрдЯрд┐рди рд╣рд╛рдореАрд▓рд╛рдИ рдЙрдкрд▓рдмреНрдз рдЫред

Minio рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ рддрд╛рдХрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдЖрдлреНрдиреИ рдмрд╛рд▓реНрдЯрд┐рдирд▓реЗ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫ

рдпреЛ рдПрдХ рдмрд╛рд▓реНрдЯрд┐рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫреИрди, рдХрд┐рдирднрдиреЗ рдиреАрддрд┐рдорд╛ рдХреБрдиреИ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдЫреИрдиред

Minio рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ рддрд╛рдХрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдЖрдлреНрдиреИ рдмрд╛рд▓реНрдЯрд┐рдирд▓реЗ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫ

рдмрд╛рд▓реНрдЯреА user1bucket рдорд╛ рдПрдЙрдЯрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВред

Minio рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ рддрд╛рдХрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдЖрдлреНрдиреИ рдмрд╛рд▓реНрдЯрд┐рдирд▓реЗ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫ

MINIO_ACCESS_KEY=user2 рдЕрдиреНрддрд░реНрдЧрдд Minio рдорд╛ рдЬрдбрд╛рди рдЧрд░реМрдВред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ 2 рдмрдХреЗрдЯ рдмрд╛рд▓реНрдЯрд┐рди рд╣рд╛рдореАрд▓рд╛рдИ рдЙрдкрд▓рдмреНрдз рдЫред

рд░ рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ 1 рдмрд╛рд▓реНрдЯреА рд╡рд╛ user1 bucket рдмрд╛рдЯ рдлрд╛рдЗрд▓рд╣рд░реВ рджреЗрдЦреНрджреИрдиреМрдВред

Minio рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ рддрд╛рдХрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдЖрдлреНрдиреИ рдмрд╛рд▓реНрдЯрд┐рдирд▓реЗ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫ

Minio рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдЪреНрдпрд╛рдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрднрдпреЛ https://t.me/minio_s3_ru

рд╕реНрд░реЛрдд: www.habr.com