Skip to content

CCM-9037: add internal s3 bucket#349

Merged
harrim91 merged 13 commits intomainfrom
feature/CCM-9037_internal-bucket
Mar 18, 2025
Merged

CCM-9037: add internal s3 bucket#349
harrim91 merged 13 commits intomainfrom
feature/CCM-9037_internal-bucket

Conversation

@harrim91
Copy link
Contributor

@harrim91 harrim91 commented Mar 13, 2025

Description

Adds internal and quarantine s3 buckets for virus-scan / validation process

Also re-works KMS key usage on sandbox environments. There is now an account level KMS that can be shared across all sandbox environments. This key is only created in the dev account (see https://github.com/NHSDigital/nhs-notify-internal/pull/238). The DynamoDB table and S3 buckets in sandbox environments use this shared key.

In regular environments, the s3 buckets use the app level kms key, and the DynamoDB tables use the inline DynamoDB key.

It turns out that DynamoDB supports switching KMS keys without need to recreating a table, or for any manual data migration steps. https://aws.amazon.com/about-aws/whats-new/2019/02/amazon-dynamodb-adds-support-for-switching-encryption-keys-to-encrypt-your-data-at-rest/

Will create another ticket to switch the DynamoDB keys used in static environments.

Context

s3 buckets used by multiple processes. Adding basic buckets separately allows other tickets to progress in parallel.

Type of changes

  • Refactoring (non-breaking change)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would change existing functionality)
  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I am familiar with the contributing guidelines
  • I have followed the code style of the project
  • I have added tests to cover my changes
  • I have updated the documentation accordingly
  • This PR is a result of pair or mob programming

Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

  • I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

@harrim91 harrim91 requested a review from a team as a code owner March 13, 2025 12:37
alexnuttall
alexnuttall previously approved these changes Mar 14, 2025
@harrim91 harrim91 dismissed stale reviews from alexnuttall and chris-elliott-nhsd via 0347b77 March 14, 2025 10:27
ClareJonesBJSS
ClareJonesBJSS previously approved these changes Mar 14, 2025
bhansell1
bhansell1 previously approved these changes Mar 17, 2025
@harrim91 harrim91 dismissed stale reviews from bhansell1 and ClareJonesBJSS via aa9e33f March 18, 2025 10:11
@harrim91 harrim91 merged commit a416c32 into main Mar 18, 2025
29 checks passed
@harrim91 harrim91 deleted the feature/CCM-9037_internal-bucket branch March 18, 2025 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants