本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-TroubleshootRDSIAMAuthentication
描述
AWSSupport-TroubleshootRDSIAMAuthentication
这有助于排除适用于 Postgre 的亚马逊、我的亚马逊RDSSQL、MariaDB RDS 的亚马逊SQL、亚马逊 A RDS urora SQL Postgre 和亚马逊 Aurora My 实例的 AWS Identity and Access Management (IAM) 身份验证。SQL使用此运行手册验证使用亚马逊RDS实例或 Aurora 集群进行IAM身份验证所需的配置。它还提供了纠正与亚马逊RDS实例或 Aurora 集群的连接问题的步骤。
重要
本运行手册不支持亚马逊RDS版甲骨文版或亚马逊版RDS微软SQL服务器。
重要
如果提供了源 Amazon EC2 实例,而目标数据库是 AmazonRDS,则会调用子AWSSupport-TroubleshootConnectivityToRDS
级自动化来排除TCP连接故障。输出还提供了可在您的 Amazon EC2 实例或源计算机上运行的命令,以便使用IAM身份验证连接到 Amazon RDS 实例。
如何工作?
本运行手册包含六个步骤:
-
步骤 1validateInputs:验证自动化的输入。
-
步骤 2 branchOnSourceEC2Provided:验证输入参数中是否提供了源 Amazon EC2 实例 ID。
-
步骤 3validateRDSConnectivity:验证来自源亚马逊EC2实例(如果提供)的亚马逊RDS连接。
-
步骤 4validateRDSIAMAuthentication:验证IAM身份验证功能是否已启用。
-
步骤 5validateIAMPolicies:验证所提供的IAM用户/角色中是否存在所需的IAM权限。
-
步骤 6generateReport:生成先前执行步骤的结果报告。
文档类型
自动化
所有者
Amazon
平台
Linux
参数
-
AutomationAssumeRole
类型:字符串
描述:(可选)允许 Systems ARN Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 ()。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。
-
RDSType
类型:字符串
描述:(必填):选择要连接并进行身份验证的关系数据库的类型。
允许的值:
Amazon RDS
或Amazon Aurora Cluster.
-
DBInstanceIdentifier
类型:字符串
描述:(必填)目标 Amazon RDS 数据库实例或 Aurora 数据库集群的标识符。
允许的模式:
^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$
最大字符数:63
-
SourceEc2 InstanceIdentifier
类型:
AWS::EC2::Instance::Id
描述:(可选)如果您从在同一账户和地区运行的亚马逊实例连接到亚马逊RDS数据库EC2实例,则为亚马逊实例 ID。EC2如果源不是亚马逊EC2实例,或者目标亚马逊RDS类型是 Aurora 数据库集群,则不要指定此参数。
默认:
""
-
DBIAMRoleName
类型:字符串
描述:(可选)用于IAM基于身份验证的IAM角色名称。仅在未提供参数
DBIAMUserName
时提供,否则将其留空。DBIAMUserName
必须提供DBIAMRoleName
或。允许的模式:
^[a-zA-Z0-9+=,.@_-]{1,64}$|^$
最大字符数:64
默认:
""
-
DBIAMUserName
类型:字符串
描述:(可选)用于IAM基于身份验证的IAM用户名。仅在未提供
DBIAMRoleName
参数时提供,否则将其留空。DBIAMUserName
必须提供DBIAMRoleName
或。允许的模式:
^[a-zA-Z0-9+=,.@_-]{1,64}$|^$
最大字符数:64
默认:
""
-
DBUserName
类型:字符串
描述:(可选)映射到IAM角色/用户的数据库用户名,以便在数据库中进行IAM基于身份验证。默认选项用于
*
评估是否允许数据库中的所有用户拥有该rds-db:connect
权限。允许的模式:
^[a-zA-Z0-9+=,.@*_-]{1,64}$
最大字符数:64
默认:
*
所需IAM权限
AutomationAssumeRole
参数需要执行以下操作才能成功使用运行手册。
-
ec2:DescribeInstances
-
ec2:DescribeNetworkAcls
-
ec2:DescribeRouteTables
-
ec2:DescribeSecurityGroups
-
ec2:DescribeSubnets
-
iam:GetPolicy
-
iam:GetRole
-
iam:GetUser
-
iam:ListAttachedRolePolicies
-
iam:ListAttachedUserPolicies
-
iam:ListRolePolicies
-
iam:ListUserPolicies
-
iam:SimulatePrincipalPolicy
-
rds:DescribeDBClusters
-
rds:DescribeDBInstances
-
ssm:DescribeAutomationStepExecutions
-
ssm:GetAutomationExecution
-
ssm:StartAutomationExecution
说明
-
导航到 AWS Systems Manager 控制台roubleshootRDSIAMAuthentication中的 AWSSupport-T
。 -
选择 Execute automation(执行自动化)
-
要输入参数,请输入内容:
-
AutomationAssumeRole(可选):
() 角色的亚马逊资源名称 (ARN), AWS Identity and Access Management 允许 Systems Manager Automation 代表您执行操作。IAM如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。
-
RDSType(必填):
选择您RDS要连接并进行身份验证的 Amazon 类型。从两个允许的值中进行选择:
Amazon RDS
或Amazon Aurora Cluster.
-
DBInstanceIdentifier(必填):
输入您尝试连接的目标 Amazon RDS 数据库实例或 Aurora 集群的标识符,并使用IAM证书进行身份验证。
-
SourceEc2InstanceIdentifier(可选):
如果您要从同一账户和地区的亚马逊EC2实例连接到亚马逊RDS数据库实EC2例,请提供亚马逊实例 ID。如果来源不是亚马逊,EC2或者目标亚马逊RDS类型是 Aurora 集群,则留空。
-
DBIAMRoleName(可选):
输入用于IAM基于身份验证的IAM角色名称。仅在未提供
DBIAMUserName
时提供;否则,请留空。DBIAMUserName
必须提供DBIAMRoleName
或。 -
DBIAMUserName(可选):
输入用于IAM基于身份验证的IAM用户。仅
DBIAMRoleName
在未提供时提供,否则留空。DBIAMUserName
必须提供DBIAMRoleName
或。 -
DBUserName(可选):
输入映射到IAM角色/用户的数据库用户,以便在数据库中进行IAM基于身份验证。默认选项
*
用于评估;此字段中未提供任何内容。
-
-
选择执行。
-
请注意,自动化已启动。
-
文档将执行以下步骤:
-
步骤 1:validateInputs:
验证自动化的输入-
SourceEC2InstanceIdentifier
(可选)、DBInstanceIdentifier
或ClusterID
、DBIAMRoleName
或DBIAMUserName
。它会验证您输入的输入参数是否存在于您的账户和区域中。它还会验证用户是否输入了其中一个IAM参数(例如,DBIAMRoleName
或DBIAMUserName
)。此外,它还会执行其他验证,例如提及的数据库是否处于 “可用” 状态。 -
第 2 步: branchOnSourceEC2Provided:
验证输入参数中EC2是否提供了 Source Amazon 且数据库是否为 Amazon RDS。如果是,则继续执行步骤 3。否则,它将跳过步骤 3(即亚马逊 EC2-亚马逊RDS连接验证),继续执行步骤 4。
-
第 3 步:validateRDSConnectivity:
如果输入参数中提供了来源 AmazonEC2,而数据库是 AmazonRDS,则步骤 2 将启动步骤 3。在此步骤中,将调用子
AWSSupport-TroubleshootConnectivityToRDS
级自动化来验证来自源亚马逊的亚马逊RDS连接EC2。儿童自动化运行手册AWSSupport-TroubleshootConnectivityToRDS
会验证所需的网络配置(Amazon Virtual Private Cloud [Amazon VPCNACL]、安全组、网络访问控制列表 []、亚马逊RDS可用性)是否已到位,以便您可以从亚马逊EC2实例连接到亚马逊RDS实例。 -
第 4 步:validateRDSIAMAuthentication:
验证是否在 Amazon RDS 实例或 Aurora 集群上启用了IAM身份验证功能。
-
第 5 步:validateIAMPolicies:
验证所传递的IAM用户/角色中是否存在所需的IAM权限,以使指定数据库用户(如果有)的IAM凭证能够在 Amazon RDS 实例中进行身份验证。
-
第 6 步:generateReport:
获取前面步骤中的所有信息,并打印每个步骤的结果或输出。它还列出了使用IAM凭证连接到 Amazon RDS 实例时要参考和执行的步骤。
-
-
自动化完成后,请查看 “输出” 部分以了解详细结果:
-
检查连接IAM数据库的用户/角色权限:
验证所传递的IAM用户/角色中是否存在所需的IAM权限,以使指定数据库用户(如果有)的IAM凭证能够在 Amazon RDS 实例中进行身份验证。
-
IAM基于检查数据库的身份验证属性:
验证是否为指定的 Amazon RDS 数据库/Aurora 集群启用了IAM身份验证功能。
-
检查从亚马逊EC2实例到亚马逊RDS实例的连接:
验证所需的网络配置(亚马逊VPC、安全组NACL、亚马逊RDS可用性)是否已到位,以便您可以从亚马逊EC2实例连接到亚马逊实RDS例。
-
后续步骤:
列出使用IAM凭证连接到 Amazon RDS 实例时要参考和执行的命令和步骤。
-
参考
Systems Manager Automation