使用 Amazon Aurora 進行資料庫身分驗證 - Amazon Aurora

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

使用 Amazon Aurora 進行資料庫身分驗證

Amazon Aurora 支援驗證資料庫使用者的數種方式。

預設情況下,所有資料庫叢集都可以使用密碼身分驗證。對於 Aurora MySQL 和 Aurora PostgreSQL,您也可以為相同的資料庫叢集新增 IAM 資料庫身分驗證和 Kerberos 身分驗證。

密碼、Kerberos 和 IAM 資料庫身分驗證會對資料庫使用不同的身分驗證方法。因此,特定使用者只能使用一種身分驗證方法登入資料庫。

對於 PostgreSQL,請僅針對特定資料庫的使用者使用下列其中一個角色設定:

  • 若要使用 IAM 資料庫身分驗證,請將 rds_iam 角色指派給使用者。

  • 若要使用 Kerberos 身分驗證,請將 rds_ad 角色指派給使用者。

  • 若要使用密碼身分驗證,請勿指派 rds_iamrds_ad 角色給使用者。

不要同時將 rds_iamrds_ad 角色指派給 PostgreSQL 資料庫的使用者,無論是直接或間接透過巢狀授權存取。如果 rds_iam 角色新增至主要使用者,則 IAM 身分驗證優先於密碼身分驗證,因此主要使用者必須以 IAM 使用者身分登入。

重要

我們強烈建議您不要直接在您的應用程式中使用主要使用者。而是遵循最佳實務,使用以應用程式所需的最低權限建立的資料庫使用者。

密碼身分驗證

使用密碼身分驗證,您的資料庫會執行使用者帳戶的所有管理。您可以使用 SQL 陳述式 (例如 CREATE USER) 搭配資料庫引擎指定密碼所需的適當子句,來建立使用者。例如,在 MySQL 中,陳述式為 CREATE USER name IDENTIFIED BY password,而在 PostgreSQL 中,陳述式為 CREATE USER name WITH PASSWORD password

透過密碼身分驗證,您的資料庫可控制並驗證使用者帳戶。如果資料庫引擎具有強大的密碼管理功能,它們可以增強安全性。當您擁有較小的使用者社群時,使用密碼身分驗證來管理資料庫身分驗證可能會更容易。由於在此情況下會產生純文字密碼,因此整合 AWS Secrets Manager 可增強安全性。

如需有關將 Secrets Manager 與 Amazon Aurora 搭配使用的詳細資訊,請參閱 AWS Secrets Manager 使用者指南中的建立基本密碼輪換支援 Amazon RDS 資料庫的密碼。如需以程式設計方式擷取自訂應用程式中的密碼的相關資訊,請參閱 AWS Secrets Manager 使用者指南中的擷取密碼值

IAM 資料庫身分驗證

您可以使用 AWS Identity and Access Management (IAM) 資料庫身份驗證向資料庫叢集進行驗證。透過此身分驗證方法,您連線至資料庫叢集時不需要使用密碼。而是改用身分驗證字符。

如需有關 IAM 資料庫身分驗證的詳細資訊,包括特定資料庫引擎可用性的相關資訊,請參閱 IAM 資料庫身分驗證

Kerberos 身分驗證

Amazon Aurora 支援透過 Kerberos 和 Microsoft Active Directory 對資料庫使用者進行外部身分驗證。Kerberos 是網路身分驗證通訊協定,使用票證和對稱式金鑰加密技術,免除透過網路傳輸密碼的需要。Kerberos 已內建至 Active Directory,旨在驗證網路資源 (例如資料庫) 的使用者身分。

Amazon Aurora 對 Kerberos 和 Active Directory 的支援,提供了資料庫使用者的單一登入和集中式身分驗證優點。您可以在 Active Directory 中保留您的使用者登入資料。Active Directory 提供集中位置存放及管理多個資料庫叢集的登入資料。

啟用資料庫使用者針對資料庫叢集進行身份認證,您可以有兩種方式。他們可以使用儲存在內部部署 Active Directory 中 AWS Directory Service for Microsoft Active Directory 或內部部署中的認證。

Aurora PostgreSQL 不支援樹系信任中的選擇性驗證類型,只支援整個樹系驗證。

Aurora 支援適用於 Aurora MySQL 和 Aurora PostgreSQL 資料庫叢集的 Kerberos 身分驗證。如需詳細了解 Aurora MySQL 的 Kerberos 身分驗證,請參閱 針對 Aurora MySQL 使用 Kerberos 身分驗證

透過 Kerberos 身分驗證,Aurora PostgreSQL 資料庫叢集支援單向和雙向的樹系信任關係。如需詳細資訊,請參閱 搭配 Aurora PostgreSQL 使用 Kerberos 身分驗證