Настройка аудита событий Yandex Cloud

Настройка передачи событий включает следующие шаги:

  1. Подготовка среды для работы с Yandex Cloud.
  2. Создание бакета для аудитных логов.
  3. Создание ключа шифрования в сервисе Key Management Service.
  4. Включение шифрования бакета.
  5. Создание сервисных аккаунтов.
  6. Создание статического ключа.
  7. Назначение роли сервисным аккаунтам.
  8. Создание аудит трейла.

Подготовка среды для работы с Yandex Cloud

Для выполнения работ по настройке необходим Yandex Cloud CLI, установите и инициализируйте его.

Примечание: по умолчанию аудит будет осуществляться в каталоге Yandex Cloud, указанном в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Для настройки аудита необходим активный платежный аккаунт, поскольку за использование инфраструктуры Yandex Cloud взимается плата.

Чтобы настроить аудит Yandex Cloud, требуется активный платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог Yandex Cloud, в котором будет работать ваша инфраструктура, на странице облака.

Создание бакета для аудитных логов

Чтобы создать бакет:

  1. В консоли управления перейдите в каталог, в котором хотите создать бакет, например, example-folder.
  2. Выберите сервис Object Storage.
  3. Нажмите Создать бакет.
  4. На странице создания бакета выполните следующие действия:
    1. Введите имя бакета в соответствии с правилами именования, например, kumabucket.
    2. При необходимости ограничьте максимальный размер бакета. Размер 0 означает отсутствие ограничений и аналогичен включенной опции Без ограничения.
    3. Выберите тип доступа Ограниченный.
    4. Выберите класс хранилища по умолчанию.
    5. Нажмите Создать бакет.

Бакет создан.

Создание ключа шифрования в сервисе Key Management Service

Чтобы создать ключ шифрования:

  1. В консоли управления перейдите в каталог example-folder.
  2. Выберите сервис Key Management Service.
  3. Нажмите Создать ключ и укажите следующие параметры:
    • Имя — например, kuma-kms.
    • Алгоритм шифрования — AES-256.
    • Для остальных параметров оставьте значения по умолчанию.
  4. Нажмите Создать.

Ключ шифрования создан.

Включение шифрования бакета

Чтобы включить шифрование бакета:

  1. В консоли управления перейдите в бакет, созданный ранее.
  2. На панели слева выберите Шифрование.
  3. В поле Ключ KMS выберите ключ kuma-kms.
  4. Нажмите Сохранить.

Шифрование бакета включено.

Создание сервисных аккаунтов

Чтобы создать сервисные аккаунты — отдельный аккаунт для трейла и отдельный аккаунт бакета, выполните следующие шаги:

  1. Создайте сервисный аккаунт sa-kuma:
    1. В консоли управления перейдите в каталог example-folder.
    2. В верхней части экрана перейдите на вкладку Сервисные аккаунты.
    3. Нажмите Создать сервисный аккаунт и введите имя сервисного аккаунта, например sa-kuma, в соответствии с правилами именования:
      • длина — от 3 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.
    4. Нажмите Создать.
  2. Создайте сервисный аккаунт sa-kuma-bucket:
    1. В консоли управления перейдите в каталог example-folder.
    2. В верхней части экрана перейдите на вкладку Сервисные аккаунты.
    3. Нажмите Создать сервисный аккаунт и введите имя сервисного аккаунта, например sa-kuma-bucket, в соответствии с правилами именования:
      • длина — от 3 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.
    4. Нажмите Создать.

Сервисные аккаунты созданы.

Создание статического ключа

Идентификатор ключа и секретный ключ понадобятся на этапе монтирования бакета. Ключ можно создать с помощью консоли управления или с помощью CLI.

Чтобы создать ключ с помощью консоли управления:

  1. В консоли управления перейдите в каталог example-folder.
  2. В верхней части экрана перейдите на вкладку Сервисные аккаунты.
  3. Выберите сервисный аккаунт sa-kuma-bucket и нажмите на строку с его именем.
  4. На верхней панели нажмите Создать новый ключ.
  5. Выберите Создать статический ключ доступа.
  6. Задайте описание ключа и нажмите Создать.
  7. Сохраните идентификатор и секретный ключ.

Статический ключ доступа создан. После закрытия диалога значение ключа будет недоступно.

Чтобы создать ключ с помощью CLI:

  1. Создайте ключ доступа для сервисного аккаунта 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

  2. Сохраните идентификатор key_id и секретный ключ secret. Получить значение ключа повторно будет невозможно.

Ключ доступа создан.

Назначение ролей сервисным аккаунтам

Чтобы назначить сервисному аккаунту sa-kuma роли audit-trails.viewer, storage.uploader и kms.keys.encrypterDecrypter:

  1. В 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.
  2. Назначьте роль 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.
  3. Назначьте роль 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:

  1. В 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.
  2. Назначьте роль 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.

Создание аудит трейла

Чтобы создать аудит трейл:

  1. В консоли управления перейдите в каталог example-folder.
  2. Выберите сервис Audit Trails.
  3. Нажмите Создать трейл и укажите имя создаваемого трейла, например, kuma-trail.
  4. В блоке Назначение задайте параметры объекта назначения:
    • НазначениеObject Storage.
    • Бакет — имя бакета, например, kumabucket.
    • Префикс объекта — необязательный параметр, участвует в полном имени файла аудитного лога.

      Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.

    • Ключ шифрования — укажите ключ шифрования kuma-kms, которым зашифрован бакет.
  5. В блоке Сервисный аккаунт выберите sa-kuma.
  6. В блоке Сбор событий c уровня конфигурации задайте параметры сбора аудитных логов уровня конфигурации:
    • Сбор событий — выберите Включено.
    • Ресурс — выберите Каталог.
    • Каталог — не требует заполнения, содержит имя текущего каталога.
  7. В блоке Сбор событий с уровня сервисов в поле Сбор событий выберите Выключено.
  8. Нажмите Создать.

В начало