搭配 Aurora PostgreSQL 使用 Kerberos 身分驗證 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

搭配 Aurora PostgreSQL 使用 Kerberos 身分驗證

在使用者連線至執行 PostgreSQL 的資料庫叢集時,您可以使用 Kerberos 驗證用戶身分。若要這麼做,請將資料庫叢集設定為使用 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 網域和其他資訊提供給 PostgreSQL 資料庫叢集。當使用者向 PostgreSQL 資料庫叢集進行驗證時,身分驗證請求會轉送到 AWS Managed Microsoft AD 目錄。

將您的所有登入資料保留在相同目錄可以節省您的時間和精力。這樣您就有一個集中的位置來存放及管理多個資料庫叢集的登入資料。使用目錄也可以改善您的整體安全性描述檔。

除此之外,您也可以從自己的內部部署 Microsoft Active Directory 存取登入資料。若要執行這項操作,請建立信任網域關聯,讓 AWS Managed Microsoft AD 目錄信任您的內部部署 Microsoft Active Directory。如此一來,使用者就可以透過在存取您內部部署網路的工作負載時的相同 Windows 單一登入 (SSO) 體驗,來存取 PostgreSQL 叢集

資料庫可以使用 Kerberos、AWS Identity and Access Management (IAM),或同時使用 Kerberos 和 IAM 身分驗證。不過,因為 Kerberos 和 IAM 身分驗證提供了不同的身分驗證方法,所以特定資料庫使用者只能使用一種或其他身分驗證方法登入資料庫,但不能同時使用兩者。如需 IAM 身分驗證的詳細資訊,請參閱 IAM 資料庫身分驗證

區域和版本可用性

功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域 而有所不同。如需可與 Kerberos 身分驗證搭配使用之 Aurora PostgreSQL 版本和區域的詳細資訊,請參閱 使用 Aurora PostgreSQL 進行 Kerberos 身分驗證

對 PostgreSQL 資料庫叢集進行 Kerberos 身分驗證的概觀

若要為 PostgreSQL 資料庫叢集設定 Kerberos 身分驗證,請遵循下列步驟,稍後會提供更詳細的說明:

  1. 使用 AWS Managed Microsoft AD 來建立 AWS Managed Microsoft AD 目錄。您可以使用 AWS Management Console、AWS CLI 或 AWS Directory Service API 來建立目錄。請務必開啟目錄安全性群組上的相關輸出連接埠,以便目錄可以與 叢集 通訊。

  2. 建立可提供 Amazon Aurora 存取權以對 AWS Managed Microsoft AD 目錄進行呼叫的角色。若要這麼做,需建立一個使用受管 IAM 政策 AmazonRDSDirectoryServiceAccess 的 AWS Identity and Access Management (IAM) 角色。

    針對可允許存取的 IAM 角色,您需要在 AWS Security Token Service 帳戶的正確 AWS STS 區域中啟用 AWS (AWS) 端點,如此 AWS STS 端點會在所有 AWS 區域 中預設為啟用,接下來無須更進一步的動作,就可以直接使用。如需詳細資訊,請參閱《IAM 使用者指南》中的在 AWS STS 區域內啟用和停用 AWS

  3. 使用 Microsoft Active Directory 工具,在 AWS Managed Microsoft AD 目錄中建立和設定使用者。如需在 Active Directory 建立使用者的詳細資訊,請參閱《AWS 管理指南》中的管理 AWS Directory Service Managed Microsoft AD 中的使用者和群組

  4. 如果您打算在不同 AWS 帳戶或 Virtual Private Cloud (VPC) 中尋找目錄和資料庫執行個體,請設定 VPC 互連。如需詳細資訊,請參閱《Amazon VPC Peering Guide》中的什麼是 VPC 互連?

  5. 使用下列其中一種方法,從主控台、CLI 或 RDS API 建立或修改 PostgreSQL 資料庫叢集

    您可以在與目錄相同的 Amazon Virtual Private Cloud (VPC) 中或在不同的 AWS 帳戶或 VPC 中尋找叢集。當您建立或修改 PostgreSQL 資料庫叢集時,請執行下列動作:

    • 請提供您建立目錄時產生的網域識別符 (d-* 識別符)。

    • 請提供所建立的 IAM 角色名稱。

    • 確保資料庫執行個體安全群組可以從目錄的安全群組接收傳入流量。

  6. 使用 RDS 主要使用者登入資料來連接至 PostgreSQL 資料庫叢集。然後,在 PostgreSQL 中建立要在外部識別的使用者。外部識別的使用者可以使用 Kerberos 身分驗證來登入 PostgreSQL 資料庫叢集