管理 Azure 地圖服務中的驗證
當您建立 Azure 地圖服務帳戶時,會自動建立用戶端識別碼和共用金鑰。 使用 Microsoft Entra ID 或共用金鑰驗證時,需要這些值才能進行驗證。
必要條件
登入 Azure 入口網站。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 熟悉 適用於 Azure 資源受控識別。 請務必瞭解這兩種 受控識別類型 及其差異。
- Azure 地圖服務帳戶。
- 熟悉 Azure 地圖服務驗證。
檢視驗證詳細資料
重要
當您使用共用金鑰驗證呼叫 Azure 地圖服務時,建議使用主鍵作為訂閱金鑰。 在輪流金鑰變更等案例中,最好使用次要金鑰。
如要檢視您的 Azure 地圖服務驗證詳細資料:
登入 Azure 入口網站。
選取 [Azure 服務] 區段的 [Azure 資源],然後選取您的 Azure 地圖服務帳戶。
左側窗格的 [設定] 區段中選取 [驗證]。
選擇驗證類別
視您的應用程式需求而定,應用程式安全性有其特定路徑。 Microsoft Entra ID 定義特定的驗證類別,以支援各種不同的驗證流程。 如要為您的應用程式選擇最佳類別,請參閱應用程式類別。
注意
無論是使用 Microsoft Entra ID 或共用金鑰驗證,瞭解類別和案例可協助您保護 Azure 地圖服務應用程式的安全。
如何新增和移除受控識別
若要使用 Azure 地圖服務 REST API 啟用 共用存取簽章 (SAS) 權杖驗證,您需要將使用者指派的受控識別新增至您的 Azure 地圖服務帳戶。
建立受控識別
您可以在建立地圖帳戶之前或之後建立使用者指派的受控識別。 您可以透過入口網站、Azure 管理 SDK 或 Azure Resource Manager (ARM) 範本新增受控識別。 如要透過 ARM 範本新增使用者指派的受控識別,請指定使用者指派受控識別的資源識別碼。
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.ManagedIdentity/userAssignedIdentities/exampleidentity": {}
}
}
移除受控識別
如要移除系統指派的身分識別,您可透過入口網站或 ARM 範本,依先前建立該功能的方式停用。 使用者指派的身分識別可以個別移除。 如要移除所有身分識別,請將身分識別類型設為"None"
。
以這種方式移除系統指派的身分識別,也會從 Microsoft Entra ID 將其刪除。 當您刪除 Azure 地圖服務帳戶時,系統指派的身分識別會自動從 Microsoft Entra ID 移除。
如要使用 ARM 範本來移除所有身分識別,請更新本區段:
"identity": {
"type": "None"
}
選擇驗證和授權案例
下表概述 Azure 地圖服務中的常見驗證和授權案例。 每個案例描述可用來存取 Azure 地圖服務 REST API 的應用程式類型。 使用連結來瞭解每個案例的詳細組態資訊。
重要
針對生產應用程式,我們建議透過 Azure 角色型存取控制 (Azure RBAC) 實作 Microsoft Entra ID。
案例 | 驗證 | 授權 | 開發投入量 | 作業投入量 |
---|---|---|---|---|
受信任的精靈應用程式或非互動式用戶端應用程式 | 共用金鑰 | N/A | 中 | 高 |
受信任的精靈應用程式或非互動式用戶端應用程式 | Microsoft Entra ID | 高 | 低 | 中 |
具有互動式單一登入的單一頁面應用程式 | Microsoft Entra ID | 高 | 中 | 中 |
具有非互動式單一登入的單一頁面應用程式 | Microsoft Entra ID | 高 | 中 | 中 |
Web 應用程式、精靈應用程式或非互動式登入應用程式 | SAS 權杖 | 高 | 中 | 低 |
具有互動式單一登入的 Web 應用程式 | Microsoft Entra ID | 高 | 高 | 中 |
IoT 裝置或輸入限制的應用程式 | Microsoft Entra ID | 高 | 中 | 中 |
檢視內建 Azure 地圖服務角色定義
如要檢視內建 Azure 地圖服務角色定義:
從左側窗格中,選取 [存取控制 (IAM)]。
選取 [角色] 索引標籤。
在搜尋方塊中,輸入 [Azure 地圖服務]。
結果會顯示 Azure 地圖服務的可用內建角色定義。
檢視角色指派
檢視使用者與應用程式授與存取 Azure 地圖服務,移至 存取控制 (IAM)。 在該處,選取 [角色指派],然後依 Azure 地圖服務 進行篩選。
從左側窗格中,選取 [存取控制 (IAM)]。
選取 [角色指派] 索引標籤。
在搜尋方塊中,輸入 [Azure 地圖服務]。
結果會顯示目前 Azure 地圖服務角色指派。
要求 Azure 地圖服務的權杖
向 Microsoft Entra 權杖端點要求權杖。 在 Microsoft Entra ID 要求中,使用下列詳細資料:
Azure 環境 | Microsoft Entra 權杖端點 | Azure 資源識別碼 |
---|---|---|
Azure 公用雲端 | https://login.microsoftonline.com |
https://atlas.microsoft.com/ |
Azure Government 雲端 | https://login.microsoftonline.us |
https://atlas.microsoft.com/ |
如需針對使用者和服務主體向 Microsoft Entra ID 要求存取權杖的詳細資訊,請參閱 適用於 Microsoft Entra ID 的驗證案例。 如要檢視特定案例,請參閱 案例資料表。
管理和輪替共用金鑰
您的 Azure 地圖服務訂閱金鑰類似於您的 Azure 地圖服務帳戶的根密碼。 請務必小心保護您的訂閱金鑰。 使用 Azure Key Vault 以安全的方式管理及輪替金鑰。 避免將存取金鑰散發給其他使用者、寫入程式碼,或將其以純文字儲存在他人可以存取的位置。 如果您認為金鑰可能遭入侵,請輪替金鑰。
注意
可能的話,建議使用 Microsoft Entra ID 而非共用金鑰來授權要求。 Microsoft Entra ID 比共用金鑰有更好的安全性,而且更容易使用。
手動輪替訂閱金鑰
為協助保護您的 Azure 地圖服務帳戶安全,建議定期輪替您的訂閱金鑰。 如果可以,請使用 Azure Key Vault 來管理您的存取金鑰。 如果您未使用 AKV,則必須手動輪替金鑰。
由於指派兩個存取金鑰,因此您可以旋轉金鑰。 使用兩個金鑰可確保您的應用程式會在整個程序維持 Azure 地圖服務的存取權。
若要在 Azure 入口網站中輪替您的 Azure 地圖服務訂閱金鑰:
- 更新您的應用程式程式碼,以參考 Azure 地圖服務帳戶和部署的次要金鑰。
- 在 Azure 入口網站中,瀏覽至您的 Azure 地圖服務帳戶。
- 選取 [設定] 下方的 [驗證]。
- 如要重新產生 Azure 地圖服務帳戶的主索引鍵,請選取主索引鍵旁的 [重新產生] 按鈕。
- 更新應用程式程式碼以參考新的主索引鍵並部署。
- 以同樣方式重新產生次要金鑰。
警告
建議您在所有應用程式中使用相同的金鑰。 如果您在某些地方使用主要金鑰,而在其他地方使用次要金鑰,就無法在沒有部分應用程式遺失存取的情況下輪替您的金鑰。
下一步
尋找 Azure 地圖服務帳戶的 API 使用計量:
探索範例,了解如何使用 Azure 地圖服務與 Microsoft Entra ID 整合: