Как ограничить общий доступ пользователей к корзинам s3 или minIO?

У меня есть вопрос о политике minio или s3. Я использую автономный сервер minio для своего проекта. Вот ситуация:

  • Существует только одна учетная запись администратора, которая получает файлы и загружает их на сервер minio.
  • Моим пользователям нужен доступ только к их собственным загруженным объектам. Я имею в виду, что другой пользователь не должен публично видеть объект других людей (например, посетив прямую ссылку в URL-адресе).
  • Пользователи с правами администратора могут видеть все объекты при любых обстоятельствах.

<сильный>1. Как я могу реализовать такие политики для своего проекта, учитывая, что у меня есть база данных для аутентификации пользователя и как я могу объединить их для аутентификации пользователя.

<сильный>2. Если нет, какие другие варианты у меня есть здесь, чтобы облегчить процесс?


person vahid mahdiun    schedule 08.11.2020    source источник


Ответы (1)


Общайтесь со своим хранилищем через приложение. Выполняйте проверки политик, аутентификацию или авторизацию в приложении, сохраняйте/извлекайте файлы в/из хранилища и дайте правильный ответ. Я думаю, это единственный способ ограничить загрузку/выгрузку файлов с помощью Minio. Если вы используете такую ​​структуру, как Laravel, встроенный драйвер S3 отлично работает с Minio; В противном случае это просто вопрос HTTP-вызова. Minio предоставляет HTTP API.

person Majid Akbari    schedule 08.11.2020