我可以从 SQL 命令行工具使用 IAM 身份验证连接到 MySQL RDS 数据库。但同样我需要实现与 DBeaver 等 SQL 客户端或其他一些客户端的连接。我没有在 SQL 客户端中提供传递令牌的功能。
本文档解释了如何使用 MySQL workbench/j 连接 RDS,但由于禁止错误,我无法下载 MySQL workbench/j。 https://aws.amazon.com/blogs/database/use-iam-authentication-to-connect-with-sql-workbenchj-to-amazon-aurora-mysql-or-amazon-rds-for-mysql/
有人可以帮助我从 SQL 客户端使用 IAM 身份验证连接 RDS 吗?
事实上,您可以使用 aws rds 命令每次生成一个新令牌,用作密码来验证数据库。但由于您想使用 deaver 来完成此操作,看起来它可用(https://dbeaver.com/docs/wiki/AWS-Credentials/),但仅限企业版(而不是社区版)
创建与主机的默认连接,将用户名留空,并保存配置文件而不输入密码。之后:
export TOKEN="$(aws rds generate-db-auth-token \
--hostname <hostname> \
--port <port> \
--region <region> \
--username <db-user-name>)"
open -a "DBeaver.app" --args -con "driver=mysql|name=<ProfileName>|connect=true|database=<DatabaseName>|password=$TOKEN|create=false"