使用 Amazon RDS 進行資料庫身分驗證 - Amazon Relational Database Service

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

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

Amazon RDS 支援多種驗證資料庫使用者的方法。

密碼、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 RDS 的詳細資訊,請參閱AWS Secrets Manager 《 使用者指南》中的為支援的 Amazon RDS 資料庫建立基本秘密和輪換秘密。 https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-rds.html如需以程式設計方式擷取自訂應用程式中的密碼的相關資訊,請參閱 AWS Secrets Manager 使用者指南中的擷取密碼值

IAM 資料庫身分驗證

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

如需 IAM 資料庫身分驗證的詳細資訊,包括特定資料庫引擎可用性的相關資訊,請參閱 適用於 MariaDB、MySQL 和 PostgreSQL 的 IAM 資料庫身分驗證

Kerberos 身分驗證

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

Amazon RDS 支援 Kerberos 和 Active Directory,可為資料庫使用者提供單一登入和集中式身分驗證的優勢。您可以在 Active Directory 中保留您的使用者登入資料。Active Directory 提供集中位置,用於存放和管理多個資料庫執行個體的登入資料。

若要使用自我管理 Active Directory 中的登入資料,您需要設定與加入資料庫執行個體之 AWS Directory Service Microsoft Active Directory 的信任關係。

RDS for PostgreSQL 和 RDS for MySQL 支援使用全樹系身分驗證或選擇性身分驗證的單向和雙向樹系信任關係。

在某些情況下,您可以透過外部信任關係設定 Kerberos 身分驗證。這需要您的自我管理 Active Directory 具有其他設定。這包括但不限於 Kerberos 森林搜尋順序

Microsoft SQL Server 和 PostgreSQL 資料庫執行個體支援單向和雙向樹系信任關係。Oracle 資料庫執行個體支援單向和雙向外部和樹系信任關係。如需詳細資訊,請參閱《AWS Directory Service 管理指南》中的建立信任關係的時機

如需使用特定資料庫引擎進行 Kerberos 身分驗證的相關資訊,請參閱下列內容:

注意

目前,MariaDB 資料庫執行個體不支援 Kerberos 身分驗證。