STAY KOBE

[SolutionArchitect Pro] Amazon S3 のデータ保護

Amazon S3 データ保護 の概要

データ保護

送信中のデータ

S3 は、SSL 経由の通信を有効にするか、クライアント側の暗号化を使用して、転送中のデータを保護します。

残りのデータ

サーバー側の暗号化

Amazon S3 で管理されたキー (SSE-S3) を使用したサーバー側の暗号化

AWS KMS で管理されたキー (SSE-KMS) によるサーバー側の暗号化

お客様が用意した暗号化キーによるサーバー側の暗号化(SSE-C)

クライアント側の暗号化

クライアント側の暗号化とは、データを暗号化して Amazon S3 に送信し、データをダウンロードした後に復号化することです。

AWS KMS管理のカスタマーマスタキー(CMK)

クライアント側のマスターキー


AWS認定試験の練習問題

  1. 同社は、Amazon のシンプルなストレージサービス (S3) にデータを格納している。同社のセキュリティポリシーは、データが残りの部分で暗号化されることを義務付けています。これを実現する方法は次のどれですか。3つの回答を選択
    1. AWS キーマネージメントサービスマネージキーで Amazon S3 サーバー側暗号化を使用する。
    2. Amazon S3 サーバー側暗号化をお客様が提供するキーで使用する。
    3. Amazon S3 サーバー側暗号化を EC2 キーペアで使用します。
    4. Amazon S3 バケットポリシーを使用して、残りのデータへのアクセスを制限します。
    5. 独自のマスターキーを使用して Amazon S3 に取り込む前に、クライアント側のデータを暗号化する。
    6. Amazon S3 への転送中に、SSL を使用してデータを暗号化します。
  2. ユーザーが S3 バケットのバージョン管理を有効にしました。ユーザーは、残りのデータに対してサーバー側の暗号化を使用しています。ユーザーが暗号化のための彼自身のキーを供給している場合 (SSE-C) は、以下のステートメントのどれが当てはまりますか?
    1. ユーザーは同じオブジェクトのすべてのバージョンに対して同じ暗号化キーを使用する必要があります。
    2. 同じオブジェクトの異なるバージョンに対して異なる暗号化キーを持つことが可能です。
    3. AWS S3 は、ユーザーがサーバー側の暗号化のために自分のキーをアップロードすることはできません。
    4. バージョン管理が有効な場合、SSE-C は機能しません。
  3. ストレージ管理者は、サーバー側の暗号化を使用して S3 に格納されているすべてのオブジェクトを暗号化したいと考えています。ユーザーは、S3 によって提供される AES-256 暗号化キーを使用する必要はありません。どのようにユーザーがこれを達成することができます?
    1. 管理者は、AWS コンソールに彼の秘密鍵をアップロードし、S3 がオブジェクトを復号化できるようにする必要があります。
    2. 管理者は、CLI または API を使用して、暗号化キーを S3 バケットにアップロードする必要があります。S3 API の呼び出しを行う際には、各リクエストの暗号化キー URL について言及します。
    3. S3 は、サーバー側の暗号化のためのクライアント提供の暗号化キーをサポートしていません。
    4. 管理者は、各 API 呼び出しでキーと暗号化アルゴリズムを送信する必要があります。
  4. ユーザーが S3 バケットのバージョン管理を有効にしました。ユーザーは、残りのデータに対してサーバー側の暗号化を使用しています。ユーザーが暗号化 (SSE-C) のために自分のキーを供給している場合、セキュリティの目的でユーザーに推奨されるものは何ですか?
    1. セキュリティで保護されていないため、ユーザーは自分のセキュリティーキーを使用しないでください。
    2. ユーザーの暗号化キーを一定の間隔で回転させるように S3 を構成する。
    3. ユーザーのキーを SSL で安全に保存するように S3 を構成する。
    4. 暗号化キーをクライアント側で手動で回転させる。
  5. システム管理者は、アプリケーションから S3 にアップロードされるすべてのオブジェクトを暗号化することを計画しています。システム管理者は、独自の暗号化アルゴリズムを実装する必要はありません。代わりに、彼は自分のキー (SSE-C を供給することによってサーバー側の暗号化を使用することを計画している。SSE-C の呼び出しを行うときに、どのパラメータが必要ではありませんか。
    1. x-amz-server-side-encryption-customer-key-AES-256
    2. x-amz-server-side-encryption-customer-key
    3. x-amz-server-side-encryption-customer-algorithm
    4. x-amz-server-side-encryption-customer-key-MD5
  6. あなたは従業員数千人のグローバル企業のための個人的なドキュメントアーカイブソリューションを設計しています。このアーカイブソリューションでは、各従業員に対してギガバイトのデータがバックアップされる可能性があります。このソリューションは、アプリケーションとして従業員に公開され、アーカイブ・システムにファイルをドラッグ・アンド・ドロップするだけです。従業員は、web インターフェイスを介してアーカイブを取得できます。企業ネットワークには、AWS への高い帯域幅の AWS DirectConnect 接続があります。クラウドにアップロードする前に、すべてのデータを暗号化する必要がある規制要件があります。どのように高可用性とコスト効率の高い方法でこれを実装するのですか?
    1. 暗号化されたリレーショナルデータベースで、オンプレミスで暗号キーを管理します。ファイルを一時的に保存して Amazon S3 にアップロードするための十分なストレージを備えたオンプレミスサーバーをセットアップし、クライアント側のマスタキーを提供します。(一時的な増加コストを格納し、高可用性オプションではありません)
    2. ハードウェアセキュリティモジュール (HSM) アプライアンスのオンプレミスサーバーで暗号化キーを管理し、ファイルを一時的に Amazon Glacier に直接保存、暗号化、およびアップロードするための十分な記憶域を備えています。(費用効果はありません)
    3. Amazon キーマネージメントサービス(KMS)で暗号化キーを管理し、KMS顧客マスターキーIDを使用してクライアント側の暗号化を使用して Amazonシンプルストレージサービス(s3)にアップロードし、Amazon Glacier のストレージ階層を使用して各オブジェクトを格納するAmazon S3ライフサイクルポリシーを設定します。(CSE-KMS では、オブジェクトが S3 にアップロードされる前にクライアント側で暗号化が行われ、KMS はコスト効果もあります)
    4. AWS CloudHSM アプライアンスで暗号化キーを管理します。従業員のデスクトップにアップロードする前にファイルを暗号化し、Amazon Glacier に直接アップロードする (費用効果はありません)
  7. ユーザーは、S3 でサーバー側の暗号化を有効にしています。ユーザーは、暗号化されたオブジェクトを S3 からダウンロードします。どのようにユーザーがそれを復号化できますか?
    1. S3 はサーバー側の暗号化をサポートしていません。
    2. S3 は、オブジェクトを復号化するサーバー側のキーを提供します。
    3. ユーザーは、独自の秘密キーを使用してオブジェクトを復号化する必要があります。
    4. S3 は自動的に暗号化と復号化を管理
  8. オブジェクトをアップロードするときに、Amazon S3 へのリクエストで、サーバ側に保存されたオブジェクトデータを暗号化するために、どのようなリクエストヘッダを明示的に指定できますか?
    1. x-amz-storage-class
    2. Content-MD5
    3. x-amz-security-token
    4. x-amz-server-side-encryption

Jayendra’s Blog

この記事は自己学習用に「AWS S3 Data Protection – Certification(Jayendra’s Blogより)」を日本語に訳した記事です。