Как загрузить сертификат EC2 X.509 с учетной записью IAM? - PullRequest
7 голосов
/ 25 января 2012

Благодаря AWS Identity and Access Management у меня есть учетная запись пользователя на учетной записи AWS моего технического директора (которому зачисляются некоторые деньги).

Я хотел использовать эту учетную запись пользователя IAM, чтобы настроить свои собственные экземпляры для ssh и запустить некоторые сценарии Python BeautifulSoup.

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

Я проверил свои разрешения с помощью IAM Manager, и у меня есть права администратора, максимально возможное разрешение (как мне кажется).

Что я могу сделать, чтобы получить этот сертификат X.509?

1 Ответ

12 голосов
/ 25 января 2012

Предисловие

Прежде всего, вы можете пересмотреть вопрос о том, действительно ли вам нужны эти сертификаты X.509 - учебник в принципе правильный:

Существует три типа:ключи доступа, сертификаты X.509 и пары ключей.Первый и второй тип позволяют подключаться к API Amazon.Какой тип учетных данных зависит от того, какой API и инструмент вы используете.Некоторые API и инструменты поддерживают оба варианта, а другие поддерживают только один.

Однако в настоящее время большинство современных API и инструментов взаимодействуют с AWS только с помощью ключей доступа, а не сертификатов X.509.

К сожалению, это не относится к инструментам API EC2, на которых основано учебное пособие, которые действительно требуют использования сертификатов X.509, поскольку они (в основном) все еще основаны на более старом API SOAP EC2.

Обновление : Инструменты API EC2 тем временем также поддерживают ключи доступа AWS и устарели с использованием сертификатов X.509 соответственно:

Хотя мы не поощряем это, в течение ограниченного времени вы все равно можете использовать EC2_PRIVATE_KEY и EC2_CERT вместо AWS_ACCESS_KEY и AWS_SECRET_KEY.Для получения дополнительной информации см. Устаревшие параметры в Общие параметры для инструментов API в Справочнике по интерфейсу командной строки Amazon Elastic Compute Cloud.Если вы укажете оба набора учетных данных, инструменты командной строки будут использовать идентификатор ключа доступа и секретный ключ доступа.

Альтернатива

Сначала вы можете проверить альтернативный вариант: Есливы хорошо знакомы с Python, я очень рекомендую отличный boto ( интегрированный интерфейс для текущих и будущих инфраструктурных сервисов, предлагаемых Amazon Web Services ), который прекрасно работает с ключами доступапредлагает почти тот же набор функций, что и инструменты EC2 API (плюс большинство других API-интерфейсов AWS), и работает значительно быстрее благодаря использованию только новых API-интерфейсов REST AWS.

Решение

Управление идентификацией и доступом AWS (IAM) не поддерживает доступ к реальной учетной записи AWS, оно охватывает только Консоль управления AWS и, конечно, большинство API-интерфейсов AWS.Чтобы получить доступ к странице Учетные данные , необходимо войти в систему с помощью имени и пароля учетной записи AWS (т. Е. Владельца учетной записи).

Хотя это больше не рекомендуется (см. Раздел Учетные данные безопасности в IAM Concepts ):

[...] при создании учетной записи AWS AWS предоставляет учетной записи AWS свой собственный секретный ключ доступаи Access Key ID по умолчанию.Учетная запись AWS может выполнять API-вызовы к AWS с ними. Мы ожидаем, что вы не будете использовать эти учетные данные на регулярной основе, но будете использовать их только для первоначальной настройки группы администраторов для вашей организации .Мы рекомендуем, чтобы все дальнейшее взаимодействие API между вашей учетной записью AWS и вашими ресурсами AWS осуществлялось на уровне пользователя (например, с использованием учетных данных безопасности пользователя). [выделение мое]

Однако, вы все равно можете достичь своей цели , используя собственный сертификат, как описано далее в разделе X.509Сертификаты :

Хотя вы можете использовать IAM для создания ключа доступа, вы не можете использовать IAM для создания сертификата подписи.Однако вы можете использовать бесплатные сторонние инструменты, такие как OpenSSL, для создания сертификата.[...] Получив сертификат подписи, вы должны загрузить его в IAM;[...]

Как это сделать на самом деле, показано в Загрузка сертификата подписи .

...