Чеклист безопасности аутентификации и авторизации
В разделе собраны рекомендации по защите аутентификации, авторизации и доступа к ресурсам Yandex Cloud.
Аккаунты
✓ Защитите аккаунты на Яндексе:
- Включите двухфакторную аутентификацию
для своего Яндекс ID и аккаунтов пользователей организации. - Храните OAuth-токен в секрете. Если токен скомпрометирован, отзовите его
и выпустите новый. По возможности используйте IAM-токен: он действует 12 часов, а OAuth-токен — один год.
✓ Настройте MFA для федеративных и локальных аккаунтов: включите многофакторную аутентификацию для федеративных и локальных аккаунтов и задайте требования в политиках MFA.
✓ Используйте федерацию удостоверений: настройте SAML-совместимую федерацию удостоверений, чтобы сотрудники входили в Yandex Cloud с корпоративными аккаунтами из внешних систем.
✓ Используйте пулы пользователей для локальных аккаунтов: пулы пользователей помогают централизованно управлять локальными пользователями в , доменами, правами доступа и настройками аутентификации.
✓ Настройте SSO для внешних систем: используйте приложения в Yandex Identity Hub, если Yandex Cloud должен выступать как поставщик удостоверений (IdP) для внешних сервисов.
Роли и ресурсы
✓ Соблюдайте принцип минимальных привилегий: назначайте сервисные роли вместо примитивных и выдавайте только те права, которые нужны сейчас. Учитывайте наследование ролей и назначайте роли администратора, владельца и editor только тем, кому они действительно нужны.
✓ Используйте политики авторизации: с помощью политик авторизации управляйте разрешениями на операции в каталоге, облаке или организации для всех типов субъектов.
✓ Назначайте auditor там, где не нужен доступ к данным: эта роль подходит, например, внешним подрядчикам и аудиторам и помогает соблюдать принцип минимальных привилегий.
✓ Защитите привилегированные роли: назначайте их федеративным или локальным аккаунтам, а не аккаунтам на Яндексе. Так вы сможете применять MFA и централизованно управлять доступом.
-
Ограничьте использование
billing.accounts.owner: применяйте эту роль только для первоначальной настройки и редких изменений. Для повседневного управления платежным аккаунтом назначьте сотруднику рольadmin,editorилиviewer. Для Яндекс ID с рольюbilling.accounts.ownerвключите 2FA, задайте сложный пароль и не используйте его без необходимости. -
Защитите
organization-manager.organizations.owner: передайте роль федеративному или локальному аккаунту, затем удалите из организации аккаунт на Яндексе с этой ролью. Для защиты резервного Яндекс ID используйте сложный пароль и входите в него только при сбоях федерации. Порядок действий описан в статье Удаление аккаунта на Яндексе из организации.
✓ Регулярно проводите аудит доступов: проверяйте права пользователей и сервисных аккаунтов с помощью модуля CIEM или Yandex Cloud CLI, отзывайте избыточные роли и блокируйте либо удаляйте неиспользуемые учетные записи старше 30 дней.
✓ Используйте корректную ресурсную модель:
- Группируйте ресурсы по назначению и размещайте их в отдельных каталогах, а для более строгой изоляции — в отдельных облаках.
- Критичные ресурсы, например связанные с платежными или персональными данными, выносите в отдельные каталоги или облака.
- Общие ресурсы, например сеть и группы безопасности, размещайте в отдельном каталоге разделяемых ресурсов.
Сервисные аккаунты
✓ Используйте сервисные аккаунты для автоматизации: дату и время последней аутентификации можно проверить на странице сервисного аккаунта в консоли управления.
✓ Создавайте отдельные сервисные аккаунты для разных задач: так проще ограничивать роли и отзывать доступ без влияния на другие процессы.
✓ По возможности используйте имперсонацию: имперсонация позволяет временно выполнять действия от имени сервисного аккаунта без генерации статических учетных данных.
✓ Используйте IAM-токены: IAM-токен действует 12 часов, поэтому безопаснее долгоживущих ключей. Скомпрометированный или ненужный токен отзовите. О выпуске токена читайте в инструкции.
✓ Контролируйте использование ключей: на странице сервисного аккаунта в консоли управления
✓ Ограничивайте области и срок действия API-ключей: создавайте ключи только с нужными областями и минимальным сроком действия.
✓ Регулярно ротируйте ключи сервисных аккаунтов: авторизованные и статические ключи без срока действия ротируйте самостоятельно, как минимум раз в 90 дней. Рассмотрите использование эфемерных ключей или Secure Token Service для доступа к Object Storage.
✓ Используйте федерации сервисных аккаунтов: федерации сервисных аккаунтов позволяют обменивать токены внешних OIDC-совместимых систем на IAM-токены без использования долгоживущих учетных данных.
✓ Используйте ID-токены для внешних систем: ID-токены подходят для аутентификации сервисных аккаунтов во внешних OIDC-совместимых системах.
✓ Для операций изнутри ВМ привязывайте сервисный аккаунт к виртуальной машине: тогда не придется хранить ключи на ВМ, а IAM-токен будет доступен через сервис метаданных.
Секреты
✓ Отслеживайте секреты Yandex Cloud в открытых источниках: сервис позволяет обнаруживать API-ключи, IAM Cookies, IAM-токены, статические ключи доступа, OAuth-токены и серверные ключи Yandex SmartCaptcha. Подробнее.
✓ Отзывайте секреты, попавшие в открытый доступ: отзывайте и перевыпускайте их, проверяйте несанкционированные действия, удаляйте лишние ресурсы и сообщайте об инциденте в службу технической поддержки
✓ Храните ключи и токены в Yandex Lockbox: сохраняйте их в секретах Yandex Lockbox и используйте полезную нагрузку секретов при обращении к ним.
✓ Используйте OS Login для централизованного SSH-доступа: OS Login позволяет управлять доступом к ВМ через Yandex Identity and Access Management и хранить SSH-ключи в профилях Yandex Identity Hub. Чтобы использовать сервис, включите доступ на уровне организации.