Настройка аудита событий 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

    Результаты:

    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 <folder_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 <folder_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 <key_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 <folder_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 <key_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. В блоке Сбор событий с уровня конфигурации задайте параметры сбора журналов событий аудит уровня конфигурации:
    • Сбор событий – выберите Включено.
    • Ресурс – выберите Каталог.
    • Каталог – не требует заполнения, содержит имя текущего каталога.
  7. В блоке Сбор событий с уровня сервисов в поле Сбор событий выберите Выключено.
  8. Нажмите на кнопку Создать.

В начало