本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中对 Amazon RDS 终端节点使用 IAM Amazon DMS
Amazon 身份和访问管理 (IAM) 数据库身份验证通过 IA Amazon M 证书管理数据库访问权限,从而增强您的 Amazon RDS 数据库的安全性。IAM 身份验证不是使用传统的数据库密码,而是使用 Amazon 凭证生成短期身份验证令牌,有效期为 15 分钟。这种方法无需在应用程序代码中存储数据库密码,降低了凭证泄露的风险,并通过 IAM 提供集中式访问管理,从而显著提高了安全性。它还通过利用现有的 Amazon IAM 角色和策略来简化访问管理,使您能够使用与其他 Amazon 服务相同的 IAM 框架来控制数据库访问权限。
Amazon DMS 现在,当连接到亚马逊 RDS 上的 MySQL、PostgreSQL、Aurora PostgreSQL、Aurora MySQL、Aurora MySQL、Aurora MySQL 或 MariaDB 终端节点时,支持对运行 DMS 版本 3.6.1 在为这些引擎创建新的端点时,您可以选择 IAM 身份验证并指定 IAM 角色,而不是提供数据库凭证。这种集成无需为迁移任务管理和存储数据库密码,从而增强了安全性。
在中为亚马逊 RDS 终端节点配置 IAM 身份验证 Amazon DMS
在创建端点时,您可以为 Amazon RDS 数据库配置 IAM 身份验证。要配置 IAM 身份验证,请执行以下操作:
-
确保 Amazon RDS 和数据库用户启用了 IAM 身份验证。有关更多信息,请参阅《Amazon Relational Database Service 用户指南》中的启用和禁用 IAM 数据库身份验证。
-
导航到 IAM 控制台,使用以下策略创建 IAM 角色:
策略
信任策略:
在 Amazon DMS 控制台
中配置端点期间,导航到端点数据库的访问权限部分,然后选择 IAM 身份验证。 在 RDS 数据库身份验证的 IAM 角色下拉菜单中,选择具有相应数据库访问权限的 IAM 角色。
有关更多信息,请参阅创建源和目标端点。
-
确保 Amazon RDS 和数据库用户启用了 IAM 身份验证。有关更多信息,请参阅《Amazon Relational Database Service 用户指南》中的启用和禁用 IAM 数据库身份验证。
-
导航到 Amazon CLI,创建 IAM 角色并允许 DMS 代入该角色:
策略:
信任策略:
-
运行以下命令以导入证书并下载 PEM 文件。有关更多信息,请参阅《Amazon Relational Database Service 用户指南》中的下载 Amazon RDS 的证书捆绑包。
aws dms import-certificate --certificate-identifier rdsglobal --certificate-pem file://~/global-bundle.pem -
运行以下命令以创建 IAM 端点:
-
对于 PostgreSQL/Aurora PostgreSQL 端点(设置
sslmode为时required,不需要--certificate-arn标记):aws dms create-endpoint --endpoint-identifier <endpoint-name> --endpoint-type <source/target> --engine-name <postgres/aurora-postgres> --username <db username with iam auth privileges> --server-name <db server name> --port <port number> --ssl-mode <required/verify-ca/verify-full> --postgre-sql-settings "{\"ServiceAccessRoleArn\": \"role arn created from step 2 providing permissions for iam authentication\", \"AuthenticationMethod\": \"iam\", \"DatabaseName\": \"database name\"}" --certificate-arn <if sslmode is verify-ca/verify full use cert arn generated in step 3, otherwise this parameter is not required> -
对于 MySQL、MariaDB 或 Aurora MySQL 端点:
aws dms create-endpoint --endpoint-identifier <endpoint-name> --endpoint-type <source/target> --engine-name <mysql/mariadb/aurora> --username <db username with iam auth privileges> --server-name <db server name> --port <port number> --ssl-mode <verify-ca/verify-full> --my-sql-settings "{\"ServiceAccessRoleArn\": \"role arn created from step 2 providing permissions for iam authentication\", \"AuthenticationMethod\": \"iam\", \"DatabaseName\": \"database name\"}" --certificate-arn <cert arn from previously imported cert in step 3>
-
-
对所需的复制实例运行测试连接以创建实例端点关联,并验证所有设置是否正确:
aws dms test-connection --replication-instance-arn <replication instance arn> --endpoint-arn <endpoint arn from previously created endpoint in step 4>注意
使用 IAM 身份验证时,测试连接中提供的复制实例必须为 3.6.1 或更高 Amazon DMS 版本。
限制
有关 Amazon RDS 数据库的 IAM 数据库身份验证限制的更多信息,请参阅《亚马逊关系数据库服务用户指南》中的 IAM 数据库身份验证限制。