共用方式為


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

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

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

使用 Microsoft Entra ID 的優點包括:

  • 以統一的方式驗證跨 Azure 服務的使用者。
  • 在單一位置管理密碼原則和密碼輪替。
  • 支持多種形式的驗證,這可以消除儲存密碼的需求。
  • 客戶使用外部 (Microsoft Entra ID) 群組來管理資料庫許可權的能力。
  • 使用 PostgreSQL 資料庫角色在資料庫層級驗證身分識別。
  • 支援連線到 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器之應用程式的令牌型驗證。

Microsoft部署選項之間的專案標識碼功能和功能比較

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

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

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

Microsoft Entra 識別碼在 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器的運作方式

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

驗證流程

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

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 資料庫 彈性伺服器中 Entra 系統管理員的完整功能Microsoft。 這是單一伺服器 適用於 PostgreSQL 的 Azure 資料庫的限制。

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

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

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

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

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

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

其他考量

  • 如果您想要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 識別符中刪除Microsoft Entra 主體,它會維持為 PostgreSQL 角色,但無法再取得新的存取令牌。 在此情況下,雖然比對角色仍然存在於資料庫中,但無法向伺服器進行驗證。 資料庫管理員必須手動轉移擁有權並卸除角色。

    注意

    已刪除Microsoft Entra 使用者仍然可以登入,直到令牌到期(從令牌發行最多 60 分鐘)。 如果您也從 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器中移除使用者,則會立即撤銷此存取權。

  • 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器會使用使用者的唯一Microsoft Entra 使用者標識符,而不是使用用戶名稱,比對資料庫角色的存取令牌。 如果刪除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 小時有效。

下一步