Here's a concise summary of the key aspects covered in the lecture on RDS and Aurora Security, simplified for better understanding:
Data Encryption
- At-rest Encryption:
- Data on RDS and Aurora databases can be encrypted at rest, which means the data stored on the database volumes is encrypted.
- Encryption uses AWS Key Management Service (KMS) for both the master database and any replicas.
- Encryption must be enabled at the database's initial launch.
- To encrypt an existing unencrypted database, you must create a snapshot of the database and then restore from this snapshot as an encrypted database.
- In-flight Encryption:
- Encryption for data in transit (in-flight) between the clients and the database is supported by default.
- Clients need to use TLS (Transport Layer Security) and AWS-provided TLS root certificates for secure connections.
Database Authentication
- Traditional username and password authentication is supported.
- Integration with AWS IAM (Identity and Access Management) allows using IAM roles for authentication, enhancing security and simplifying credential management.
- Security groups are utilized to control access to the database, allowing you to specify allowable ports, IP addresses, and other security groups.
Service Management and Logging
- RDS and Aurora, being managed services, do not provide SSH access to databases, except for the RDS Custom service which is an exception.
- Audit logs can be enabled to track database queries and activities over time. However, these logs are not retained indefinitely.
- For long-term storage of audit logs, it is recommended to integrate with AWS CloudWatch Logs service.
This summary encapsulates the main points on security practices for RDS and Aurora databases, covering data encryption, authentication methods, access control, and logging.