共用方式為


Microsoft Entra 驗證搭配適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

適用於:適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

Microsoft Entra 驗證是使用 Microsoft Entra ID 中所定義的身分識別來連線到適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的機制。 透過 Microsoft Entra 驗證,您可以在集中的位置管理資料庫使用者的身分識別和其他 Microsoft 服務,從而簡化權限管理。

使用 Microsoft Entra ID 的優點包括:

  • 以一致的方式跨 Azure 服務來驗證使用者。
  • 在單一位置管理密碼原則和密碼輪替。
  • 支援多種形式的驗證,讓您不需要儲存密碼。
  • 客戶使用外部 (Microsoft Entra ID) 群組來管理資料庫權限的能力。
  • 使用 PostgreSQL 資料庫角色在資料庫層級驗證身分識別。
  • 針對連線到適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的應用程式支援權杖型驗證。

部署選項之間的 Microsoft Entra ID 特性和功能比較

適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的 Microsoft Entra 驗證,包含從適用於 PostgreSQL 的 Azure 資料庫單一伺服器收集的體驗和意見反應。

下表列出適用於 PostgreSQL 的 Azure 資料庫單一伺服器與適用於 PostgreSQL 的 Azure 資料庫彈性伺服器之間 Microsoft Entra ID 特性與功能的高階比較。

特性/功能 適用於 PostgreSQL 的 Azure 資料庫單一伺服器 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器
多個 Microsoft Entra 管理員 No Yes
受控識別 (系統和使用者指派) Partial 完整
受邀的使用者支援 No Yes
關閉密碼驗證的能力 無法使用 可提供服務
服務主體作為群組成員的能力 No Yes
稽核 Microsoft Entra 登入 No Yes
PgBouncer 支援 No Yes

Microsoft Entra ID 如何在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中運作

下列高階圖表摘要說明使用 Microsoft Entra 驗證搭配適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的驗證運作方式。 箭頭表示通訊路徑。

驗證流程

如需設定 Microsoft Entra ID 搭配適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的步驟,請參閱設定並使用 Microsoft Entra ID 登入適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

PostgreSQL 管理員與 Microsoft Entra 管理員之間的差異

當您為彈性伺服器開啟 Microsoft Entra 驗證,並將 Microsoft Entra 主體新增為 Microsoft Entra 管理員時,帳戶:

  • 取得與原始 PostgreSQL 管理員相同的權限。
  • 可以管理伺服器上的其他 Microsoft Entra 角色。

PostgreSQL 管理員只能建立本機密碼型使用者。 但是,Microsoft Entra 管理員有權管理 Microsoft Entra 使用者和本機密碼型使用者。

Microsoft Entra 管理員可以是 Microsoft Entra 使用者、Microsoft Entra 群組、服務主體或受控識別。 以系統管理員身分使用群組帳戶可增強管理性。 它允許在 Microsoft Entra ID 中集中新增和移除群組成員,而不需變更適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體內的使用者或權限。

您可以同時設定多個 Microsoft Entra 管理員。 您可以選擇停用適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體的密碼驗證,以增強稽核和合規性需求。

系統管理員結構

注意

服務主體或受控識別可以在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中做為功能完整的 Microsoft Entra 管理員。 這是適用於 PostgreSQL 的 Azure 資料庫單一伺服器中的限制。

透過 Azure 入口網站、API 或 SQL 建立的 Microsoft Entra 管理員,擁有與您在伺服器佈建期間建立的一般系統管理員使用者相同的權限。 非系統管理員 Microsoft Entra 角色的資料庫權限管理方式與一般角色類似。

透過 Microsoft Entra 身分識別進行連線

Microsoft Entra ID 驗證支援使用 Microsoft Entra ID 身分識別連線到資料庫的下列方法:

  • Microsoft Entra 密碼驗證
  • Microsoft Entra 整合式驗證
  • Microsoft Entra 通用搭配多重要素驗證
  • Active Directory 應用程式的憑證或用戶端密碼
  • 受控識別

針對 Active Directory 進行驗證後,您會擷取權杖。 此權杖是您用來登入的密碼。

若要設定 Microsoft Entra ID 搭配適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的步驟,請遵循設定並使用 Microsoft Entra ID 登入適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器中的步驟。

