Защитите сервисы и ресурсы с помощью AWS Identity and Access Management (часть 1)

Опубликовано: 7 Марта, 2023
Защитите сервисы и ресурсы с помощью AWS Identity and Access Management (часть 1)

  • Защитите сервисы и ресурсы с помощью AWS Identity and Access Management (часть 3)
  • Защитите сервисы и ресурсы с помощью AWS Identity and Access Management (часть 4)
  • Защитите сервисы и ресурсы с помощью AWS Identity and Access Management (часть 5)

Введение

Безопасность уже давно не является оптимальным решением для облачных вычислений и является главной заботой организаций, поскольку они в первую очередь рассматривают возможность переноса приложений и/или данных в облако. Облачные провайдеры хорошо знают об этом и перешли к добавлению функций безопасности, которые дают клиентам больше контроля над защитой своих активов в облачной среде. Если ваша организация выбрала Amazon Web Services в качестве поставщика облачных услуг, у вас есть несколько вариантов повышения безопасности ваших ресурсов.

Ранее мы обсуждали использование службы каталогов AWS, которую можно использовать для подключения ресурсов AWS к локальной сети Microsoft Active Directory в гибридном облачном сценарии. В этой статье, состоящей из нескольких частей, мы рассмотрим, как использовать AWS Identity and Access Management (IAM) для создания пользователей и групп и управления ими, а также для назначения им разрешений, чтобы детально контролировать, как они могут получить доступ к вашим ресурсам AWS.

Как работает ИАМ

AIM — это функция управления идентификацией и доступом, которая поддерживает несколько различных типов аутентификации, включая пароли, ключи доступа и многофакторную аутентификацию через AWS MFA. Вы создаете учетные записи пользователей в IAM, а затем назначаете им учетные данные безопасности в зависимости от типа аутентификации, который вы хотите использовать. Пользователи могут быть назначены либо обычными пользователями, либо администраторами, а также вы можете создавать системные учетные записи для предоставления доступа программным путем.

Пользователи и группы IAM

После того, как вы создали учетную запись для пользователя и назначили учетные данные безопасности для этой учетной записи, вы можете добавить пользователя в группы. Пользователь может быть членом более чем одной группы (до десяти). Использование групп в IAM, как и использование групп в Active Directory, упрощает управление разрешениями пользователей, поскольку у вас, вероятно, будет несколько разных пользователей, которым потребуются одинаковые разрешения на ресурсы.

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

Вы можете создавать новых пользователей и группы IAM через консоль управления или через интерфейс командной строки. Сначала вы должны использовать команду create-group, чтобы создать группу, а затем поместить в нее нового пользователя, создав учетную запись пользователя с помощью команды create-user и команды add-user-to-group.

Аутентификация пользователя и учетные данные

У вас есть несколько вариантов аутентификации пользователя и типов учетных данных, в зависимости от того, к какому типу ресурсов AWS вы хотите предоставить пользователю доступ. Как правило, пароли используются для входа в консоль управления и на другие защищенные страницы веб-сайта AWS. Если пользователям необходимо отправлять безопасные запросы протокола REST или Query к API для сервиса AWS, им потребуется использовать ключи доступа. CloudFront использует пары ключей для аутентификации.

По умолчанию новые учетные записи IAM не имеют паролей или ключей доступа, а также им не назначены разрешения, поэтому они не могут получить доступ к каким-либо ресурсам AWS или выполнять какие-либо действия в AWS. Вам нужно будет назначать разрешения пользователям индивидуально или путем помещения каждого пользователя в одну или несколько групп. После того как пользователям будут назначены разрешения (например, на доступ к данным, хранящимся в S3, или на запуск инстансов EC2), все оплачиваемые действия, выполняемые любым из этих пользователей, будут оплачиваться корневой учетной записью AWS. По этой причине вам нужно быть осторожным с тем, какие разрешения вы предоставляете, и давать каждому пользователю только наименьшие привилегии, необходимые для выполнения его/ее работы.

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

Временные учетные данные выдаются через службу токенов безопасности AWS. Это дает вам возможность разрешить пользователям доступ к ресурсам AWS без создания для них удостоверений AWS. Обратите внимание, что временные учетные данные, как следует из названия, действительны только в течение определенного периода времени. Вы можете установить время истечения от пятнадцати минут до тридцати шести часов; по умолчанию двенадцать часов.

Имя пользователя и пароль AWS и имя пользователя и пароль IAM

Если вы являетесь администратором, зарегистрировавшим учетную запись AWS, у вас будет имя пользователя и пароль AWS, которые вы использовали при регистрации. Ваше имя пользователя — это ваш адрес электронной почты. Вы можете войти в консоль управления и на другие защищенные веб-страницы AWS, используя эти учетные данные. Однако это учетные данные корневого уровня, и так же, как всегда рекомендуется не использовать встроенную учетную запись администратора для ежедневного входа в компьютер, Amazon рекомендует не использовать учетную запись пользователя корневого уровня для входа на веб-страницы AWS.

