Amazon Aurora 的数据库身份验证 - Amazon Aurora
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon Aurora 的数据库身份验证

支持多种对数据库用户进行身份验证的方法。

默认情况下,密码身份验证适用于所有数据库集群对于 Aurora MySQL,您还可以添加 IAM 数据库身份验证。对于 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)创建用户,并在 IDENTIFIED BY 子句中指定密码。

所有 RDS 数据库引擎都支持密码身份验证。有关密码身份验证的更多信息,请参阅数据库引擎文档。

使用密码身份验证,数据库可控制和验证用户账户。如果数据库引擎具有强大的密码管理功能,那么可以增强安全性。当您拥有较小的用户社区时,使用密码身份验证可能更易于管理数据库身份验证。因为在这种情况下会生成明文密码,因此与 AWS Secrets Manager 集成可以增强安全性。

有关将 Secrets Manager 与 Amazon Aurora 结合使用的信息,请参阅 AWS Secrets Manager 用户指南 中的创建基本密钥为支持的 Amazon RDS 数据库轮换密钥。有关以编程方式在自定义应用程序中检索密钥的信息,请参阅 AWS Secrets Manager 用户指南 中的 检索密钥值

IAM 数据库身份验证

您可以使用 AWS Identity and Access Management (IAM) 数据库身份验证对您的数据库集群进行身份验证。IAM 数据库身份验证适用于 Aurora MySQL 和 Aurora PostgreSQL。利用此身份验证方法,您在连接到数据库集群时将无需使用密码。而是使用身份验证令牌。

有关 IAM 数据库身份验证的更多信息,包括特定数据库引擎的可用性信息,请参阅 的 IAM 数据库身份验证

Kerberos 身份验证

Amazon Aurora 支持使用 Kerberos 和 Microsoft Active Directory 对数据库用户进行外部身份验证。Kerberos 是一种网络身份验证协议,它使用票证和对称密钥加密,而不再需要通过网络传输密码。Kerberos 已内置到 Active Directory 中,用于在网络资源(如数据库)中对用户进行身份验证。

Amazon Aurora 支持 Kerberos 和 Active Directory,从而为数据库用户提供单一登录和集中身份验证的好处。您可以将用户凭证保存在 Active Directory 中。Active Directory 提供了一个集中位置,以存储和管理多个数据库实例的凭证。

您可以允许数据库用户通过两种方法针对数据库实例进行身份验证。他们可以使用 AWS Directory Service for Microsoft Active Directory(企业版) 或本地 Active Directory 中存储的凭证。

目前,Aurora 支持对 Aurora PostgreSQL 数据库集群进行 Kerberos 身份验证。使用 Kerberos 身份验证,Aurora PostgreSQL 数据库集群支持单向和双向的林信任关系。有关更多信息,请参阅在 Aurora PostgreSQL 中使用 Kerberos 身份验证