Skip to content

Ключи доступа

Сервисные аккаунты при обращении к ресурсам облака аутентифицируются при помощи ключей доступа.

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

У каждого ключа есть идентификатор, который используется для точного обращения к нему (например, при создании 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-ключ

  1. Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
  2. Выберите в левом меню IAM > Сервисные аккаунты.
    Откроется список сервисных аккаунтов.
  3. Нажмите на имя сервисного аккаунта, для которого создать ключ, и перейдите на вкладку Ключи доступа.
  4. Нажмите Создать ключ и выберите пункт HMAC-ключ.
  5. Задайте отображаемое имя для ключа и введите опциональное описание. Ограничьте срок действия ключа (рекомендуется). Нажмите Создать.
  6. Скопируйте из окна секретный ключ из поля Secret Key и сохраните его в надежном месте.
    Внимание! После закрытия диалогового окна секретный ключ станет недоступен для просмотра.
  7. Нажмите Закрыть.

Примечание

Создать HMAC-ключ также можно, выбрав Object Storage > Настройки: найдите в разделе HMAC-ключи для сервисных аккаунтов требуемый сервисный аккаунт и нажмите Добавить ключ.

Удалить HMAC-ключ

Важно

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

  1. Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
  2. Выберите в левом меню IAM > Сервисные аккаунты.
    Откроется список сервисных аккаунтов.
  3. Нажмите на имя сервисного аккаунта, для которого вы хотите удалить ключ, и перейдите на вкладку Ключи доступа.
  4. Нажмите на значок ... рядом с именем ключа, который нужно удалить.
  5. Выберите Удалить.
  6. Подтвердите удаление ключа, введя последние 5 символов его идентификатора.

Авторизованный ключ

Авторизованный ключ (authorized key) — это ключ с алгоритмом шифрования ES256, применяемый для аутентификации во всех сервисах MWS (исключая Object Storage, Artifact Registry и GPT).

Для доступа к API облачных сервисов необходим IAM-токен, который формируется с использованием авторизованного ключа. Этот ключ состоит из двух частей:

  • закрытый ключ (Private Key) хранится локально и применяется для подписи запроса на выдачу IAM-токена;
  • открытый ключ (Public Key) хранится в MWS и используется для проверки подлинности запроса.

Вы можете сгенерировать ключи на стороне MWS и скачать их на свое устройство в виде файла. Также вы можете загрузить в MWS собственный открытый ключ.

Создание и управление ключами доступно в веб-консоли MWS в разделе IAM > Сервисные аккаунты > Ключи доступа.

Создать авторизованный ключ в веб-консоли

  1. Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
  2. Выберите в левом меню IAM > Сервисные аккаунты.
    Откроется список сервисных аккаунтов.
  3. Нажмите на имя сервисного аккаунта, для которого вы хотите создать ключ, и перейдите на вкладку Ключи доступа.
  4. Нажмите Создать ключ и выберите пункт Авторизованный ключ.
  5. Задайте отображаемое имя для ключа и введите опциональное описание. Ограничьте срок действия ключа (рекомендуется).
  6. Нажмите Создать.
  7. Скачайте файл с ключами и сохраните его в надежном месте.
    Внимание! После закрытия диалогового окна ключ станет недоступен для скачивания.
  8. Нажмите Закрыть.

Добавить существующий авторизованный ключ

  1. Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
  2. Выберите в левом меню IAM > Сервисные аккаунты.
    Откроется список сервисных аккаунтов.
  3. Нажмите на имя сервисного аккаунта, для которого вы хотите добавить ключ, и перейдите на вкладку Ключи доступа.
  4. Нажмите Создать ключ и выберите пункт Авторизованный ключ.
  5. Задайте отображаемое имя для ключа и введите опциональное описание. Ограничьте срок действия ключа (рекомендуется).
  6. Выберите опцию Добавить существующий ключ доступа и вставьте открытую часть ключа в поле Public key. Нажмите Создать.
    Важно! Ключ должен быть создан с использованием алгоритма шифрования ES256.
  7. Нажмите Закрыть.

Удалить авторизованный ключ

Важно

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

  1. Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
  2. Выберите в левом меню IAM > Сервисные аккаунты.
    Откроется список сервисных аккаунтов.
  3. Нажмите на имя сервисного аккаунта, для которого вы хотите удалить ключ, и перейдите на вкладку Ключи доступа.
  4. Нажмите на значок ... рядом с именем ключа, который нужно удалить.
  5. Выберите Удалить.
  6. Подтвердите удаление ключа, введя последние 5 символов его идентификатора.

API-ключ

API-ключ — это уникальная строка длиной 128 символов, предназначенная для упрощённой аутентификации сервисных аккаунтов в тех облачных сервисах, которые не поддерживают авторизованные ключи. Доступ к таким сервисам осуществляется через API используя IAM-токен. Данный токен получить, передав в соответствующем запросе API-ключ в качестве заголовка авторизации:

html
Authorization: Api-Key <API-ключ>

API-ключ может быть использован для организации доступа к сервисам Artifact Registry и GPT.

Важно

Если ваш API-ключ мог стать известен третьим лицам, немедленно удалите его и создайте новый.

Создание и управление ключами доступно в веб-консоли MWS в разделе IAM > Сервисные аккаунты > Ключи доступа.

Создать API-ключ

  1. Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
  2. Выберите в левом меню IAM > Сервисные аккаунты.
    Откроется список сервисных аккаунтов.
  3. Нажмите на имя сервисного аккаунта, для которого вы хотите создать ключ, и перейдите на вкладку Ключи доступа.
  4. Нажмите Создать ключ и выберите пункт API-ключ.
  5. Задайте отображаемое имя для ключа и введите опциональное описание. Ограничьте срок действия ключа (рекомендуется).
  6. Нажмите Создать.
  7. Скопируйте из окна API-ключ и сохраните его в надежном месте.
    Внимание! После закрытия диалогового окна API-ключ станет недоступен для просмотра.
  8. Нажмите Закрыть.

Удалить API-ключ

Важно

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

  1. Выберите в веб-консоли нужный проект из списка в верхней строке навигации.
  2. Выберите в левом меню IAM > Сервисные аккаунты.
    Откроется список сервисных аккаунтов.
  3. Нажмите на имя сервисного аккаунта, для которого вы хотите удалить ключ, и перейдите на вкладку Ключи доступа.
  4. Нажмите на значок ... рядом с именем ключа, который нужно удалить.
  5. Выберите Удалить.
  6. Подтвердите удаление ключа, введя последние 5 символов его идентификатора.