Учетные данные корневой учетной записи имеют доступ ко всему в учетной записи AWS. Вы не можете ограничить разрешения для учетной записи root. Все остальные учетные записи работают с учетными данными пользователя. Рекомендуется создать учетную запись пользователя IAM для администраторов (включая себя) и предоставить этим учетным записям полный доступ. Затем администратор может использовать эти учетные данные вместо учетных данных root для входа в ресурсы AWS. Преимущество здесь в том, что у вас есть контроль над этими типами учетных записей администратора, и вы можете ограничить или отозвать их привилегии, если вам это понадобится в будущем.

Возможно, вам потребуется предоставить административный доступ нескольким пользователям, включая возможность входа в консоль управления. Вы, конечно, не хотите позволять всем использовать одну и ту же учетную запись (root) для этого, так как не будет возможности отследить, кто что сделал, и нет возможности отозвать привилегии администратора. В этом случае необходимо создать отдельные учетные записи пользователей IAM, чтобы каждый из администраторов имел собственное имя пользователя и пароль для входа в инструменты администрирования.

Идентификатор ключа доступа и секретные ключи доступа

Ключ доступа состоит из двух частей: идентификатора ключа доступа и секретного ключа доступа, представляющего собой строку символов. Ключи доступа необходимы для выполнения программных запросов к сервисам AWS; вы используете ключ, чтобы подписать запрос. Вы можете выполнить подпись с помощью AWS SDK или вручную. Цифровая подпись подтверждает личность человека, который делает запрос.

Вам не нужно подписывать запросы, сделанные с помощью AWS SDK или интерфейса командной строки AWS. Инструменты подписывают запросы, которые они создают и отправляют для вас, но вы должны предоставить инструменту ключ. Когда вы отправляете HTTP- или HTTPS-запросы в AWS программно, вам необходимо включить код подписи. Запросы следует отправлять через SSL/TLS (HTTPS), чтобы запрос и ответ были зашифрованы и защищены от несанкционированного просмотра во время передачи.

Многофакторная аутентификация

Все мы знаем, что имена пользователей и пароли не являются самыми надежными средствами аутентификации; специалисты по безопасности уже много лет заявляют о «смерти пароля». Хотя это занимает гораздо больше времени, чем ожидалось, многие организации, наконец, переходят на методы многофакторной аутентификации — смарт-карты или жетоны, отпечатки пальцев или другие биометрические идентификаторы, а совсем недавно — на использование мобильного устройства в качестве второго фактора.

Этот последний сценарий имеет смысл, потому что большинство людей уже постоянно носят с собой свои смартфоны, поэтому вам не нужно носить с собой что-то дополнительное, и это менее инвазивно, чем биометрия. AWS MFA может использовать либо выделенное аппаратное устройство (брелок или карту), либо вы можете установить на свой смартфон приложение одноразового пароля на основе времени (TOTP), чтобы превратить его в виртуальное устройство MFA.

Вам нужно будет настроить приложение для работы с AWS, а затем включить его. Приложение должно генерировать шестизначные коды аутентификации. Существуют разные приложения, которые будут работать таким образом, и многие из них позволяют размещать несколько виртуальных устройств MFA, но вы можете настроить только одно устройство MFA для каждого IAM. учетная запись пользователя. Приложения Virtual MFA доступны для Android, iOS и Windows Phone.

Новые виртуальные устройства MFA можно инициализировать из командной строки (с помощью команды iam-vritualmfadevicecreate), с помощью API CreateVirtualMFADevice или через консоль IAM (как для пользователей IAM, так и для учетной записи пользователя AWS). Обратите внимание: если вы включите AWS MFA для пользователя IAM, этот пользователь всегда должен использовать устройство для входа на любой веб-сайт AWS. Чтобы отключить MFA для учетной записи, вы должны связаться с Amazon.

IAM-политики

Вы можете назначить политику IAM учетной записи пользователя IAM через консоль IAM или командную строку. Консоль IAM содержит шаблоны политик для распространенных ситуаций, например шаблон Power User. Чтобы назначить политики через интерфейс командной строки, политику необходимо сохранить в файл, а затем использовать команду put-user-policy, чтобы назначить ее пользователю. Мы более подробно рассмотрим политики IAM во второй части этой статьи.

Резюме

В части 1 этой статьи мы представили обзор того, что такое AWS Identity and Access Management (IAM) и как оно работает, особенно в отношении пользователей и групп, а также поддерживаемых методов аутентификации. Во второй части мы углубимся в подробности политик, разрешений и ролей IAM, а также о том, как интегрировать IAM в федеративную среду.

  • Защитите сервисы и ресурсы с помощью AWS Identity and Access Management (часть 3)
  • Защитите сервисы и ресурсы с помощью AWS Identity and Access Management (часть 4)
  • Защитите сервисы и ресурсы с помощью AWS Identity and Access Management (часть 5)