適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器中的受控識別
適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器
開發人員常見的挑戰是管理用來保護服務間安全通訊的祕密、認證、憑證和金鑰。 受控識別會排除開發人員管理這些認證的需求。
雖然開發人員可以安全地將祕密儲存在 Azure Key Vault 中,但是服務需要存取 Azure Key Vault 的方法。 受控識別可針對應用程式提供 Microsoft Entra ID 中的自動受控識別,以在連線至支援 Microsoft Entra 驗證的資源時使用。 應用程式可以使用受控識別來取得 Microsoft Entra 權杖,而不需要管理任何認證。
以下為使用受控識別的一些優點:
- 不需要管理認證。 甚至無法存取認證。
- 您可使用受控識別,驗證支援 Microsoft Entra 驗證的任何資源 (包括您自己的應用程式)。
- 不需任何額外成本,即可使用受控識別。
受控識別類型
受控身分識別有兩種:
系統指派。 對於某些 Azure 資源 (例如虛擬機器),適用於 PostgreSQL 的 Azure 資料庫彈性伺服器可讓您直接在資源上啟用受控識別。 當您啟用系統指派的受控識別時:
- 在該身分識別的 Microsoft Entra ID 中建立特殊型別的服務主體。 服務主體會繫結至該 Azure 資源的生命週期。 刪除 Azure 資源時,Azure 會自動為您刪除服務主體。
- 根據設計,只有該 Azure 資源可以使用此身分識別,自 Microsoft Entra ID 要求權杖。
- 您可以授權受控識別存取一或多個服務。
- 系統指派的服務主體名稱一律與其據以建立的 Azure 資源名稱相同。
使用者指派。 您也可以建立受控身分識別作為獨立 Azure 資源。 您可以建立使用者指派的受控識別,並將其指派給一或多個 Azure 資源。 啟用使用者指派的受控識別時:
- 在該身分識別的 Microsoft Entra ID 中建立特殊型別的服務主體。 服務主體會與使用它的資源分開管理。
- 多項資源可以利用使用者指派的身分識別。
- 您可以授權受控識別存取一或多個服務。
如何在彈性伺服器上啟用系統指派的受控識別
Azure 入口網站
請遵循下列步驟,在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體上啟用系統指派的受控識別。
在 Azure 入口網站中,選取您要為其啟用系統指派受控識別的現有適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。
在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器頁面上,選取 [身分識別]
在 [身分識別] 區段中,選取 [開啟] 選項按鈕。
選取儲存以套用變更。
- 通知會確認已啟用系統指派的受控識別。
ARM 範本
以下的 ARM 範本可啟用系統指派的受控識別。 您可使用 2023-06-01-preview 或最新的可用 API。
{
"resources": [
{
"apiVersion": "2023-06-01-preview",
"identity": {
"type": "SystemAssigned"
},
"location": "Region name",
"name": "flexible server name",
"type": "Microsoft.DBforPostgreSQL/flexibleServers"
}
]
}
若要停用系統指派的受控識別,請將類型變更為 [無]
{
"resources": [
{
"apiVersion": "2023-06-01-preview",
"identity": {
"type": "None"
},
"location": "Region Name",
"name": "flexible server name",
"type": "Microsoft.DBforPostgreSQL/flexibleServers"
}
]
}
如何在彈性伺服器上驗證新建立的系統指派受控識別
您可前往 [企業應用程式] 來驗證所建立的受控識別
選擇 [應用程式類型 == 受控識別]
在 [依應用程式名稱或身分識別搜尋] 中提供彈性伺服器名稱,如螢幕擷取畫面所示。