本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對 Aurora MySQL 使用 Kerberos 身分驗證
您可以使用 Kerberos 身分驗證來在使用者連線到您的 Aurora MySQL 資料庫叢集時對其進行身分驗證。若要這麼做,請將資料庫叢集設定為使用 AWS Directory Service for Microsoft Active Directory 進行 Kerberos 身分驗證。AWS Directory Service for Microsoft Active Directory 也被稱為 AWS Managed Microsoft AD。其是一個可與 AWS Directory Service 搭配使用的功能。如需進一步了解,請參閱《AWS Directory Service 管理指南》中的什麼是 AWS Directory Service?。
請先建立 AWS Managed Microsoft AD 目錄來存放使用者登入資料。然後,將 Active Directory 網域和其他資訊提供給 Aurora MySQL 資料庫叢集。當使用者向 Aurora MySQL 資料庫叢集進行驗證時,身分驗證請求會轉送到 AWS Managed Microsoft AD 目錄。
將您的所有登入資料保留在相同目錄可以節省您的時間和精力。透過這種方式,這樣您就有一個集中的位置來存放及管理多個資料庫叢集的登入資料。使用目錄也可以改善您的整體安全性描述檔。
除此之外,您也可以從自己的內部部署 Microsoft Active Directory 存取登入資料。若要執行這項操作,請建立信任網域關聯,讓 AWS Managed Microsoft AD 目錄信任您的內部部署 Microsoft Active Directory。如此一來 ,使用者就可以透過在存取您內部部署網路的工作負載時的相同 Windows 單一登入 (SSO) 體驗,來存取 Aurora MySQL 資料庫叢集。
資料庫可以使用 Kerberos、AWS Identity and Access Management (IAM),或同時使用 Kerberos 和 IAM 身分驗證。不過,因為 Kerberos 和 IAM 身分驗證提供了不同的身分驗證方法,所以特定使用者只能使用一種或其他身分驗證方法登入資料庫,但不能同時使用兩者。如需 IAM 身分驗證的詳細資訊,請參閱 IAM 資料庫身分驗證。
內容
Aurora MySQL 資料庫叢集的 Kerberos 身分驗證概觀
若要設定 Aurora MySQL 資料庫叢集的 Kerberos 身分驗證,請完成下列一般步驟。稍後會提供這些步驟的詳細說明。
-
使用 AWS Managed Microsoft AD 來建立 AWS Managed Microsoft AD 目錄。您可以使用 AWS Management Console、AWS CLI 或 AWS Directory Service 來建立目錄。如需更多說明,請參閱《AWS Directory Service 管理指南》中的建立您的 AWS Managed Microsoft AD 目錄。
-
建立使用受管 IAM 政策
AmazonRDSDirectoryServiceAccess
的 AWS Identity and Access Management (IAM) 角色。該角色允許 Amazon Aurora 對您的目錄進行呼叫。針對可允許存取權的角色,必須在 AWS 區域 中啟用您 AWS 帳戶的 AWS Security Token Service (AWS STS) 端點。AWS STS 端點在所有 AWS 區域 中預設為啟用,您無須採取任何進一步的動作就可以使用這些端點。如需詳細資訊,請參閱《IAM 使用者指南》中的在 AWS 區域 中啟用與停用 AWS STS。
-
使用 Microsoft Active Directory 工具,在 AWS Managed Microsoft AD 目錄中建立和設定使用者。如需在 Active Directory 建立使用者的詳細資訊,請參閱《AWS 管理指南》中的管理 AWS Directory Service 受管 Microsoft AD 中的使用者和群組。
-
建立或修改 Aurora MySQL 資料庫叢集。如果您在建立請求中使用 CLI 或 RDS API,請使用
Domain
參數指定網域識別符。使用您在建立目錄時產生的d-*
識別符,以及您建立的 IAM 角色名稱。如果您修改了現有的 Aurora MySQL 資料庫叢集以使用 Kerberos 身分驗證,將設定資料庫叢集的網域和 IAM 角色參數。在與網域目錄相同的 VPC 中尋找資料庫叢集。
-
使用 Amazon RDS 主要使用者登入資料來連線到 Aurora MySQL 資料庫叢集。使用 步驟 6:建立使用 Kerberos 身分驗證的 Aurora MySQL 使用者 中的指示,在 Aurora MySQL 中建立資料庫使用者。
您透過這種方式建立的使用者可以使用 Kerberos 身分驗證登入 Aurora MySQL 資料庫叢集。如需更多詳細資訊,請參閱 使用 Kerberos 身分驗證連線至 Aurora MySQL。
若要使用內部部署或自行託管的 Microsoft Active Directory 來使用 Kerberos 身分驗證,請建立樹系信任。樹系信任是兩個網域群組之間的信任關係。信任可以是單向或雙向。如需使用 AWS Directory Service 設定樹系信任的詳細資訊,請參閱《AWS Directory Service 管理指南》中的何時建立信任關係。
Aurora MySQL 的 Kerberos 身分驗證限制
下列限制適用於 Aurora MySQL 的 Kerberos 身分驗證:
-
Aurora MySQL 的 3.03 及更高版本支援 Kerberos 身分驗證。
如需 AWS 區域 支援的相關資訊,請參閱 使用 Aurora 我的 Kerberos 身份驗證 SQL。
-
若要搭配使用 Kerberos 身分驗證與 Aurora MySQL,您的 MySQL 用戶端或連接器必須在 Unix 平台上使用 8.0.26 或更高版本,在 Windows 上使用 8.0.27 或更高版本。否則,用戶端
authentication_kerberos_client
外掛程式將不可用,您便無法進行身分驗證。 -
Aurora MySQL 僅支援 AWS Managed Microsoft AD。不過,您可以將 Aurora MySQL 資料庫叢集加入至相同 AWS 區域 中,不同帳戶所擁有的共用受管 Microsoft AD 網域。
您也可以使用您自己的內部部署 Active Directory。如需詳細資訊,請參閱 步驟 2:(選擇性) 為內部部署 Active Directory 建立信任
-
使用 Kerberos 驗證從 MySQL 用戶端或 Windows 作業系統上驅動程式連線至 Aurora MySQL 叢集的使用者時,資料庫使用者名稱的字元大小寫預設必須與 Active Directory 中的使用者大小寫相符。例如,若 Active Directory 中的使用者顯示為
Admin
,則資料庫使用者名稱必須為Admin
。不過,您現在可以搭配
authentication_kerberos
外掛程式使用不區分大小寫的使用者名稱比較。如需更多詳細資訊,請參閱 步驟 8:(選用) 設定不區分大小寫的使用者名稱比較。 -
開啟此功能後,您必須重新啟動讀取器資料庫執行個體才能安裝
authentication_kerberos
外掛程式。 -
不支援
authentication_kerberos
外掛程式的資料庫執行個體複寫可能會導致複寫失敗。 -
若要讓 Aurora 全域資料庫使用 Kerberos 身分驗證,您必須為全域資料庫中的每個資料庫叢集進行設定。
-
網域名稱必須少於 62 個字元。
-
開啟 Kerberos 身分驗證後,請勿修改資料庫叢集連接埠。若您修改連接埠,Kerberos 身分驗證會無法運作。