其他考量

  • 如果您想要 Microsoft Entra 主體在任何部署程序內承擔使用者資料庫的擁有權,請在部署 (Terraform 或 Azure Resource Manager) 模組內新增明確的相依性,以確保在建立任何使用者資料庫之前,先開啟 Microsoft Entra 驗證。

  • 您可以隨時將多個 Microsoft Entra 主體 (使用者、群組、服務主體或受控識別) 設定為適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體的 Microsoft Entra 管理員。

  • 只有 PostgreSQL 的 Microsoft Entra 管理員一開始可以使用 Microsoft Entra 帳戶連線到適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。 Active Directory 系統管理員可以設定後續的 Microsoft Entra 資料庫使用者。

  • 如果從 Microsoft Entra ID 中刪除Microsoft Entra 主體,它會維持為 PostgreSQL 角色,但不再能取得新的存取權杖。 在此情況下,雖然相符的角色仍然存於資料庫中,它無法向伺服器進行驗證。 資料庫管理員必須手動轉移擁有權並卸除角色。

    注意

    在權杖到期之前 (從權杖發出後最多 60 分鐘),刪除的 Microsoft Entra 使用者仍可登入。 如果您也從適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中移除使用者,即會立即撤銷此存取權。

  • 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器會使用使用者的唯一 Microsoft Entra 使用者 ID 來比對資料庫角色的存取權仗,而不是使用使用者名稱。 如果刪除 Microsoft Entra 使用者,並以相同的名稱建立新的使用者,則適用於 PostgreSQL 的 Azure 資料庫彈性伺服器會將其視為不同的使用者。 因此,如果使用者從 Microsoft Entra ID 中刪除,且新增具有相同名稱的新使用者,新使用者將無法與現有的角色連線。

常見問題集

  • 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器有哪些可用的驗證模式?

    適用於 PostgreSQL 的 Azure 資料庫彈性伺服器支援三種驗證模式:僅限 PostgreSQL 驗證、僅限 Microsoft Entra 驗證,以及 PostgreSQL 和 Microsoft Entra 驗證兩者。

  • 我可以在彈性伺服器上設定多個 Microsoft Entra 管理員嗎?

    是。 您可以在彈性伺服器上設定多個 Microsoft Entra 管理員。 在佈建期間,您只能設定單一 Microsoft Entra 管理員。 但是,建立伺服器之後,您可以移至 [驗證] 窗格,視需要設定多個 Microsoft Entra 管理員。

  • Microsoft Entra 管理員是否只是Microsoft Entra 使用者?

    否。 Microsoft Entra 管理員可以是使用者、群組、服務主體或受控識別。

  • Microsoft Entra 管理員是否可以建立本機密碼型使用者?

    Microsoft Entra 管理員有權管理 Microsoft Entra 使用者和本機密碼型使用者。

  • 當我在彈性伺服器上啟用 Microsoft Entra 驗證時,會發生什麼事?

    當您在伺服器層級設定 Microsoft Entra 驗證時,會啟用 PGAadAuth 延伸模組,並重新啟動伺服器。

  • 如何使用 Microsoft Entra 驗證登入?

    您可以使用 psql 或 pgAdmin 之類用戶端工具來登入您的彈性伺服器。 使用您的 Microsoft Entra 使用者識別碼作為使用者名稱,以及您的 Microsoft Entra 權杖作為密碼。

  • 如何產生權杖?

    您可以使用 az login 來產生權杖。 如需詳細資訊,請參閱擷取 Microsoft Entra 存取權杖

  • 群組登入與個別登入之間有何差異?

    以 Microsoft Entra 群組成員身分登入,以及以個別 Microsoft Entra 使用者身分登入的唯一差異在於使用者名稱。 以個別使用者身分登入需要個別 Microsoft Entra 使用者識別碼。 以群組成員身分登入需要群組名稱。 在這兩種情況下,您會使用與密碼相同的個別 Microsoft Entra 權杖。

  • 什麼是權杖存留期?

    使用者權杖有效期最多為 1 小時。 系統指派的受控識別的權杖有效期最多為 24 小時。

下一步