Amazon RDS for MySQL is an open-source relational database management service in the cloud. Through AWS RDS MySQL integration, you will be able to integrate with AWS RDS MySQL:
Database
Table
Role
Prerequisites
If you already have AWS Apono connector:
Make sure the connector's minimum version is 1.5.3.
You can use only one authentication option on the RDS instance at a time.
(MySQL 8.0+) Grant the service account the authority to manage other roles. This enables Apono to create, alter, and drop roles. However, this role does not inherently grant specific database access permissions.
Password Authentication
With password authentication, your database performs all administration of user accounts. You create users with SQL statements such as CREATE USER, with the appropriate clause required by the DB engine for specifying passwords.
mysql -h [Endpoint.Address] -P [Endpoint.Port] -u USER_NAME -p
Create a user for the Apono connector. Replace USER_NAME and PASSWORD with your desired credentials.
CREATE USER 'USER_NAME'@'%' IDENTIFIED BY 'PASSWORD';
Grant the necessary permissions to the user.
GRANT SHOW DATABASES ON *.* TO 'USER_NAME'@'%';
GRANT CREATE USER ON *.* TO 'USER_NAME'@'%';
GRANT UPDATE ON mysql.* TO 'USER_NAME'@'%';
GRANT PROCESS ON *.* TO 'USER_NAME'@'%';
GRANT SELECT ON *.* TO 'USER_NAME'@'%';
SHOW DATABASES Allows the user to view all databases in the RDS instance.
CREATE USER Grants the ability to create new users.
UPDATE Permits updates in the MySQL system database, including user privileges.
PROCESS Allows viewing the server's process list, including all executing queries.
IAM Authentication
You can authenticate to your DB instance using AWS Identity and Access Management (IAM) database authentication. With this authentication method, you don't need to use a password when you connect to a DB instance. Instead, you use an authentication token.
mysql -h [Endpoint.Address] -P [Endpoint.Port] -u USER_NAME -p
Create a user for the Apono connector. Replace USER_NAME with your desired credentials.
CREATE USER USER_NAME IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
Grant the necessary permissions to the user.
GRANT SHOW DATABASES ON *.* TO 'USER_NAME'@'%';
GRANT CREATE USER ON *.* TO 'USER_NAME'@'%';
GRANT UPDATE ON mysql.* TO 'USER_NAME'@'%';
GRANT PROCESS ON *.* TO 'USER_NAME'@'%';
GRANT SELECT ON *.* TO 'USER_NAME'@'%';
SHOW DATABASES Allows the user to view all databases in the RDS instance.
CREATE USER Grants the ability to create new users.
UPDATE Permits updates in the MySQL system database, including user privileges.
PROCESS Allows viewing the server's process list, including all executing queries.
To allow a user or role to connect to your DB instance, create the following IAM policy and attach it to your identity center permissions set or role.
With password authentication, your database performs all administration of user accounts. You create users with SQL statements such as CREATE USER, with the appropriate clause required by the DB engine for specifying passwords.
mysql -h [Endpoint.Address] -P [Endpoint.Port] -u USER_NAME -p
Create a user for the Apono connector. Replace USER_NAME and PASSWORD with your desired credentials.
CREATE USER 'USER_NAME'@'%' IDENTIFIED BY 'PASSWORD';
Grant the necessary permissions to the user.
GRANT SHOW DATABASES ON *.* TO 'USER_NAME'@'%';
GRANT CREATE USER ON *.* TO 'USER_NAME'@'%';
GRANT UPDATE ON mysql.* TO 'USER_NAME'@'%';
GRANT PROCESS ON *.* TO 'USER_NAME'@'%';
GRANT SELECT ON *.* TO 'USER_NAME'@'%';
SHOW DATABASES Allows the user to view all databases in the RDS instance.
CREATE USER Grants the ability to create new users.
UPDATE Permits updates in the MySQL system database, including user privileges.
PROCESS Allows viewing the server's process list, including all executing queries.
IAM Authentication
You can authenticate to your DB instance using AWS Identity and Access Management (IAM) database authentication. With this authentication method, you don't need to use a password when you connect to a DB instance. Instead, you use an authentication token.
mysql -h [Endpoint.Address] -P [Endpoint.Port] -u USER_NAME -p
Create a user for the Apono connector. Replace USER_NAME with your desired credentials.
CREATE USER USER_NAME IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
Grant the necessary permissions to the user.
GRANT SHOW DATABASES ON *.* TO 'USER_NAME'@'%';
GRANT CREATE USER ON *.* TO 'USER_NAME'@'%';
GRANT UPDATE ON mysql.* TO 'USER_NAME'@'%';
GRANT PROCESS ON *.* TO 'USER_NAME'@'%';
GRANT SELECT ON *.* TO 'USER_NAME'@'%';
SHOW DATABASES Allows the user to view all databases in the RDS instance.
CREATE USER Grants the ability to create new users.
UPDATE Permits updates in the MySQL system database, including user privileges.
PROCESS Allows viewing the server's process list, including all executing queries.
To allow a user or role to connect to your DB instance, create the following IAM policy and attach it to your identity center permissions set or role.
With password authentication, your database performs all administration of user accounts. You create users with SQL statements such as CREATE USER, with the appropriate clause required by the DB engine for specifying passwords.
Sign in to the AWS Management Console and open the Amazon RDS console Amazon RDS console , and choose your DB instance.
Copy the following details:
Endpoint: The DNS name of the DB instance.
Port: The port number on which the DB instance accepts connections.
Connect to the DB instance using your SQL client using the copied details.
Create a user for the Apono connector. Replace USER_NAME and PASSWORD with your desired credentials.
CREATE USER 'USER_NAME'@'%' IDENTIFIED BY 'PASSWORD';
Grant the necessary permissions to the user.
GRANT SHOW DATABASES ON *.* TO 'USER_NAME'@'%';
GRANT CREATE USER ON *.* TO 'USER_NAME'@'%';
GRANT UPDATE ON mysql.* TO 'USER_NAME'@'%';
GRANT PROCESS ON *.* TO 'USER_NAME'@'%';
GRANT SELECT ON *.* TO 'USER_NAME'@'%';
SHOW DATABASES Allows the user to view all databases in the RDS instance.
CREATE USER Grants the ability to create new users.
UPDATE Permits updates in the MySQL system database, including user privileges.
PROCESS Allows viewing the server's process list, including all executing queries.
IAM Authentication
You can authenticate to your DB instance using AWS Identity and Access Management (IAM) database authentication. With this authentication method, you don't need to use a password when you connect to a DB instance. Instead, you use an authentication token.
Make sure that the DB instance is compatible with IAM authentication. Check the compatibility requirements in Region and version availability.
4. Choose Modify.
5. In the Database authentication section, choose Password and IAM database authentication to enable IAM database authentication. Choose Password authentication or Password and Kerberos authentication to disable IAM authentication.
6. Choose Continue.
7. To apply the changes immediately, choose Immediately in the Scheduling of modifications section.
8. Choose Modify DB instance.
2. Copy the following RDS SQL details: * Endpoint: The DNS name of the DB instance. * Port: The port number on which the DB instance accepts connections. 3. Connect to the DB instance using your SQL client using the copied details. 4. Create a user for the Apono connector. Replace USER_NAME with your desired credentials.
CREATE USER USER_NAME IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
Grant the necessary permissions to the user.
GRANT SHOW DATABASES ON *.* TO 'USER_NAME'@'%';
GRANT CREATE USER ON *.* TO 'USER_NAME'@'%';
GRANT UPDATE ON mysql.* TO 'USER_NAME'@'%';
GRANT PROCESS ON *.* TO 'USER_NAME'@'%';
GRANT SELECT ON *.* TO 'USER_NAME'@'%';
SHOW DATABASES Allows the user to view all databases in the RDS instance.
CREATE USER Grants the ability to create new users.
UPDATE Permits updates in the MySQL system database, including user privileges.
PROCESS Allows viewing the server's process list, including all executing queries.
To allow a user or role to connect to your DB instance, create the following IAM policy and attach it to your identity center permissions set or role.
When using IAM authentication, **a secret does not need to be created**. The service account and its permissions are managed through IAM roles and policies. The service account is used to authenticate the MySQL instance instead of a secret.
For the AWS RDS MySQL integration, use the following secret format:
username:<The database username>password:<The user password>\
(Optional) In Get more with Apono step, you can set up the following:
Setting
Description
Credential Rotation
User cleanup after access is revoked (in days)
(Optional) Defines the number of days after access has been revoked that the user should be deleted
Custom Access Details
(Optional) Instructions explaining how to access this integration's resources
Upon accessing an integration, a message with these instructions will be displayed to end users in the User Portal. The message may include up to 400 characters.
To view the message as it appears to end users, click Preview.
Integration Owner
From the Attribute dropdown menu, select User or Group under the relevant identity provider (IdP) platform.
From the Value dropdown menu, select one or multiple users or groups.
NOTE: When Resource Owner is defined, an Integration Owner must be defined.
Resource Owner
Enter a Key name. This value is the name of the tag created in your cloud environment.
From the Attribute dropdown menu, select an attribute under the IdP platform to which the key name is associated.
Apono will use the value associated with the key (tag) to identify the resource owner. When you update the membership of the group or role in your IdP platform, this change is also reflected in Apono.
NOTE: When this setting is defined, an Integration Owner must also be defined.
Next Steps
(Optional) Number of days after which the database credentials must be rotated
Learn more about the .
Learn more about .
(Optional) Fallback approver if no is found
Follow these steps to define one or several integration owners:
(Optional) Group or role responsible for managing access approvals or rejections for the resource
Follow these steps to define one or several :