gpt4 book ai didi

mysql - 无法通过 mysql CLI 工具使用 IAM 身份验证连接到 RDS 实例

转载 作者:行者123 更新时间:2023-11-29 10:19:29 25 4
gpt4 key购买 nike

这是我迄今为止所完成的工作:

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

但是,创建策略后,我收到以下错误:

enter image description here

我环顾四周,但不知道如何解决这些错误。

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)

看来该问题可能是由于我创建的策略中的错误造成的,但我无法弄清楚。对于这个问题,我希望得到一些建议/帮助。

最佳答案

您需要创建一个数据库用户。 Creating a Database Account并且用户名应该是DB用户,而不是IAM用户

CREATE USER jane_doe IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS'; 

关于mysql - 无法通过 mysql CLI 工具使用 IAM 身份验证连接到 RDS 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49582142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com