Ключи доступа
Сервисные аккаунты при обращении к ресурсам облака аутентифицируются при помощи ключей доступа.
Ключ доступа привязан к сервисному аккаунту. Для любого сервисного аккаунта может быть создано несколько ключей доступа.
У каждого ключа есть идентификатор, который используется для точного обращения к нему (например, при создании IAM-токена).
Срок действия ключа можно ограничить при создании.
Поддерживается создание и управление следующими типами ключей доступа:
- HMAC-ключ — для доступа к Object Storage через AWS CLI и API (AWS-совместимая авторизация).
- API-ключ — для организации доступа к сервисам Artifact Registry и GPT.
- Авторизованный ключ — для доступа ко всем остальным сервисам MWS (рекомендуется).
Создание и управление ключами доступно в веб-консоли MWS в разделе IAM > Сервисные аккаунты > Ключи доступа.
Особенности и ограничения
- Ключ создается для конкретного сервисного аккаунта.
- Приватная часть ключа отображается только в момент создания: скопируйте его и сохраните в надежном месте.
- Невозможно пересоздать уже созданный ключ — необходимо удалить старый и создать новый.
- При удалении ключа его использование в каком-либо сервисе не проверяется.
- Количество ключей, которые могут созданы в рамках одного проекта, ограничено квотами.
Рекомендации
- Храните ключи доступа в надежном месте и исключите доступ к ним третьих лиц.
- Если ключ скомпрометирован, создайте новый ключ и используйте его.
HMAC-ключ
HMAC-ключ (англ. Hash-based Message Authentication Code) — это статический ключ, необходимый для аутентификации сервисного аккаунта в AWS-совместимом API; например, при работе с сервисом Object Storage при помощи AWS CLI.
HMAC-ключ состоит из идентификатора ключа (Access Key) и секретного ключа доступа (Secret Key). Они используются в запросах AWS-совместимых API:
- Access Key указывается в запросе в открытом виде.
- При помощи Secret Key подписываются параметры запроса; при это сам секретный ключ в запросе не указывается.
HMAC-ключами возможно управлять в веб-консоли MWS:
- в разделе IAM > Сервисные аккаунты > Ключи доступа;
- в разделе Object Storage > Настройки;
При создании HMAC-ключа доступа пользователь должен сохранить себе секретный ключ.
Создать HMAC-ключ
- Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
- Выберите в левом меню IAM > Сервисные аккаунты.
Откроется список сервисных аккаунтов. - Нажмите на имя сервисного аккаунта, для которого создать ключ, и перейдите на вкладку Ключи доступа.
- Нажмите Создать ключ и выберите пункт HMAC-ключ.
- Задайте отображаемое имя для ключа и введите опциональное описание. Ограничьте срок действия ключа (рекомендуется). Нажмите Создать.
- Скопируйте из окна секретный ключ из поля Secret Key и сохраните его в надежном месте.
Внимание! После закрытия диалогового окна секретный ключ станет недоступен для просмотра. - Нажмите Закрыть.
Примечание
Создать HMAC-ключ также можно, выбрав Object Storage > Настройки: найдите в разделе HMAC-ключи для сервисных аккаунтов требуемый сервисный аккаунт и нажмите Добавить ключ.
Удалить HMAC-ключ
Важно
При удалении ключа его использование в каком-либо сервисе не проверяется.
- Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
- Выберите в левом меню IAM > Сервисные аккаунты.
Откроется список сервисных аккаунтов. - Нажмите на имя сервисного аккаунта, для которого вы хотите удалить ключ, и перейдите на вкладку Ключи доступа.
- Нажмите на значок ... рядом с именем ключа, который нужно удалить.
- Выберите Удалить.
- Подтвердите удаление ключа, введя последние 5 символов его идентификатора.
Авторизованный ключ
Авторизованный ключ (authorized key) — это ключ с алгоритмом шифрования ES256, применяемый для аутентификации во всех сервисах MWS (исключая Object Storage, Artifact Registry и GPT).
Для доступа к API облачных сервисов необходим IAM-токен, который формируется с использованием авторизованного ключа. Этот ключ состоит из двух частей:
- закрытый ключ (Private Key) хранится локально и применяется для подписи запроса на выдачу IAM-токена;
- открытый ключ (Public Key) хранится в MWS и используется для проверки подлинности запроса.
Вы можете сгенерировать ключи на стороне MWS и скачать их на свое устройство в виде файла. Также вы можете загрузить в MWS собственный открытый ключ.
Создание и управление ключами доступно в веб-консоли MWS в разделе IAM > Сервисные аккаунты > Ключи доступа.
Создать авторизованный ключ в веб-консоли
- Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
- Выберите в левом меню IAM > Сервисные аккаунты.
Откроется список сервисных аккаунтов. - Нажмите на имя сервисного аккаунта, для которого вы хотите создать ключ, и перейдите на вкладку Ключи доступа.
- Нажмите Создать ключ и выберите пункт Авторизованный ключ.
- Задайте отображаемое имя для ключа и введите опциональное описание. Ограничьте срок действия ключа (рекомендуется).
- Нажмите Создать.
- Скачайте файл с ключами и сохраните его в надежном месте.
Внимание! После закрытия диалогового окна ключ станет недоступен для скачивания. - Нажмите Закрыть.
Добавить существующий авторизованный ключ
- Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
- Выберите в левом меню IAM > Сервисные аккаунты.
Откроется список сервисных аккаунтов. - Нажмите на имя сервисного аккаунта, для которого вы хотите добавить ключ, и перейдите на вкладку Ключи доступа.
- Нажмите Создать ключ и выберите пункт Авторизованный ключ.
- Задайте отображаемое имя для ключа и введите опциональное описание. Ограничьте срок действия ключа (рекомендуется).
- Выберите опцию Добавить существующий ключ доступа и вставьте открытую часть ключа в поле Public key. Нажмите Создать.
Важно! Ключ должен быть создан с использованием алгоритма шифрования ES256. - Нажмите Закрыть.
Удалить авторизованный ключ
Важно
При удалении ключа его использование в каком-либо сервисе не проверяется.
- Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
- Выберите в левом меню IAM > Сервисные аккаунты.
Откроется список сервисных аккаунтов. - Нажмите на имя сервисного аккаунта, для которого вы хотите удалить ключ, и перейдите на вкладку Ключи доступа.
- Нажмите на значок ... рядом с именем ключа, который нужно удалить.
- Выберите Удалить.
- Подтвердите удаление ключа, введя последние 5 символов его идентификатора.
API-ключ
API-ключ — это уникальная строка длиной 128 символов, предназначенная для упрощённой аутентификации сервисных аккаунтов в тех облачных сервисах, которые не поддерживают авторизованные ключи. Доступ к таким сервисам осуществляется через API используя IAM-токен. Данный токен получить, передав в соответствующем запросе API-ключ в качестве заголовка авторизации:
Authorization: Api-Key <API-ключ>API-ключ может быть использован для организации доступа к сервисам Artifact Registry и GPT.
Важно
Если ваш API-ключ мог стать известен третьим лицам, немедленно удалите его и создайте новый.
Создание и управление ключами доступно в веб-консоли MWS в разделе IAM > Сервисные аккаунты > Ключи доступа.
Создать API-ключ
- Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
- Выберите в левом меню IAM > Сервисные аккаунты.
Откроется список сервисных аккаунтов. - Нажмите на имя сервисного аккаунта, для которого вы хотите создать ключ, и перейдите на вкладку Ключи доступа.
- Нажмите Создать ключ и выберите пункт API-ключ.
- Задайте отображаемое имя для ключа и введите опциональное описание. Ограничьте срок действия ключа (рекомендуется).
- Нажмите Создать.
- Скопируйте из окна API-ключ и сохраните его в надежном месте.
Внимание! После закрытия диалогового окна API-ключ станет недоступен для просмотра. - Нажмите Закрыть.
Удалить API-ключ
Важно
При удалении ключа его использование в каком-либо сервисе не проверяется.
- Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
- Выберите в левом меню IAM > Сервисные аккаунты.
Откроется список сервисных аккаунтов. - Нажмите на имя сервисного аккаунта, для которого вы хотите удалить ключ, и перейдите на вкладку Ключи доступа.
- Нажмите на значок ... рядом с именем ключа, который нужно удалить.
- Выберите Удалить.
- Подтвердите удаление ключа, введя последние 5 символов его идентификатора.