Как расшифровать события активности базы данных из AWS Aurora?

Я включил события активности базы данных, которые, как мне кажется, представляют собой своего рода файл журнала на AWS Aurora. В настоящее время они передаются через AWS kinesis в s3 через AWS Firehose. Лог в s3 выглядит так:

{"type":"DatabaseActivityMonitoringRecords","version":"1.0","databaseActivityEvents":"AYADeOC+7S/mFpoYLr17gZCXuq8AXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFvbjhIZ01uQTVpVHlyS0l3NnVIOS9xdXF3OWEza0xZV0c2QXYzQmtWUFI2alpIK2hsczNwalAyTTIzYnpPS2RXUT09AAEAAkJDABtEYXRhS2V5AAAAgAAAAAwzb2YKNe4h6b2CpykAMLzY7gDftUKUr3QxmxSzylw9qCRxnGW9Fn1qL4uKnbDV/PE44WyOQbXKGXv9s8BxEwIAAAAADAAAEAAAAAAAAAAAAAAAAAC+gU55u4hvWxW1RG/FNNSJ/////wAAAAEAAAAAAAAAAAAAAAEAAACtbmBmDwZw2/1rKiwA4Nyl7cm19/RcHhCpMMwbOFFkZHKL/bvsohf5T+yM9vNxCgAi2qTUIEe17VA5bJ0eCcNAA9mb6Ys+PR1w7QhKrQsHHTBC2dhJ4ELwpXamGRmPLga5Dml2rOveA59YefcJ4PhrqztZXfrS8fBYJ3HgBWHY9nPh1jdyinjQAl61hQrz2LPII85zlqAWTNeL2pXwaRdtGdYeIXXoh4VsoV3Q18Hj/uOQzTIbT8EJvwnk0gj8AGcwZQIxAJNuoCJhHPUfbkk0fHF6HYz1STIc4HX2HOl0qSIHqwpgtQK6BMa3YlPI9hNwhB8x+AIwWDY0bMjuLRGQgjjBv5z1xPpZQ+pMZ4K6m9JaNBFVKxZTvqDL1z7lrV0rlbZThad+","key":"AQIDAHhQgnMAiP8TEQ3/r+nxwePP2VOcLmMGvmFXX8om3hCCugE7IUxSH/eJBEKvnkYoNIqFAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMQIX97gE5ioBR1+nnAgEQgDuDX2B2T7nOxjKDyL31+wHJb0pwkCeaU7CwA6BwIkiT7FmhMB71XgvCVrY9C9ABUtc1e5J7QIfsVB214w=="}

Я думаю, что для шифрования этого файла журнала используется ключ KMS. Как мне его расшифровать? Есть где-нибудь рабочий образец кода? Кроме того, что более важно, база данных Aurora, которую я использую, является тестовой базой данных без активности (без вставок, выбора, обновлений). Почему так много логов? Почему так много databaseActivityEvents. Кажется, что они записываются в s3 каждую минуту дня.


person Jwan622    schedule 25.07.2019    source источник
comment
Как вы включали события активности? Создает ли Аврора поток кинезиса или это что-то, что вы построили на основе чего-то, что предлагает Аврора? Не удалось найти никаких документов по функции, которую вы пытаетесь использовать.   -  person The-Big-K    schedule 27.07.2019
comment
Ах, постгрес! Я думал, вы имеете в виду aurora MySQL.   -  person The-Big-K    schedule 30.07.2019
comment
Есть идеи, как это расшифровать?   -  person Jwan622    schedule 30.07.2019


Ответы (1)


Да, он использует KMS-ключ потока действий RDS (ActivityStreamKmsKeyId) для шифрования события журнала, а также кодирования base64. Вам придется использовать криптографические SDK AWS для расшифровки ключа и события журнала.

Для справки см. Ниже их образцы версий java и python:

Обработка потока активности базы данных с помощью AWS SDK

В своем конвейере с пожарным шлангом вы можете добавить преобразование с помощью шага Lambda и выполнить эту расшифровку в своей лямбда-функции.

Почему так много событий в простаивающем кластере postgres RDS? Это сердцебиение.

Когда вы расшифровываете и смотрите на фактическое событие активности json, у него есть поле type, которое может быть либо записью, либо пульсом. События с типом запись - это события, генерируемые пользователем.

person technotring    schedule 22.08.2019