Журналы Cloudwatch - аудит доступа пользователей
У меня есть список пользователей в .passwd
а также access_log
загружается в Cloudwatch. Мне нужно сделать еженедельный отчет, кто из этого списка делает доступ к серверу.
Есть ли способ автоматизировать это вместо проверки журналов вручную для каждого пользователя? Их несколько десятков.
2 ответа
NXLog может использовать CloudWatch API для получения журналов из Amazon Cloudwatch, а также здесь доступен сценарий Python.
Для автоматизации такой задачи у вас есть несколько вариантов.
Пакетная обработка - загружайте логи из CloudWatch, а затем анализируйте их в поисках ваших пользователей.
Ты можешь использовать
aws logs describe-log-streams
чтобы найти имена потоков журнала, отфильтруйте его по отметке времени, чтобы убедиться, что вы обрабатываете только последние.Для каждого вызова потока журнала
aws logs get-log-events
который даст вам фактические сообщения журнала, а затем проанализировать их, например, используяgrep
,Вместо того, чтобы использовать
aws
а такжеgrep
Вы можете написать небольшой загрузчик / парсер, например, вpython
или на другом языке по вашему выбору и используйте одну из библиотек AWS SDK для доступа к журналам.Оперативная обработка - собирайте и обрабатывайте соответствующие записи в журнале, как только они будут записаны в журналы CloudWatch. Вы можете настроить шаблон фильтра CloudWatch Logs и подать соответствующий
access_log
например, записи в функцию Lambda, которая будет отслеживать пользователей, получающих доступ к вашему веб-сайту. Вы можете сохранить результаты, например, в DynamoDB, один объект для каждого пользователя.Пойдите тяжелый вес и используйте ElasticSearch Service или Graylog или Splunk или какой-либо подобный сервис обработки журналов. Но это очень вероятно, излишнее для вашего варианта использования.
Надеюсь, это поможет:)