Знакома ситуация, когда от вас требуют, чтобы записывался каждый чих? Если да, то мы свами одной крови. В этой статье распишу свой опыт настройки аудита действий пользователя в MinIO.

Для начала конечно у вас уже должен быть работающий кластер Elasticsearch. Как его ставить в этой статье я рассматривать не буду.

Также о том как поставить MinIO клиент и создать alias вы можете посмотреть тут.

Включаем мониторинг действий с корзиной (bucket)

  • Самым первым делом нам необходимо добавить узел Elasticsearch, на который будем слать логи.
mc admin config set minio_alias/ notify_elasticsearch:1    url="https://elkhost:9122"    index="minio-index"    format="access"    username="elk_user"    password="elk_pwd"
  • К сожалению, после добавления узла Elasticsearch необходимо перезапустить весь Server Pool MinIO.
mc admin service restart minio_alias
  • Далее нам необходимо получить arn для Elasticsearch
mc admin info --json minio_alias | grep sqsARN
mc admin info --json minio_alias | jq  .info.sqsARN
  • Собственно, настраиваем аудит для корзины (bucket)
mc event add minio_alias/mybucket arn:aws:sqs:us-west-2:444455556666:your-queue
mc event ls minio_alias/mybucket
  • Можно применить фильтр по маске, например, производит аудит действий только для jpg файлов
mc event add minio_alias/mybucket arn:aws:sqs:us-west-2:444455556666:your-queue --suffix .jpg
mc event ls minio_alias/mybucket