Skip to main content

More Info:

IAM Database Authentication feature should be enabled in order to use AWS Identity and Access Management (IAM) service to manage database access to your Amazon RDS MySQL and PostgreSQL instances

Risk Level

Medium

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • Essential 8
  • HITRUST CSF
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIS2 Directive
  • NIST CSF
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • PCI
  • SOC2
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Using Console

To remediate the misconfiguration of IAM DB authentication not being enabled for AWS RDS using the AWS console, follow these steps:
  1. Login to AWS Console: Go to the AWS Management Console and login with your credentials.
  2. Navigate to RDS Service: From the console dashboard, navigate to the RDS service by clicking on the “Services” dropdown and selecting “RDS” under the Database category.
  3. Select the RDS Instance: In the RDS dashboard, select the RDS instance for which you want to enable IAM DB authentication.
  4. Modify the Instance: Click on the instance name to open the instance details. Then, click on the “Modify” button to make changes to the instance settings.
  5. Enable IAM DB Authentication: Scroll down to the “Additional configuration” section in the Modify DB Instance page. Look for the “IAM DB authentication” option and set it to “Enable” by checking the box next to it.
  6. Apply the Changes: Scroll to the bottom of the page and click on the “Continue” button to proceed with modifying the instance.
  7. Review and Apply Changes: Review the changes you are about to make and click on the “Modify DB Instance” button to apply the changes.
  8. Verify IAM DB Authentication: Once the modification is complete, go back to the RDS instance details page and verify that IAM DB authentication is now enabled for the instance.
By following these steps, you have successfully remediated the misconfiguration of IAM DB authentication not being enabled for the AWS RDS instance using the AWS console.

To remediate the misconfiguration of IAM DB authentication not being enabled for an AWS RDS instance using the AWS CLI, follow these steps:
  1. Enable IAM DB Authentication using the AWS CLI:
Replace <your-db-instance-identifier> with the identifier of your RDS instance.
  1. Check the status of IAM DB Authentication:
This command will return true if IAM DB Authentication is successfully enabled.
  1. Verify IAM DB Authentication in AWS Management Console:
    • Go to the AWS Management Console and navigate to the RDS service.
    • Select your RDS instance.
    • In the “Configuration” section, verify that IAM DB Authentication is enabled.
By following these steps, you can successfully remediate the misconfiguration of IAM DB authentication not being enabled for an AWS RDS instance using the AWS CLI.
To enable IAM DB authentication for an AWS RDS instance using Python, you can use the AWS SDK for Python (Boto3). Follow these steps to remediate the misconfiguration:
  1. Install Boto3:
  1. Create a Python script with the following code:
  1. Replace 'us-east-1' with the appropriate region where your RDS instance is located and 'your-db-instance-identifier' with the actual identifier of your RDS instance.
  2. Run the Python script. This will enable IAM DB authentication for the specified RDS instance.
After executing the script, IAM DB authentication should be successfully enabled for your AWS RDS instance.
Enabling iam_database_authentication_enabled = true will cause AWS to reboot the DB instance (brief outage) but does not force Terraform to replace the resource; it will be done in place with a modification and reboot.To verify, terraform plan should show an in-place update on aws_db_instance.THIS_DB with:
  • ~ iam_database_authentication_enabled: false => true

Additional Reading: