Skip to content

Commit 7493acb

Browse files
authored
Merge pull request #17 from ukhsa-collaboration/feat/add_adr_to_use_cmk_rds
feat: add ADR for using RDS CMK
1 parent 05816d0 commit 7493acb

2 files changed

Lines changed: 35 additions & 1 deletion

File tree

source/documentation/adrs/adr-001-centralised-egress.html.md.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: ADR-001 Centralised egress
44

55
# <%= current_page.data.title %>
66

7-
- Status: Proposed
7+
- Status: Accepted
88
- Date: 2026-02-03
99
- Deciders: OHID Platform Team
1010

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: ADR-002 Use Customer Managed Keys for RDS
3+
---
4+
5+
# <%= current_page.data.title %>
6+
7+
- Status: Accepted
8+
- Date: 2026-02-25
9+
- Deciders: OHID Platform Team
10+
11+
## Context
12+
13+
We current use AWS managed keys to encrypt our RDS databases. This means that AWS manages the encryption keys for us, and we do not have direct control over them.
14+
15+
Using AWS managed keys is a convenient option, but it may not meet our security requirements as we begin to handle more sensitive data.
16+
17+
By using customer managed keys (CMK), we can have more control over the encryption keys and ensure that they are properly secured.
18+
19+
Due to technical limitations of the AWS Backup service, the default AWS managed keys cannot be used to backup RDS clusters. By using customer managed keys, we can ensure that our RDS clusters can be backed up using AWS Backup, which is a critical part of our disaster recovery strategy.
20+
21+
## Decision
22+
23+
We will use customer managed keys (CMK) to encrypt our RDS databases. This will allow us to have more control over the encryption keys and ensure that they are properly secured.
24+
25+
## Alternatives Considered
26+
27+
1. Continue using AWS managed keys: This option would be the easiest to implement, but it may not meet our security requirements as we begin to handle more sensitive data. Additionally, it would not allow us to use AWS Backup for our RDS clusters without additional workarounds.
28+
2. Use a third-party encryption solution: This option would give us more control over the encryption keys, but it would require additional setup and maintenance, and may not integrate well with our existing AWS infrastructure.
29+
3. Not encrypt our RDS databases: This option would be the least secure and is not recommended, as it could leave our data vulnerable to unauthorized access in the event of a security breach.
30+
31+
## Consequences
32+
33+
By using customer managed keys, we will have more control over the encryption keys and ensure that they are properly secured. However, this will require additional setup and maintenance, as we will need to manage the keys ourselves.
34+
Existing clusters will require downtime to switch to using customer managed keys, as the databases will need to be recreated with the new encryption keys.

0 commit comments

Comments
 (0)