Mã hoá database đang vận hành
Một database đã tạo mà chưa mã hoá không thể bật mã hoá trực tiếp; cần một quy trình chuyển dữ liệu sang DB instance mới có mã hoá với downtime ngắn.
Đợt kiểm tra bảo mật phát hiện database đơn hàng chưa được mã hoá. RDS chỉ cho phép bật encryption khi tạo DB instance, không bật được sau khi instance đã tạo. Cách thông dụng là thực hiện thông qua snapshot (blue/green deployment không dùng được cho việc này vì không đổi được DB instance chưa mã hoá thành có mã hoá):
Encryption at rest chỉ là một phần. Các yêu cầu bảo mật khác của MFTECH:
KMS chỉ bảo vệ dữ liệu khi lưu trữ (at rest).
Hai cách nghe hợp lý nhưng không mã hoá được database: tạo Read Replica có mã hoá (không tạo được replica mã hoá từ instance chưa mã hoá) và bật Multi-AZ (encryption chỉ bật được khi tạo instance). Phần 5 cho phép thử trực tiếp hai cách này.
- Mã hoá database đang vận hành: snapshot → copy có mã hoá → restore.
- Trạng thái mã hoá của Read Replica luôn theo source.
- Mã hoá khi truyền: SSL/TLS.
- Xác thực không dùng mật khẩu: IAM DB authentication.
Encrypting a running database
A database created without encryption cannot simply have it switched on; the data must be moved to a new, encrypted DB instance with a short downtime.
A security audit finds that the order database is not encrypted. RDS lets you enable encryption only when you create a DB instance, not after the instance exists. The common approach goes through a snapshot (a blue/green deployment cannot do this, because it cannot change an unencrypted DB instance into an encrypted one):
Encryption at rest is only one part. MFTECH’s other security requirements:
KMS protects data only at rest.
Two approaches sound plausible but cannot encrypt the database: creating an encrypted Read Replica (an encrypted replica of an unencrypted instance is not possible) and turning on Multi-AZ (encryption can be enabled only when the instance is created). Part 5 lets you try both directly.
- Encrypting a running database: snapshot → encrypted copy → restore.
- A Read Replica always has the same encryption state as its source.
- Encryption in transit: SSL/TLS.
- Password-less authentication: IAM DB authentication.