本文會說明如何整合 Amazon API 閘道,以便閘道的 API 在您的 API 中心詳細目錄中持續保持最新狀態。
關於整合 Amazon API 閘道
將 Amazon API 閘道整合為 API 中心的 API 來源可啟用持續同步處理,讓 API 詳細目錄保持最新狀態。 Azure API 中心也可以同步處理來自來源的 API,包括 Azure APIM。
當您將 Amazon API 閘道整合為 API 來源時,會發生下列情況:
- API 以及選用的 API 定義 (規格),都會從 API 閘道新增至 API 中心詳細目錄。
- 您可以在 API 中心設定 Amazon API 閘道類型的環境。
- 系統會針對每個同步處理的 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 來源中的值所設定的屬性。
| 單位 | 可在 API 中心設定的屬性 | 在整合式 API 來源中確定的屬性 |
|---|---|---|
| API | 摘要 lifecycleStage 服務條款 使用權 externalDocumentation 自定義屬性 (customProperties) |
標題 說明 kind |
| API 版本 | lifecycleStage | 標題 定義 (如果已同步處理) |
| 環境 | 標題 說明 類型 server.managementPortalUri 上線 自定義屬性 (customProperties) |
伺服器類型 |
| 部署 | 標題 說明 伺服器 狀態 自定義屬性 (customProperties) |
server.runtimeUri (伺服器運行時的URI) |
附註
同步處理至 Azure API 中心之實體的資源和系統識別碼會自動產生,且無法變更。
先決條件
Azure 訂用帳戶中的 API 中心。 如果您尚未建立,請參閱快速入門:建立您的 API 中心。
Azure 金鑰保存庫。 如果您需要建立一個金鑰保存庫,請參閱快速入門:使用 Azure 入口網站建立金鑰保存庫。 若要在金鑰保存庫中新增或管理祕密,至少需要金鑰保存庫祕密長角色或對等權限。
對於 Azure CLI:
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱開始使用 Azure Cloud Shell。
若要在本機執行 CLI 參考命令,請安裝 (部分機器翻譯) Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱如何在 Docker 容器中執行 Azure CLI。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,以完成驗證流程。 如需其他登入選項,請參閱 使用 Azure CLI 向 Azure 進行驗證。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能的詳細資訊,請參閱 使用和管理 Azure CLI 的擴充功能。
執行 az version (部分機器翻譯) 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
附註
az apic命令需要apic-extensionAzure CLI 延伸模組。 如果您尚未使用az apic命令,則可以在執行第一個az apic命令時動態安裝延伸模組,也可以手動安裝延伸模組。 深入了解 Azure CLI 延伸模組。附註
本文中的 Azure CLI 命令範例可在 PowerShell 或 Bash 殼層中執行。 若因變數語法不同而有需要,可參考為兩個殼層提供的個別命令範例。
建立 IAM 使用者存取金鑰
若要向 Amazon API 閘道驗證您的 API 中心,您需要 AWS IAM 使用者的存取金鑰。
若要使用 AWS 管理主控台產生必要的存取金鑰識別碼和秘密金鑰,請在 AWS 文件中參閱為您自己建立存取金鑰。
將存取金鑰儲存在安全的位置。 您將在後續步驟中將其儲存在 Azure Key Vault。
注意
存取金鑰是長期認證,您應該像密碼一樣安全地管理它們。 深入了解如何保護存取金鑰
將 IAM 使用者存取金鑰儲存在 Azure Key Vault
使用下表建議的設定,手動上傳並安全地將兩個 IAM 使用者存取金鑰儲存在 Azure Key Vault。 如需詳細資訊,請參閱快速入門:使用 Azure 入口網站從 Azure Key Vault 設定及擷取祕密。
| AWS 秘密 | 上傳選項 | 名稱 | 祕密值 |
|---|---|---|---|
| 存取金鑰 | 手動 | aws-access-key | 從 AWS 擷取的存取金鑰識別碼 |
| 秘密存取金鑰 | 手動 | aws-secret-access-key | 從 AWS 擷取的秘密存取金鑰 |
記下每個祕密的祕密識別碼,URI 類似於 https://<key-vault-name>.vault.azure.net/secrets/<secret-name>。 您將在後續步驟中使用這些識別碼。
在 API 中心啟用受控識別
在此案例中,您的 API 中心會使用受控識別來存取 Azure 資源。 根據您的需求,啟用系統指派或一或多個使用者指派的受控識別。
下列範例會說明如何使用 Azure 入口網站或 Azure CLI 來啟用系統指派的受控識別。 概括而言,設定步驟與使用者指派的受控識別類似。
將 Key Vault 祕密使用者角色指派給受控識別
若要允許匯入 API,請將 Azure Key Vault 中的 Key Vault 祕密使用者角色指派給 API 中心的受控識別。 您可以使用入口網站或 Azure CLI。
- 在入口網站中,瀏覽至您的金鑰保存庫。
- 在左側功能表中,選取 [存取控制 (IAM)]。
- 選取 [+ 新增角色指派]。
- 在 [新增角色指派] 窗格上設定值,如下所示:
- 在 [角色] 索引標籤,選取 [金鑰保存庫祕密使用者]。
- 在 [成員] 索引標籤上的 [指派存取權的對象] 中 - 選取 [受控識別]>[+ 選取成員]。
- 在 [選取受控識別] 頁面上,選取您在上一節新增的 API 中心的系統指派受控識別。 按一下 [選取]。
- 選取 [檢閱 + 指派]。
整合 Amazon API 閘道
您可以使用入口網站或 Azure CLI 來整合 Amazon API 閘道。
- 在入口網站中,瀏覽至您的 API 中心。
- 在 [平臺] 底下,選取 [ 整合]。
- 選取 [+ 新整合]> [從 Amazon API 閘道]。
- 在 [ 整合 Amazon API 閘道服務] 頁面中:
- 針對 AWS 存取金鑰 和 AWS 秘密存取金鑰,按一下 [選取 ] 並選取您儲存的訂用帳戶、金鑰保存庫、秘密。
- 選取部署 Amazon API 閘道的 AWS 區域 。
- 在 [整合詳細數據] 中,輸入標識符。
- 在 [環境詳細資料] 中,輸入 [環境標題] (名稱)、[環境類型] 和 [描述] (選用)。
- 在 [API 詳細資料]:
- 選取已同步 API 的 [生命週期]。 (您可以在 API 中心新增 API 之後更新此值。)
- 可選擇是否選取要包含與已同步 API 的 API 定義。
- 選取 ,創建。
環境會新增至 API 中心。 Amazon API 閘道 API 會匯入至 API 中心詳細目錄。
刪除整合
雖然 API 來源已整合,但您無法從 API 中心刪除已同步 API。 如果您需要,您可以刪除整合。 當您刪除整合時:
- API 中心詳細目錄中的已同步 API 會刪除
- 與 API 來源相關聯的環境和部署會刪除
您可以使用入口網站或 Azure CLI 刪除整合。