Create AWS RDS MySQL DB:
aws rds create-db-instance \
--db-instance-identifier test-mysql-instance \
--db-instance-class db.t3.micro \
--engine mysql \
--master-username admin \
--master-user-password secret99 \
--allocated-storage 20 \
--enable-iam-database-authentication
Create user in DB as follows:
CREATE USER jane_doe IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
Connect to MySQL DB using IAM DB Authentication:
RDSHOST="test-mysql-instance.abcdef123456.us-west-2.rds.amazonaws.com"
TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 3306 --region us-west-2 --username jane_doe )"
mysql --host=$RDSHOST --port=3306 --ssl-ca=[file_path]/global-bundle.pem --enable-cleartext-plugin --user=jane_doe --password=$TOKEN
Link to download certificate:
https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
Note:
IAM DB Authentication works with PostgreSQL and MySQL.
Comments
Post a Comment