Интеграция подключаемого модуля API с API, защищенным с помощью ключа

Завершено

Одним из распространенных способов защиты API является использование ключей API. Ключи API — это произвольные строки, которые владельцы API выдают для предоставления доступа к API. Многие популярные службы используют ключи API для защиты доступа к своим API. Поставщик API, который выдает элементы управления ключами API, если ключ предоставляет доступ ко всей поверхности API и ко всем ресурсам или только к определенной ее части. Служба также определяет срок действия ключа.

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

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

Microsoft 365 Copilot поддерживает передачу ключей API следующим образом:

  • Веб-токен JSON (JWT)
GET https://api.contoso.com/orders
Authorization: Bearer API_KEY 
  • Параметр строки запроса
GET https://api.contoso.com/orders?api_key=API_KEY
  • Пользовательский заголовок
GET https://api.contoso.com/orders
X-API-Key: API_KEY

Ключ API — это значение секрета, которым никогда не следует предоставлять общий доступ. При создании подключаемого модуля API, который интегрируется с API, защищенным с помощью ключа API, ключ API хранится в безопасном расположении хранилища в Microsoft 365, также известном как хранилище. Затем в приложении вы ссылаетесь на идентификатор записи хранилища. Во время выполнения декларативный агент загружает подключаемый модуль (2) и разрешает идентификатор записи в фактический ключ API (3a), который он использует для вызова API (3b). Этот процесс показан на следующей схеме.

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

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

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

Снимок экрана: страница регистрации ключа API на портале разработчика Teams.