id: rds-deletion-protection info: name: RDS Deletion Protection author: princechaddha severity: high description: | Ensure Amazon RDS instances have Deletion Protection enabled to prevent accidental deletions. impact: | Without Deletion Protection, RDS instances can be inadvertently deleted, leading to potential data loss and service disruption. remediation: | Enable Deletion Protection for all Amazon RDS instances via the AWS Management Console or using the AWS CLI. reference: - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html metadata: max-request: 2 tags: cloud,devops,aws,amazon,rds,aws-cloud-config variables: region: "ap-northeast-1" flow: | code(1) for(let DBInstances of iterate(template.instances)){ set("db", DBInstances) code(2) } self-contained: true code: - engine: - sh - bash source: | aws rds describe-db-instances --region $region --output json --query 'DBInstances[*].DBInstanceIdentifier' extractors: - type: json name: instances internal: true json: - '.[]' - engine: - sh - bash source: | aws rds describe-db-instances --region $region --db-instance-identifier $db --query 'DBInstances[*].DeletionProtection' --output json matchers: - type: word words: - 'false' extractors: - type: dsl dsl: - '"RDS Deletion protection feature is not enabled for RDS database instance " + db' # digest: 490a00463044022038daa8448190d837886c059bdc5c6ac4e48af03bf77572125c2465420d62224a02206ee2419a639762e33d52f890714e4e1dcb9aac3b10882d8accbdfc4e3324d67f:922c64590222798bb761d5b6d8e72950