Skip to main content

Управление идентификацией и доступом AWS

Включение компьютера в домен (Июнь 2025)

Включение компьютера в домен (Июнь 2025)
Anonim

В 2011 году Amazon объявила о доступности поддержки AWS Identity & Access Management (IAM) для CloudFront. IAM был запущен в 2010 году и включал поддержку S3. AWS Identity & Access Management (IAM) позволяет вам иметь несколько пользователей в учетной записи AWS. Если вы использовали веб-службы Amazon (AWS), вы знаете, что единственный способ управлять контентом в AWS - это выдавать свое имя пользователя и пароль или ключи доступа. Это большая проблема безопасности для большинства из нас. IAM устраняет необходимость совместного использования паролей и ключей доступа.

Постоянное изменение нашего главного пароля AWS или создание новых ключей - это просто беспорядочное решение, когда сотрудник покинет нашу команду. AWS Identity & Access Management (IAM) стал хорошим началом, позволяющим отдельным учетным записям пользователей создавать отдельные ключи. Тем не менее, мы являемся пользователем S3 / CloudFront, поэтому мы наблюдаем за добавлением CloudFront в IAM, который, наконец, произошел.

Я обнаружил, что документация на этой службе немного разбросана. Существует несколько сторонних продуктов, которые предлагают поддержку Identity & Access Management (IAM). Но разработчики обычно экономные, поэтому я искал бесплатное решение для управления IAM с помощью нашей службы Amazon S3.

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

Ниже приведены шаги, связанные с настройкой и внедрением пользователя в IAM. Это написано для Windows, но вы можете настроить его для использования в Linux, UNIX и / или Mac OSX.

  1. Установка и настройка интерфейса командной строки (CLI)
  2. Создать группу
  3. Предоставление доступа группы к ведро S3 и CloudFront
  4. Создать пользователя и добавить в группу
  5. Создание профиля входа и создание ключей
  6. Доступ к тесту

Установка и настройка интерфейса командной строки (CLI)

IAM Command Line Toolkit - это Java-программа, доступная в Amazon's AWS Developers Tools. Инструмент позволяет выполнять команды API IAM из командной оболочки (DOS для Windows).

  • Вы должны запускать Java 1.6 или выше. Вы можете загрузить последнюю версию с сайта Java.com. Чтобы узнать, какая версия установлена ​​в вашей системе Windows, откройте командную строку и введите java -version. Это предполагает, что java.exe находится в вашем PATH.
  • Загрузите набор инструментов IAM CLI и разархивируйте где-нибудь на своем локальном диске.
  • В корневом наборе инструментов CLI есть 2 файла, которые необходимо обновить.
    • AWS-credential.template: Этот файл содержит ваши учетные данные AWS. Добавьте свой AWSAccessKeyId и ваш AWSSecretKey, сохраните и закройте файл.
    • клиент-config.template: Вам нужно только обновить этот файл, если вам нужен прокси-сервер. Удалите знаки # и обновите ClientProxyHost, ClientProxyPort, ClientProxyUsername и ClientProxyPassword. Сохраните и закройте файл.
  • Следующий шаг включает добавление переменных среды. Перейти к панели управления | Свойства системы | Расширенные настройки системы | Переменные среды. Добавьте следующие переменные:
    • AWS_IAM_HOME: Установите эту переменную в каталог, в котором вы разархивировали инструментарий CLI. Если вы используете Windows и распакуете ее в корневом каталоге вашего диска C, переменной будет C: IAMCli-1.2.0.
    • JAVA_HOME: Установите эту переменную в каталог, где установлена ​​Java. Это будет местоположение файла java.exe. В обычной установке Windows 7 Java это будет нечто вроде C: Program Files (x86) Java jre6.
    • AWS_CREDENTIAL_FILE: Установите эту переменную в путь и имя файла aws-credential.template, который вы обновили выше. Если вы используете Windows и распакуете ее в корневом каталоге вашего диска C, переменной будет C: IAMCli-1.2.0 aws-credential.template.
    • CLIENT_CONFIG_FILE: Вам нужно только добавить эту переменную среды, если вам нужен прокси-сервер. Если вы используете Windows и распакуете ее в корневом каталоге вашего диска C, переменной будет C: IAMCli-1.2.0 client-config.template. Не добавляйте эту переменную, если она вам не нужна.
  • Проверьте установку, перейдя в командную строку и введите iam-userlistbypath. До тех пор, пока вы не получите сообщение об ошибке, вы должны быть добрым.

Все команды IAM можно запустить из командной строки. Все команды начинаются с «iam-».

Создать группу

Существует не более 100 групп, которые могут быть созданы для каждой учетной записи AWS. Хотя вы можете устанавливать разрешения в IAM на уровне пользователя, использование групп было бы лучшей практикой. Вот процесс создания группы в IAM.

  • Синтаксисом для создания группы является iam-groupcreate -g GROUPNAME -p PATH -v, где параметры -p и -v являются параметрами. Полная документация по интерфейсу командной строки доступна в документах AWS.
  • Если вы хотите создать группу под названием «awesomeusers», вы должны ввести iam-groupcreate -g awesomeusers в командной строке.
  • Вы можете проверить, что группа была создана правильно, введя iam-grouplistbypath в командной строке. Если бы вы только создали эту группу, выход был бы похож на «arn: aws: iam :: 123456789012: group / awesomeusers», где номер - ваш номер учетной записи AWS.

Предоставление доступа группы к ведро S3 и CloudFront

Политики контролируют, что ваша группа может делать на S3 или CloudFront. По умолчанию ваша группа не будет иметь доступа к чему-либо в AWS.Я нашел документацию по политикам в порядке, но при создании нескольких политик я сделал несколько проб и ошибок, чтобы заставить все работать так, как я хотел, чтобы они работали.

У вас есть несколько вариантов для создания политик. Один из вариантов - вы можете ввести их непосредственно в Командную строку. Поскольку вы можете создавать политику и настраивать ее, мне было проще добавить политику в текстовый файл, а затем загрузить текстовый файл в качестве параметра с помощью команды iam-groupuploadpolicy. Вот процесс с использованием текстового файла и загрузка в IAM.

  • Используйте что-то вроде Блокнота и введите следующий текст и сохраните файл:
    • {
    • "Утверждение":{
    • «Эффект»: «Разрешить»,
    • "Действие": "s3: *",
    • "Ресурс":
    • "ARN: AWS: s3 ::: BUCKETNAME",
    • "ARN: AWS: s3 ::: BUCKETNAME / *"
    • },
    • {
    • «Эффект»: «Разрешить»,
    • "Действие": "s3: ListAllMyBuckets",
    • "Ресурс": "ARN: AWS: s3 ::: *"
    • },
    • {
    • «Эффект»: «Разрешить»,
    • "Действие": "CloudFront: *",
    • "Ресурс":"*"
    • }
    • }
  • В этой политике есть 3 раздела. Эффект используется для разрешения или запрета доступа определенного типа. Действие - это конкретные вещи, которые может сделать группа. Ресурс будет использоваться для доступа к отдельным ведрам.
  • Вы можете ограничить действия по отдельности. В этом примере «Действие»: "s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion", группа сможет отображать содержимое ведра и загружать объекты.
  • Первый раздел «Позволяет» группе выполнять все действия S3 для ведра «BUCKETNAME».
  • Второй раздел «Позволяет» группе перечислить все ведра в S3. Вам это нужно, чтобы вы могли увидеть список ведер, если используете что-то вроде консоли AWS.
  • Третий раздел дает группе полный доступ к CloudFront.

При использовании политик IAM существует множество вариантов. У Amazon есть действительно классный инструмент, доступный под названием Generator AWS Policy Generator. Этот инструмент предоставляет графический интерфейс, в котором вы можете создавать свои политики и генерировать фактический код, необходимый для реализации политики. Вы также можете ознакомиться с разделом «Язык политики доступа» в онлайн-документации «Использование AWS Identity and Access Management».

Создать пользователя и добавить в группу

Процесс создания нового пользователя и добавления в группу для обеспечения доступа включает в себя несколько шагов.

  • Синтаксисом для создания пользователя является iam-usercreate -u USERNAME -p PATH -g GROUPS … -k -v, где параметры -p, -g, -k и -v являются параметрами. Полная документация по интерфейсу командной строки доступна в документах AWS.
  • Если вы хотите создать пользователя «bob», вы должны ввести iam-usercreate -u bob -g awesomeusers в командной строке.
  • Вы можете проверить, что пользователь был создан правильно, введя iam-grouplistusers -g awesomeusers в командной строке. Если бы вы только создали этого пользователя, выход был бы похож на «arn: aws: iam :: 123456789012: user / bob», где номер - ваш номер учетной записи AWS.

Создание профиля входа в систему и создание ключей

На данный момент вы создали пользователя, но вам нужно предоставить им способ фактически добавлять и удалять объекты с S3. Доступны 2 варианта, чтобы предоставить вашим пользователям доступ к S3 с помощью IAM. Вы можете создать профиль входа и предоставить своим пользователям пароль. Они могут использовать свои учетные данные для входа в консоль Amazon AWS. Другой вариант - предоставить вашим пользователям ключ доступа и секретный ключ. Они могут использовать эти ключи в сторонних инструментах, таких как S3 Fox, CloudBerry S3 Explorer или S3 Browser.

Создать профиль входа в систему

Создание профиля входа для ваших пользователей S3 предоставляет им имя пользователя и пароль, которые они могут использовать для входа в консоль Amazon AWS.

  • Синтаксисом для создания профиля входа является iam-useraddloginprofile -u USERNAME -p PASSWORD. Полная документация по интерфейсу командной строки доступна в документах AWS.
  • Если вы хотите создать профиль входа для пользователя «bob», вы должны ввести iam-useraddloginprofile -u bob -p PASSWORD в командной строке.
  • Вы можете проверить правильность создания профиля входа, введя iam-usergetloginprofile -u bob в командной строке. Если вы создали профиль входа в систему для bob, выход будет выглядеть примерно так: «Профиль входа существует для пользователя bob».

Создать ключи

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

  • Синтаксис добавления ключей для пользователя - iam-useraddkey -u USERNAME. Полная документация по интерфейсу командной строки доступна в документах AWS.
  • Если вы хотите создать ключи для пользователя «bob», вы должны ввести iam-useraddkey -u bob в командной строке.
  • Команда выведет ключи, которые будут выглядеть примерно так:
    • AKIACOOB5BQVEXAMPLE
    • BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
    • Первая строка - это идентификатор ключа доступа, а вторая строка - секретный ключ доступа. Вам нужно как для стороннего программного обеспечения.

Доступ к тесту

Теперь, когда вы создали группы IAM / пользователей и получили доступ к группам с помощью политик, вам необходимо проверить доступ.

Консольный доступ

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

https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3

AWS-ACCOUNT-NUMBER - ваш обычный номер учетной записи AWS. Вы можете получить это, войдя в форму входа в систему Amazon Web Service. Войдите в систему и нажмите «Аккаунт» | Активность учетной записи. Номер вашего аккаунта находится в верхнем правом углу. Убедитесь, что вы удалили тире. URL-адрес будет выглядеть примерно так: https://123456789012.signin.aws.amazon.com/console/s3.

Использование ключей доступа

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

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