Настройка аудита событий Yandex Cloud
Настройка передачи событий включает следующие шаги:
- Подготовка среды для работы с Yandex Cloud.
- Создание бакета для аудитных логов.
- Создание ключа шифрования в сервисе Key Management Service.
- Включение шифрования бакета.
- Создание сервисных аккаунтов.
- Создание статического ключа.
- Назначение роли сервисным аккаунтам.
- Создание аудит трейла.
Подготовка среды для работы с Yandex Cloud
Для выполнения работ по настройке необходим Yandex Cloud CLI, установите и инициализируйте его.
Примечание: по умолчанию аудит будет осуществляться в каталоге Yandex Cloud, указанном в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Для настройки аудита необходим активный платежный аккаунт, поскольку за использование инфраструктуры Yandex Cloud взимается плата.
Чтобы настроить аудит Yandex Cloud, требуется активный платежный аккаунт:
- Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
- На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог Yandex Cloud, в котором будет работать ваша инфраструктура, на странице облака.
Создание бакета для аудитных логов
Чтобы создать бакет:
- В консоли управления перейдите в каталог, в котором хотите создать бакет, например, example-folder.
- Выберите сервис Object Storage.
- Нажмите Создать бакет.
- На странице создания бакета выполните следующие действия:
- Введите имя бакета в соответствии с правилами именования, например, kumabucket.
- При необходимости ограничьте максимальный размер бакета. Размер 0 означает отсутствие ограничений и аналогичен включенной опции Без ограничения.
- Выберите тип доступа Ограниченный.
- Выберите класс хранилища по умолчанию.
- Нажмите Создать бакет.
Бакет создан.
Создание ключа шифрования в сервисе Key Management Service
Чтобы создать ключ шифрования:
- В консоли управления перейдите в каталог example-folder.
- Выберите сервис Key Management Service.
- Нажмите Создать ключ и укажите следующие параметры:
- Имя — например, kuma-kms.
- Алгоритм шифрования — AES-256.
- Для остальных параметров оставьте значения по умолчанию.
- Нажмите Создать.
Ключ шифрования создан.
Включение шифрования бакета
Чтобы включить шифрование бакета:
- В консоли управления перейдите в бакет, созданный ранее.
- На панели слева выберите Шифрование.
- В поле Ключ KMS выберите ключ kuma-kms.
- Нажмите Сохранить.
Шифрование бакета включено.
Создание сервисных аккаунтов
Чтобы создать сервисные аккаунты — отдельный аккаунт для трейла и отдельный аккаунт бакета, выполните следующие шаги:
- Создайте сервисный аккаунт sa-kuma:
- В консоли управления перейдите в каталог example-folder.
- В верхней части экрана перейдите на вкладку Сервисные аккаунты.
- Нажмите Создать сервисный аккаунт и введите имя сервисного аккаунта, например sa-kuma, в соответствии с правилами именования:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
- Нажмите Создать.
- Создайте сервисный аккаунт sa-kuma-bucket:
- В консоли управления перейдите в каталог example-folder.
- В верхней части экрана перейдите на вкладку Сервисные аккаунты.
- Нажмите Создать сервисный аккаунт и введите имя сервисного аккаунта, например sa-kuma-bucket, в соответствии с правилами именования:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
- Нажмите Создать.
Сервисные аккаунты созданы.
Создание статического ключа
Идентификатор ключа и секретный ключ понадобятся на этапе монтирования бакета. Ключ можно создать с помощью консоли управления или с помощью CLI.
Чтобы создать ключ с помощью консоли управления:
- В консоли управления перейдите в каталог example-folder.
- В верхней части экрана перейдите на вкладку Сервисные аккаунты.
- Выберите сервисный аккаунт sa-kuma-bucket и нажмите на строку с его именем.
- На верхней панели нажмите Создать новый ключ.
- Выберите Создать статический ключ доступа.
- Задайте описание ключа и нажмите Создать.
- Сохраните идентификатор и секретный ключ.
Статический ключ доступа создан. После закрытия диалога значение ключа будет недоступно.
Чтобы создать ключ с помощью CLI:
- Создайте ключ доступа для сервисного аккаунта sa-kuma-bucket:
yc iam access-key create --service-account-name sa-kuma-bucket
Результат:ls
access_key:
id: aje*******k2u
service_account_id: aje*******usm
created_at: "2022-09-22T14:37:51Z"
key_id: 0n8*******0YQ
secret: JyT*******zMP1
- Сохраните идентификатор key_id и секретный ключ secret. Получить значение ключа повторно будет невозможно.
Ключ доступа создан.
Назначение ролей сервисным аккаунтам
Чтобы назначить сервисному аккаунту sa-kuma роли audit-trails.viewer, storage.uploader и kms.keys.encrypterDecrypter:
- В CLI назначьте роль audit-trails.viewer на каталог:
yc resource-manager folder add-access-binding \
--role audit-trails.viewer \
--id <идентификатор_каталога> \
--service-account-id <идентификатор_сервисного_аккаунта>
Где:
--role
— назначаемая роль;--id
— идентификатор каталога example-folder;--service-account-id
— идентификатор сервисного аккаунта sa-kuma.
- Назначьте роль storage.uploader на каталог с бакетом:
yc resource-manager folder add-access-binding \
--role storage.uploader \
--id <идентификатор_каталога> \
--service-account-id <идентификатор_сервисного_аккаунта>
Где:
--role
— назначаемая роль;--id
— идентификатор каталога example-folder;--service-account-id
— идентификатор сервисного аккаунта sa-kuma.
- Назначьте роль kms.keys.encrypterDecrypter на ключ шифрования kuma-kms:
yc kms symmetric-key add-access-binding \
--role kms.keys.encrypterDecrypter \
--id <идентификатор_ключа> \
--service-account-id <идентификатор_сервисного_аккаунта>
Где:
--role
— назначаемая роль;--id
— идентификатор KMS-ключа kuma-kms;--service-account-id
— идентификатор сервисного аккаунта sa-kuma.
Чтобы назначить сервисному аккаунту sa-kuma-bucket роли storage.viewer и kms.keys.encrypterDecrypter:
- В CLI назначьте роль storage.viewer на каталог:
yc resource-manager folder add-access-binding \
--id <идентификатор_каталога> \
--role storage.viewer \
--service-account-id <идентификатор_сервисного_аккаунта>
Где:
--id
— идентификатор каталога example-folder;--role
— назначаемая роль;--service-account-id
— идентификатор сервисного аккаунта sa-kuma-bucket.
- Назначьте роль kms.keys.encrypterDecrypter на ключ шифрования kuma-kms:
yc kms symmetric-key add-access-binding \
--role kms.keys.encrypterDecrypter \
--id <идентификатор_ключа> \
--service-account-id <идентификатор_сервисного_аккаунта>
Где:
--role
— назначаемая роль;--id
— идентификатор KMS-ключа kuma-kms;--service-account-id
— идентификатор сервисного аккаунта sa-kuma-bucket.
Создание аудит трейла
Чтобы создать аудит трейл:
- В консоли управления перейдите в каталог example-folder.
- Выберите сервис Audit Trails.
- Нажмите Создать трейл и укажите имя создаваемого трейла, например, kuma-trail.
- В блоке Назначение задайте параметры объекта назначения:
- Назначение — Object Storage.
- Бакет — имя бакета, например, kumabucket.
- Префикс объекта — необязательный параметр, участвует в полном имени файла аудитного лога.
Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.
- Ключ шифрования — укажите ключ шифрования kuma-kms, которым зашифрован бакет.
- В блоке Сервисный аккаунт выберите sa-kuma.
- В блоке Сбор событий c уровня конфигурации задайте параметры сбора аудитных логов уровня конфигурации:
- Сбор событий — выберите Включено.
- Ресурс — выберите Каталог.
- Каталог — не требует заполнения, содержит имя текущего каталога.
- В блоке Сбор событий с уровня сервисов в поле Сбор событий выберите Выключено.
- Нажмите Создать.
В начало