本文提供逐步指示,說明如何在「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」執行個體中新增或移除使用者指派的受控識別。
指派給現有伺服器的步驟
本文假設您已建立要與「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」的現有執行個體相關聯的使用者指派受控識別。
如需詳細資訊,請參閱如何在 Microsoft Entra ID 中管理使用者指派的受控識別。
您可以將任意數量的使用者指派受控識別連接到 Azure Database for PostgreSQL 彈性伺服器執行個體。
不支援透過入口網站將使用者指派的受控識別與 Azure Database for PostgreSQL 彈性伺服器建立關聯。
您可以透過 az postgres flexible-server identity assign 命令,將使用者指派的身分識別與適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體產生關聯。
# Associate user assigned managed identity
resourceGroup=<resource-group>
server=<server>
identity=<identity>
az postgres flexible-server identity assign \
--resource-group $resourceGroup \
--server-name $server \
--identity $identity
從現有伺服器移除的步驟
此服務支援取消與「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」執行個體相關聯的使用者指派受控識別的關聯。
該規則的例外狀況是指定為應用於存取加密金鑰的任何使用者指派的受控識別。 這種情況只有在部署了使用客戶自控金鑰的資料加密的伺服器上可能會發生。
不支援透過入口網站取消使用者指派的受控識別與「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」執行個體的關聯。
您可以透過 az postgres flexible-server identity remove 命令,取消使用者指派的受控識別與「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」執行個體的關聯。
# Dissociate user assigned managed identity
resourceGroup=<resource-group>
server=<server>
identity=<identity>
az postgres flexible-server identity remove \
--resource-group $resourceGroup \
--server-name $server \
--identity $identity
如果您嘗試移除用來存取資料加密金鑰的使用者指派受控識別,則會收到以下錯誤:
Cannot remove identity <identity> because it's used for data encryption.
顯示目前指派項目的步驟
使用 Azure 入口網站:
請在入口網站中找出您的伺服器 (如果您未將它開啟)。 其中一種方法是在搜尋列中輸入伺服器的名稱。 顯示具有相符名稱的資源時,請選取該資源。
在資源功能表的 [概觀] 底下,選取 [JSON 檢視]。
在開啟的 [資源 JSON] 面板中,尋找 [身分識別] 屬性,並在其中您可以找到 userAssignedIdentities。 該物件是由一或多個索引鍵/值對所組成,其中每個索引鍵代表一個使用者指派受控識別的資源識別碼,而其對應的值由與該受控識別相關聯的 principalId 和 clientId 所組成。
# List all associated user assigned managed identities
resourceGroup=<resource-group>
server=<server>
az postgres flexible-server identity list \
--resource-group $resourceGroup \
--server-name $server \
--query "userAssignedIdentities"
相關內容