Безопасное использование Яндекс.Облака

В разделе представлены рекомендации по использованию возможностей сервиса IAM для обеспечения безопасной работы с сервисами Яндекс.Облака.

Не давайте лишних прав доступа

Для критически важных ресурсов:

  • Назначайте минимально необходимые для работы роли. Например, чтобы в Compute Cloud разрешить использовать образы для создания виртуальных машин, назначьте роль compute.images.user, а не editor или выше.

  • Старайтесь назначать сервисные роли вместо примитивных (viewer, editor, admin). Примитивные роли действуют для ресурсов любого из сервисов Яндекс.Облака.

    Используйте примитивные роли, если нет подходящей сервисной роли или вы хотите дать пользователю широкие полномочия.

  • Назначайте только роли, которые необходимы сейчас. Не назначайте роли, которые могут потребоваться только в будущем.

  • Помните, что когда вы назначаете роль на каталог или облако, разрешения этой роли унаследуют все вложенные ресурсы.

  • Назначайте роли администратора и владельца облака только тем, кто должен управлять доступом к ресурсам в вашем проекте.

    Администратор может лишить прав доступа другого администратора, а владелец — отозвать у другого владельца его роль. Еще эти роли включают все разрешения роли editor — они позволяют создавать, изменять и удалять ресурсы.

Защитите свой аккаунт на Яндексе

  • Чтобы усилить защиту ваших ресурсов от несанкционированного доступа, рекомендуется использовать двухфакторную аутентификацию Яндекс.Паспорта. Используйте этот способ защиты для собственного аккаунта, и просите включить двухфакторную аутентификацию каждого пользователя, которого вы добавляете в свои облака.

  • Держите в секрете ваш OAuth-токен, с его помощью можно получить IAM-токен и выполнять любые операции в облаке от вашего имени.

    Если кто-то мог узнать ваш OAuth-токен, отзовите его и выпустите новый.

  • Старайтесь не использовать OAuth-токен для аутентификации, если можно использовать IAM-токен. OAuth-токен действует 1 год, а IAM-токен — 12 часов. Если ваш токен будет скомпрометирован, у злоумышленника будет ограниченное время, чтобы воспользоваться им.

Используйте сервисные аккаунты

Используйте сервисные аккаунты для автоматизации работы с Яндекс.Облаком и следуйте этим рекомендациям:

  • Контролируйте доступ к вашим сервисным аккаунтам. Роль editor на сервисный аккаунт позволит пользователю выполнять операции, разрешенные этому сервисному аккаунту. Если сервисный аккаунт — администратор в облаке, то пользователь сможет сделать себя администратором с его помощью.

  • Создавайте отдельные сервисные аккаунты для выполнения разных задач. Так вы сможете назначить им только те роли, которые необходимы. В любой момент вы сможете отозвать роли у сервисного аккаунта или удалить его, не затронув другие аккаунты.

  • Давайте сервисным аккаунтам имена, которые позволят понять, для чего аккаунт используется и какие разрешения он должен иметь.

  • Держите в секрете ключи сервисного аккаунта — с их помощью можно выполнять операции от имени сервисного аккаунта. Не храните ключи сервисного аккаунта в исходном коде.

    Периодически отзывайте старые ключи и выпускайте новые. Особенно если кто-то мог узнать ваш секретный ключ.

  • Не используйте ключи для аутентификации, если можно использовать IAM-токен. Срок жизни ключей неограничен, а IAM-токен действует 12 часов.

  • Если вы выполняете операции изнутри виртуальной машины, привяжите к ней сервисный аккаунт. Тогда для аутентификации не нужно хранить ключи сервисного аккаунта на виртуальной машине — IAM-токен будет доступен по ссылке на сервис метаданных.