Поделиться через


Синхронизация API из Шлюза API Amazon в Центр API Azure (предварительная версия)

В этой статье показано, как интегрировать шлюз API Amazon, чтобы API шлюза постоянно обновлялись в инвентаризации центра API.

Интеграция Шлюза API Amazon

Интеграция Шлюза API Amazon в качестве источника API для центра API обеспечивает непрерывную синхронизацию, чтобы инвентаризация API оставалась актуальной. Центр API Azure также может синхронизировать API из источников, включая Azure Управление API.

При интеграции шлюза API Amazon в качестве источника API происходит следующее:

  1. API и при необходимости определения API (спецификации) из шлюза API добавляются в инвентаризацию центра API.
  2. Вы настраиваете среду типа Amazon API Gateway в центре API.
  3. Связанное развертывание создается для каждого синхронизированного определения API.

Синхронизация — это односторонняя синхронизация из Шлюза API Amazon в центр API Azure, то есть обновления API в центре API не синхронизируются с Шлюзом API Amazon.

Примечание.

  • Интеграция Шлюза API Amazon в настоящее время находится в предварительной версии.
  • Существуют ограничения на количество интегрированных источников API.
  • API-интерфейсы в Шлюзе API Amazon синхронизируются с центром API один раз в час. Синхронизированы только интерфейсы REST API.
  • Определения API также синхронизируются с центром API при выборе параметра включения их во время интеграции. Синхронизированы только определения из развернутых API.

Сущности, синхронизированные из шлюза API Amazon

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

В следующей таблице показаны свойства сущности, которые можно изменить в Центре API Azure и свойствах, заданных на основе их значений в источнике API.

Объект Свойства, настраиваемые в Центре API Свойства, определенные в интегрированном источнике API
API Итоги
жизненный цикл
termsOfService
лицензия
externalDocumentation
customProperties
title
описание
kind
Версия API жизненный цикл title
определения (при синхронизации)
Среда title
описание
kind
server.managementPortalUri
Подключение
customProperties
server.type
Развертывание title
описание
server
state
customProperties
server.runtimeUri

Примечание.

Идентификаторы ресурсов и системы для сущностей, синхронизированных с Центром API Azure, автоматически создаются и не могут быть изменены.

Необходимые компоненты

  • Центр API в подписке Azure. Если вы не создали его, см . краткое руководство. Создание центра API.

  • Хранилище ключей Azure. Если вам нужно создать его, см. краткое руководство. Создание хранилища ключей с помощью портал Azure. Чтобы добавить или управлять секретами в хранилище ключей, требуются по крайней мере роль сотрудника по секретам Key Vault или эквивалентные разрешения.

  • Шлюз API Amazon.

  • Удостоверение пользователя AWS IAM с присоединенной политикойAmazonAPIGatewayAdministrator.

  • При использовании Azure CLI выполните следующее:

    • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

    • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

      • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

      • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

      • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

    Примечание.

    az apic для команд требуется apic-extension расширение Azure CLI. Если вы не использовали az apic команды, расширение можно установить динамически при выполнении первой az apic команды или установить расширение вручную. Дополнительные сведения о расширениях Azure CLI.

    Дополнительные сведения о последних изменениях и обновлениях см. в заметках о выпускеapic-extension. Для некоторых функций может потребоваться предварительная версия или определенная версия расширения.

    Примечание.

    Примеры команд Azure CLI в этой статье могут выполняться в PowerShell или оболочке bash. Если это необходимо из-за разного синтаксиса переменной, для двух оболочк предоставляются отдельные примеры команд.

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

Чтобы пройти проверку подлинности центра API в Шлюзе API Amazon, вам потребуются ключи доступа для пользователя AWS IAM.

Чтобы создать необходимый идентификатор ключа доступа и секретный ключ с помощью консоли управления AWS, см. статью "Создание ключа доступа для себя " в документации AWS.

Сохраните ключи доступа в безопасном расположении. Вы сохраните их в Azure Key Vault в следующих шагах.

Внимание

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

Хранение ключей доступа пользователей IAM в Azure Key Vault

Вручную отправьте и безопасно сохраните два ключа доступа пользователей IAM в Azure Key Vault с помощью конфигурации, рекомендуемой в следующей таблице. Дополнительные сведения см. в кратком руководстве по настройке и извлечению секрета из Azure Key Vault с помощью портал Azure.

Секрет AWS Параметры отправки Имя. Значение секрета
Ключ доступа Руководство aws-access-key Идентификатор ключа доступа, полученный из AWS
Секретный ключ доступа Руководство aws-secret-access-key Ключ секретного доступа, полученный из AWS

Снимок экрана: список секретов в Azure Key Vault на портале.

Запишите идентификатор секрета каждого секрета, URI, аналогичный https://<key-vault-name>.vault.azure.net/secrets/<secret-name>. Эти идентификаторы будут использоваться в следующих шагах.

Включение управляемого удостоверения в центре API

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

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

  1. На портале перейдите в центр API.
  2. В левом меню в разделе Безопасность выберите Управляемые удостоверения.
  3. Выберите "Назначенная система" и задайте для параметра " Вкл.
  4. Выберите Сохранить.

Назначение управляемого удостоверения роли пользователя секретов Key Vault

Чтобы разрешить импорт API, назначьте управляемое удостоверение центра API роль пользователя секретов Key Vault в хранилище ключей Azure. Вы можете использовать портал или Azure CLI.

  1. На портале перейдите к хранилищу ключей.
  2. В меню слева выберите Управление доступом (IAM).
  3. Выберите + Добавить назначение ролей.
  4. На странице "Добавление назначения ролей" задайте следующие значения:
    1. На вкладке "Роль" выберите "Пользователь секретов Key Vault".
    2. На вкладке "Члены" на вкладке "Назначить доступ" — "Выбрать управляемое удостоверение>" и "Выбрать участников".
    3. На странице "Выбор управляемых удостоверений" выберите назначаемое системой управляемое удостоверение центра API, добавленное в предыдущем разделе. Щелкните Выбрать.
    4. Выберите Проверить + назначить.

Интеграция шлюза API Amazon

Выполните команду az apic integration create aws (preview), чтобы интегрировать шлюз API Amazon в центр API.

  • Укажите имена группы ресурсов, центра API и интеграции.

  • Укажите идентификаторы секретов Key Vault для ключа доступа AWS и ключа секретного доступа, а также регион AWS, в котором развернут шлюз API Amazon.

az apic integration create aws \
    --resource-group <resource-group-name> \
    --service-name-name <api-center-name> \
    --integration-name <aws-integration-name> \
    --aws-access-key-reference <access-key-uri> \
    --aws-secret-access-key-reference <secret-access-key-uri> 
    --aws-region-name <aws-region>

Среда добавляется в центр API. API-интерфейсы шлюза API Amazon импортируются в инвентаризацию центра API.

Удаление интеграции

Хотя источник API интегрирован, вы не можете удалить синхронизированные API из центра API. При необходимости можно удалить интеграцию. При удалении интеграции:

  • Синхронизированные API в инвентаризации центра API удаляются
  • Среда и развертывания, связанные с источником API, удаляются

Чтобы удалить интеграцию с помощью Azure CLI, выполните команду az apic integration delete (preview). Укажите имена группы ресурсов, центра API и интеграции.

az apic integration delete \
    --resource-group <resource-group-name> \
    --service-name <api-center-name> \
    --integration-name <integration-name>