IAM数据库身份验证 - 如何使用CLI生成的令牌

R. *_*enn 8 mysql amazon-ec2 amazon-web-services amazon-rds amazon-iam

我正在关注http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html,以便从EC2到RDS进行身份验证.我能够运行generate-db-auth-token命令来检索令牌,但我不知道在那之后该怎么做(指令莫名其妙地结束).

我试过简单地传递反流字符串(以及返回字段的逻辑子字符串)作为mysql客户端连接的密码,但这似乎不起作用..

返回的令牌采用以下格式: {instance identifier}.{region}.rds.amazonaws.com:3306/?Action=connect&DBUser={auth db username}&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&X-Amz-Date=20170622T221608Z&X-Amz-SignedHeaders=host&X-Amz-Security-Token={super long, web-escaped string containing special characters}&X-Amz-Credential={some shorter, web-escaped string containing special characters}&X-Amz-Signature={some long string of alphanumeric characters}

任何帮助是极大的赞赏.

Saf*_*lim 5

我有同样的问题,我使用的是php应用,并尝试使用CLI来确保它在添加代码修改之前可以正常工作。

我找到了这种方式,但仍然遇到“访问被拒绝”的问题,也许对您有用:

$ mysql -u iam_user -h iamtest.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com \
--password =`aws rds generate-db-auth-token --hostname iamtest.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com \
-端口3306 \
--username iam_user \
--region ap-northeast-1` \
--ssl-ca = / Users / hoge / rds-combined-ca-bundle.pem \
--enable-cleartext-plugin

更新: 这现在对我有用,角色策略还有另一个问题。