整合 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 Web 令牌 (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 金鑰,所以您可以更新它,而不需要更新您的應用程式。
在開發期間,您可以手動移至 Teams 開發人員入口網站和開啟 API 金鑰註冊的 [工具] 區段,或使用 Microsoft 365 代理程式工具組,在保存庫中自行註冊開發 API 金鑰。 在生產環境中,系統管理員通常會註冊 API 金鑰,並為您提供要在 API 外掛程式中使用的保存庫專案識別碼。