共用方式為


將 API 從 Amazon API 閘道同步處理至 Azure API 中心 (預覽)

本文說明如何整合 Amazon API 閘道,讓閘道的 API 在 API 中心清查中持續保持在最新狀態。

關於整合 Amazon API 閘道

將 Amazon API Gateway 整合為 API 中心的 API 來源可啟用持續同步處理,讓 API 清查保持最新狀態。 Azure API 中心也可以同步處理來源的 API,包括 Azure API 管理

當您將 Amazon API 閘道整合為 API 來源時,會發生下列情況:

  1. API 和選擇性的 API 定義(規格),會從 API 閘道新增至 API 中心清查。
  2. 您可以在 API 中心設定 Amazon API Gateway 類型的環境
  3. 系統會為每個同步處理的 API 定義建立相關聯的 部署

同步處理是從 Amazon API 閘道到 Azure API 中心的單向,這表示 API 中心中的 API 更新不會同步處理回 Amazon API 閘道。

注意

  • Amazon API 閘道的整合目前為預覽狀態。
  • 整合式 API 來源的數目有 限制
  • Amazon API 閘道中的 API 每小時會同步至您的 API 中心一次。 只會同步處理 REST API。
  • 如果您選取在整合期間包含 API 中心的選項,API 定義也會同步處理至 API 中心。 只有來自已部署 API 的定義會同步處理。

從 Amazon API 閘道同步處理的實體

您可以將元資料屬性和檔新增或更新至 API 中心的同步處理 API,以協助專案關係人探索、瞭解及取用 API。 深入瞭解 Azure API 中心內 建和自定義元數據屬性

下表顯示可在 Azure API 中心修改的實體屬性,以及根據 API 來源中的值所設定的屬性。

Entity 可在 API 中心設定的屬性 整合式 API 來源中決定的屬性
API 摘要
lifecycleStage
termsOfService
license (授權)
externalDocumentation
customProperties
title
description
種類
API 版本 lifecycleStage title
定義(如果已同步處理)
Environment title
description
kind
server.managementPortalUri
上架
customProperties
server.type
部署 title
description
伺服器
state
customProperties
server.runtimeUri

注意

同步處理至 Azure API 中心之實體的資源和系統識別碼會自動產生,且無法變更。

必要條件

  • Azure 訂用帳戶中的 API 中心。 如果您尚未建立,請參閱快速入門:建立您的 API 中心

  • Azure 金鑰保存庫。 如果您需要建立金鑰保存庫,請參閱快速入門:使用 Azure 入口網站 建立金鑰保存庫。 若要在密鑰保存庫中新增或管理秘密,至少需要 金鑰保存庫 秘密官員角色或對等許可權。

  • Amazon API 閘道

  • 已附加原則的 AmazonAPIGatewayAdministrator AWS IAM 使用者身分識別。

  • 對於 Azure CLI:

    注意

    az apic 命令需要 apic-extension Azure CLI 延伸模組。 如果您尚未使用 az apic 命令,則可以在執行第一個 az apic 命令時動態安裝延伸模組,也可以手動安裝延伸模組。 深入了解 Azure CLI 延伸模組

    如需 apic-extension 中的最新變更和更新,請參閱版本資訊。 某些功能可能需要預覽或特定版本的擴充功能。

    注意

    本文中的 Azure CLI 命令範例可在 PowerShell 或 Bash 殼層中執行。 若因變數語法不同而有需要,可參考為兩個殼層提供的個別命令範例。

建立 IAM 使用者存取金鑰

若要向 Amazon API 閘道驗證您的 API 中心,您需要 AWS IAM 使用者的存取金鑰。

若要使用 AWS Management Console 產生必要的存取密鑰標識碼和秘密金鑰,請參閱 AWS 檔中為您自己 建立存取金鑰。

將存取金鑰儲存在安全的位置。 您將在後續步驟中將其儲存在 Azure 金鑰保存庫。

警告

存取金鑰是長期認證,您應該像密碼一樣安全地管理它們。 深入瞭解保護 存取金鑰

將 IAM 使用者存取金鑰儲存在 Azure 金鑰保存庫

使用下表建議的設定,手動上傳並安全地將兩個 IAM 使用者存取密鑰儲存在 Azure 金鑰保存庫。 如需詳細資訊,請參閱快速入門:使用 Azure 入口網站 從 Azure 金鑰保存庫 設定和擷取秘密。

AWS 秘密 上傳選項 名稱 祕密值
存取金鑰 手動 aws-access-key 從 AWS 擷取的存取金鑰標識碼
秘密存取金鑰 手動 aws-secret-access-key 從 AWS 擷取的秘密存取金鑰

Azure 金鑰保存庫 入口網站中秘密清單的螢幕快照。

記下 每個秘密的秘密識別碼 ,URI 類似於 https://<key-vault-name>.vault.azure.net/secrets/<secret-name>。 您將在後續步驟中使用這些識別碼。

在您的 API 中心啟用受控識別

在此案例中,您的 API 中心會使用 受控識別 來存取 Azure 資源。 根據您的需求,啟用系統指派或一或多個使用者指派的受控識別。

下列範例示範如何使用 Azure 入口網站 或 Azure CLI 來啟用系統指派的受控識別。 概括而言,設定步驟與使用者指派的受控識別類似。

  1. 入口網站中,瀏覽至您的 API 中心。
  2. 在 [安全性] 下的左側功能表中,選取 [受控識別]
  3. 選取 [系統指派],然後將狀態設定為 [開啟]
  4. 選取 [儲存]。

將 金鑰保存庫秘密使用者角色指派給受控識別

若要允許匯入 API,請將 Azure 金鑰保存庫中 金鑰保存庫 秘密使用者角色指派給 API 中心受控識別。 您可以使用入口網站或 Azure CLI。

  1. 在入口網站,流覽至您的金鑰保存庫。
  2. 在左側功能表中,選取 [存取控制 (IAM)]
  3. 選取 [+ 新增角色指派]
  4. 在 [新增角色指派] 窗格上設定值,如下所示:
    1. 在 [角色] 索引標籤上,選取 [金鑰保存庫祕密使用者]
    2. 在 [成員] 索引標籤上的 [指派存取權的對象] 中 - 選取 [受控識別]>[+ 選取成員]
    3. 在 [ 選取受控識別 ] 頁面上,選取您在上一節中新增之 API 中心的系統指派受控識別。 按一下 [選取]。
    4. 選取檢閱+指派

整合 Amazon API 閘道

執行 az apic integration create aws (preview) 命令,將 Amazon API 閘道整合到您的 API 中心。

  • 提供資源群組、API 中心和整合的名稱。

  • 提供 AWS 存取金鑰和秘密存取金鑰的 金鑰保存庫 秘密識別碼,以及部署 Amazon API 閘道的 AWS 區域。

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 中心。 Amazon API 閘道 API 會匯入至 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>