分享方式:


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

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

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

福利

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

使用下列步驟來設定及使用 Microsoft Entra 驗證

  1. 選取您慣用的驗證方法來存取彈性伺服器。 根據預設,選取的驗證會設為僅限 MySQL 驗證。 選取 [僅限 Microsoft Entra 驗證] 或 [MySQL] 和 [Microsoft Entra 驗證],以啟用 Microsoft Entra 驗證。

  2. 選取具有下列授權的使用者受控識別 (UMI) 來設定 Microsoft Entra 驗證:

  3. 新增 Microsoft Entra 管理員。它可以是 Microsoft Entra 使用者或群組,可存取彈性伺服器。

  4. 在對應至 Microsoft Entra 身分識別的資料庫中建立資料庫使用者。

  5. 藉由擷取 Microsoft Entra 身分識別的權杖並登入,連線到您的資料庫。

注意

如需如何使用適用於 MySQL 的 Azure 資料庫彈性伺服器設定 Microsoft Entra 驗證的詳細逐步指示,請參閱了解如何為適用於 MySQL 的 Azure 資料庫彈性伺服器設定 Microsoft Entra 驗證

架構

Microsoft Entra 驗證需要使用者管理的身分識別。 當使用者指派的身分識別連結至彈性伺服器時,受控識別資源提供者 (MSRP) 會在內部向該身分識別核發憑證。 刪除受控識別後,對應的服務主體也會自動移除。

服務會接著使用受控識別來要求存取權杖,以存取支援 Microsoft Entra 驗證的服務。 Azure 資料庫目前僅支援適用於 MySQL 的 Azure 資料庫彈性伺服器的使用者指派的受控識別 (UMI)。 如需詳細資訊,請參閱 Azure 中的受控識別類型

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

如何使用 Microsoft Entra 驗證的圖表。

  1. 您的應用程式可以向 Azure 執行個體中繼資料服務識別端點要求權杖。
  2. 使用用戶端識別碼和憑證時,會呼叫 Microsoft Entra ID 以要求存取權杖。
  3. Microsoft Entra ID 會傳回 JSON Web 權杖 (JWT) 存取權杖。 您的應用程式會在對您的彈性伺服器的呼叫上傳送該存取權杖。
  4. 彈性伺服器會使用 Microsoft Entra ID 來驗證該權杖。

系統管理員結構

使用 Microsoft Entra 驗證時,適用於 MySQL 的 Azure 資料庫彈性伺服器有兩個系統管理員帳戶:原始 MySQL 系統管理員和 Microsoft Entra 系統管理員。

只有以 Microsoft Entra 帳戶為基礎的管理員可以在使用者資料庫中建立第一個 Microsoft Entra ID 自主資料庫使用者。 Microsoft Entra 管理員登入可以是 Microsoft Entra 使用者或 Microsoft Entra 群組。 當管理員是群組帳戶時,其可以供任何群組成員使用,而讓彈性伺服器可以有多個 Microsoft Entra 系統管理員。 以管理員的身分使用群組帳戶,可讓您集中新增和移除 Microsoft Entra ID 中的群組成員,而不需要變更彈性伺服器中的使用者或權限,藉以增強管理性。 一次只能設定一個 Microsoft Entra 管理員 (使用者或群組)。

Microsoft Entra 管理員結構的圖表。

可供存取彈性伺服器的驗證方法包括:

  • 僅限 MySQL 驗證 - 這是預設選項。 只有擁有 MySQL 登入和密碼的原生 MySQL 驗證,才能用來存取彈性伺服器。

  • 僅限 Microsoft Entra 驗證 - MySQL 原生驗證已停用,且使用者只能使用其 Microsoft Entra 使用者和權杖進行驗證。 若要啟用此模式,伺服器參數 aad_auth_only 會設為 ON

  • 使用 MySQL 和 Microsoft Entra ID 進行驗證 - 支援原生 MySQL 驗證和 Microsoft Entra 驗證。 若要啟用此模式,伺服器參數 aad_auth_only 會設為 OFF

權限

需要下列權限,才能允許 UMI 以伺服器身分識別身分從 Microsoft Graph 讀取。 或者,為使用者指派的受控識別 提供目錄讀取者 角色。

重要

只有至少 具有特殊許可權角色管理員 角色的使用者才能授與這些許可權。

如需如何授與及使用權限的指引,請參閱 Microsoft Graph 權限的概觀

將權限授與 UMI 後,就會對將 UMI 指派為伺服器身分識別所建立的所有伺服器啟用這些權限。

權杖驗證

適用於 MySQL 的 Azure 資料庫彈性伺服器中的 Microsoft Entra 驗證可確保使用者存在於 MySQL 伺服器中,並藉由驗證權杖的內容來檢查權杖的有效性。 會執行以下權杖驗證步驟:

  • 權杖是由 Microsoft Entra ID 簽署,且尚未遭到竄改。
  • 權杖是由 Microsoft Entra ID 針對與伺服器相關聯的租用戶核發。
  • 權杖尚未過期。
  • 權杖用於彈性伺服器資源 (而不是另一個 Azure 資源)。

使用 Microsoft Entra 身分識別進行連線

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

  • Microsoft Entra 密碼
  • 已與 Microsoft Entra 整合
  • Microsoft Entra Universal 搭配 MFA
  • 使用 Active Directory 應用程式的憑證或用戶端密碼
  • 受控識別

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

注意

只有 Microsoft Entra 使用者角色才支援該管理作業 (例如新增使用者)。

注意

如需如何使用 Active Directory 權杖來連線的詳細資訊,請參閱針對適用於 MySQL 的 Azure 資料庫 - 彈性伺服器使用 Microsoft Entra ID 來設定和登入

其他考量

  • 您隨時只能為每個彈性伺服器設定一個 Microsoft Entra 系統管理員。

  • 一開始只有 MySQL 的 Microsoft Entra 系統管理員可以使用 Microsoft Entra 帳戶連線到彈性伺服器。 Active Directory 管理員可以設定後續的 Microsoft Entra 資料庫使用者或 Microsoft Entra 群組。 當管理員是群組帳戶時,其可以供任何群組成員使用,而讓彈性伺服器可以有多個 Microsoft Entra 系統管理員。 以系統管理員的身分使用群組帳戶,可讓您集中新增和移除 Microsoft Entra ID 中的群組成員,而不需要變更彈性伺服器中的使用者或權限,藉以增強管理性。

  • 如果將使用者從 Microsoft Entra ID 中刪除,該使用者就不再能使用 Microsoft Entra ID 進行驗證。 因此,不再能取得該使用者的存取權杖。 雖然相符的使用者仍在資料庫中,但不能使用該使用者連線到伺服器。

注意

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

  • 如果已從伺服器中移除 Microsoft Entra 管理員,伺服器將不再與 Microsoft Entra 租用戶相關聯,因此會停用伺服器的所有 Microsoft Entra 登入。 從相同的租用戶新增新的 Microsoft Entra 管理員,將會重新啟用 Microsoft Entra 登入。

  • 彈性伺服器會使用使用者的唯一 Microsoft Entra 使用者識別碼,而不是使用者名稱,將存取權杖與適用於 MySQL 的 Azure 資料庫彈性伺服器使用者比對。 這表示,如果在 Microsoft Entra ID 中刪除 Microsoft Entra 使用者,且以相同名稱建立新使用者,彈性伺服器就會將它視為不同的使用者。 因此,如果從 Microsoft Entra ID 中刪除使用者,然後以相同名稱新增新的使用者,則新使用者將無法與現有使用者連線。

注意

已啟用 Microsoft Entra 驗證的彈性伺服器的訂用帳戶無法傳輸到另一個租用戶或目錄。

下一步