S3、EBS、RDSの保存時暗号化
主要なストレージサービス全体にKMSベースの暗号化を適用します。
「S3、EBS、RDSの保存時暗号化」はCoddyKit上の無料AWS Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAWS Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AWS Security Academyコースには全4レッスンが含まれています。
保管時の暗号化
保管時の暗号化は、ディスクに保存されたデータを保護し、盗難されたメディアやスナップショットを読み取れないようにします。
AWSのストレージサービスはKMSと統合され、データを透過的に暗号化します。アプリケーションからは通常のデータに見えますが、内部では暗号化が自動的に行われます。
S3のサーバー側の暗号化
Amazon S3には、サーバー側の暗号化(SSE)オプションがいくつかあります。
- SSE-S3:キーをS3が完全に管理します(AES-256)。現在のデフォルトです。
- SSE-KMS:キーをKMSで管理し、監査とアクセス制御を利用できます。
- SSE-C:各リクエストでユーザーがキーを提供します。
S3の暗号化モードの選択
必要な管理レベルに応じてSSEモードを選択します。
- CloudTrailとキーポリシーによる監査とキーアクセス制御が必要な場合はSSE-KMS。
- シンプルで自動的な暗号化にはSSE-S3。
- キーを自分で保持する必要がある場合はSSE-C。
S3バケットキー
SSE-KMSではオブジェクトごとにKMSを呼び出すため、大規模になるとコストがかかります。S3バケットキーを使うと、この回数を大幅に減らせます。
短期間使用するバケットレベルのデータキーで多数のオブジェクトを処理し、KMSを利用した暗号化を維持しながら、KMSリクエストとコストを最大99%削減できます。
EBSボリュームの暗号化
EBS(Elastic Block Store)ボリュームは、KMSで暗号化できます。
- 暗号化の対象は、ボリューム、そのスナップショット、およびボリュームとインスタンス間で転送されるデータです。
- EC2インスタンスからは透過的に処理され、パフォーマンスへの影響はほとんどありません。
既存ボリュームの暗号化
既存の暗号化されていないEBSボリュームを直接暗号化することはできません。代わりに、次の手順を実行します。
- スナップショットを作成し、暗号化を有効にしてコピーしてから、暗号化されたコピーから新しいボリュームを作成します。
アカウントまたはリージョンレベルでデフォルトのEBS暗号化を有効にすると、新しい暗号化されていないボリュームの作成を防げます。
RDSの暗号化
RDS(Relational Database Service)は、KMSを使ってデータベースストレージ、自動バックアップ、リードレプリカ、スナップショットを暗号化します。
- 暗号化は作成時に設定する必要があります。
- 既存の暗号化されていないインスタンスを暗号化するには、スナップショットから暗号化されたコピーを復元します。
暗号化とスナップショット
試験で重要なポイントは、暗号化の状態がスナップショットに引き継がれることです。
- 暗号化されたボリュームまたは DB のスナップショットは、同じキーで暗号化されます。
- 暗号化されたスナップショットをアカウント間で共有するには、KMS key も共有する必要があります。
その他の暗号化対応サービス
ほとんどのストレージおよびデータベースサービスは、保存時の KMS 暗号化をサポートしています。対象には次のサービスが含まれます。
- DynamoDB, EFS, Redshift, SQS, SNS, and Secrets Manager。
基本的な流れは一貫しています。KMS key を選択すると、サービスがエンベロープ暗号化を透過的に処理します。
パフォーマンスと透過性
暗号化によって処理が遅くなるのではないかと心配する方は少なくありません。実際には、EBS、S3、RDS での KMS による暗号化は透過的で、パフォーマンスへの影響は無視できる程度です。
アプリケーションのコードを変更する必要はありません。サービスが内部で暗号化している間も、アプリケーションは通常どおり読み書きできます。したがって、パフォーマンスを理由にデータを暗号化しないという選択は不要です。
保存時の暗号化の監査
次の機能を使用して、暗号化を検証および適用します。
- s3-bucket-server-side-encryption-enabled や encrypted-volumes などの AWS Config rules。
- 暗号化されていないリソースを検出する Security Hub standards。
これらにより、暗号化されていない状態で作成されたリソースを継続的に検出できます。
確認問題
適切な S3 オプションを選択してください。
まとめ
保存時の暗号化について学びました。
- S3 は SSE-S3、SSE-KMS、SSE-C を提供し、バケットキーによって KMS のコストを削減できます。
- EBS and RDS は KMS を使用します。暗号化は作成時に設定され、スナップショットにも引き継がれます。
- Config rules と Security Hub によって、あらゆる場所の暗号化を検証できます。
よくある質問
「S3、EBS、RDSの保存時暗号化」レッスンは無料ですか?
はい。「S3、EBS、RDSの保存時暗号化」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AWS Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AWS Security Academyコースには全4レッスンが含まれています。
「S3、EBS、RDSの保存時暗号化」で何を学びますか?
主要なストレージサービス全体にKMSベースの暗号化を適用します。 ブラウザで直接実行するハンズオンコードでAWS Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AWS Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAWS Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「S3、EBS、RDSの保存時暗号化」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAWS Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのAWS Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。