【发布时间】:2018-03-31 13:28:48
【问题描述】:
这是我迄今为止所取得的成就:
1) 我创建了一个属于 AdministratorAccess 组的 AWS IAM 用户。此外,我为该用户创建并附加了一个策略,以允许访问 RDS 实例。政策如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"rds-db:connect"
],
"Resource": [
"arn:aws:rds:<region>:<account id>:<user>:<DB instance resource id>/<DB instance user>"
]
}
]
}
此政策源自 AWS 文档中的一个示例:Creating and Using an IAM Policy for IAM Database Access
但是,在创建策略后,我收到以下错误:
我环顾四周,但不知道如何解决这些错误。
2) 我创建了一个启用了 IAM 数据库身份验证的 RDS 实例。在此之后,我向实例的安全组添加了一条规则,允许我的笔记本电脑连接到数据库实例。
3) 最后,按照“Command Line: AWS CLI and mysql Client”中的说明,我创建了一个脚本,用于从我的笔记本电脑连接到数据库。脚本如下:
#!/bin/bash
USERNAME="<IAM user>"
CERTIFICATE="<full path>/rds-combined-ca-bundle.pem"
RDSHOST="<RDS instance Endpoint>"
TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 3306 --region us-west-2 --username $USERNAME)"
mysql --host=$RDSHOST --port=3306 --ssl-ca=$CERTIFICATE --enable-cleartext-plugin --user=$USERNAME --password=$TOKEN
当我运行脚本时,我收到以下错误:
ERROR 1045 (28000): Access denied for user '<IAM user>'@'c-73-227-21-39.hsd1.ct.comcast.net' (using password: YES)
看来问题可能是由于我创建的策略中的错误,但我无法弄清楚。我将不胜感激有关此问题的一些建议/帮助。
【问题讨论】: