TxKxZxWx's blog

AWS SAA取得に向けて学習

AWS SAA取得に向けて 91日目 問題 SSE&CSE、IAMロール

間違えた問題を復習

 

問題1:

会社はS3上にデータを保存しています。

同社のセキュリティーポリシーとして暗号化してデータを保存することが義務付けられています。

要件を満たす方法は?(3つ)

  1. S3バケットポリシーを使用して、保存されているデータへのアクセス制限をする。
  2. EC2のキーペアを使用して、S3サーバー側の暗号化を使用する。
  3. KMSのマネージドキーを使用して、S3サーバー側の暗号化(SSEーKMS)を使用する。
  4. お客様が用意したキーによるサーバー側の暗号化(SSE-C)を使用する。
  5. 独自のマスターキーを使用して、S3にデータを保存する前にクライアント側でデータを暗号化する。

 

解答:

3,4,5

 

解説:

S3を使用した保存データの暗号化は、サーバー側またはクライアント側の暗号化を使用して実装出来る。

SSE(Server Side Encryption)は、KMS提供の鍵(SSE-KMS)またはお客様提供の鍵(SSE-C)を使用して実装出来る。

CSE(Client-Side Encryption)は、S3にアップロードする前にデータを暗号化し、クライアント側でS3からダウンロードした後にデータを複合化することで実装出来る。

 

サーバー側の暗号化を使用する

オブジェクトをデータセンター内のディスクに保存する前に暗号化し、オブジェクトをダウンロードするときに復号するようにS3にリクエストする。

 

・クライアント側の暗号化

クライアント側でデータを暗号化し、暗号化したデータをS3にアップロードする。

この場合、暗号化プロセス、暗号化キー、関連ツールはお客様が管理する。

 

  • サーバー側の暗号化
    サーバー側の暗号化は,保管時のデータ暗号化に関するもの。
    つまりS3はデータセンターのディスクに書き込まれるときにデータを暗号化し、お客様がデータにアクセスするときに復号する。
    暗号化キーの管理をどのように選択するかに応じて、次の3つのオプションがある。

    • S3で管理されたキーによるサーバー側の暗号化(SSE-S3)の使用
      各オブジェクトは、強力な多要素暗号化機能を備えた一意のキーで暗号化される。
      さらにセキュリティを強化するために、キー自体が定期的に更新されるマスターキーで暗号化される。

    • S3で管理されたキーによるサーバー側の暗号化(SSE-KMS)の使用
      SSE-S3と同様だがいくつかの利点がある分追加の料金もかかる。

    • お客様が用意したキーによるサーバー側の暗号化(SSE-C)を使用する
      暗号化キーとS3が暗号化によって、ディスクに書き込む際の暗号化と、オブジェクトにアクセスする際の復号が管理される。
  • クライアント側の暗号化
    クライアント側の暗号化では、S3に送信する前にデータが暗号化される。
    データ暗号化キーを使用する場合、次の2種類の方法がある。

    • KMSで管理されたカスタマーマスターキーを使用する。
    • クライアント側のマスターキーを使用する。

 

※以下は間違い

2.EC2のキーペアを使用して、S3サーバー側の暗号化を使用する。

→EC2のキーペアはEC2インスタンスログインする際に使用する

サーバー側の暗号化はEC2キーペアでは機能しないため間違い。

 

1.S3バケットポリシーを使用して、保存されているデータへのアクセス制限をする。

バケットポリシーはS3へのアクセスの制御を行うのみで暗号化と関係ないため間違い。

 

 

■ことば

 ◇SSE

Server Side Encryption(以降、SSEと略す)は、クライアントから暗号化オプションを指定して登録するだけで、サーバー内で鍵が自動生成され、暗号化したデータを保存します。

鍵はユーザーが管理する必要がなく、AWSで管理されるので手間をかけずに暗号化できます。AWS SDKやAWSCliの機能として利用できます。

 

 

 

問題2:

グローバル戦略の一環として、現在利用しているリージョンとは異なる新しいリージョンにサービスを展開することになった。

現在DynamoDBへアクセスを許可する1つのIAMロールがEC2インスタンスへ割り当てられている。

異なる新しいリージョンへEC2インスタンスを展開する際にも、現在と同じ権限を持たせる必要があります。

どのようにこれを達成させるか?

 

  1. 新しいリージョンで新しいIAMロールと関連するポリシーを作成してEC2インスタンスへ割り当てる。
  2. EC2インスタンスのAMIを作成し、AMIのコピー機能を使用して新しいリージョンにコピーする。
  3. 新しいリージョンに既存のIAMロールと関連するポリシーをコピーしEC2インスタンスに割り当てる。
  4. 新しいリージョンでEC2インスタンスへ既存のIAMロールを割り当てる。

 

 

解答:

 

解説:

一時的なセキュリティ認証情報を1つまたは複数のリージョンに制限することはできない。

つまり、リージョンを跨いだ設定が可能。

複数のリージョンでクラスタを構成して同じIAMロールを割り当てるといったこともできる。

 

 

※以下は間違い

1.新しいリージョンで新しいIAMロールと関連するポリシーを作成してEC2インスタンスへ割り当てる。

→新しいリージョンで新しいIAMロールを作成しても代用出来るが、管理面で複雑になるため間違い。

 

3.新しいリージョンに既存のIAMロールと関連するポリシーをコピーしEC2インスタンスに割り当てる。

→管理面で複雑になるので間違い。

 

2.EC2インスタンスのAMIを作成し、AMIのコピー機能を使用して新しいリージョンにコピーする。

→AMIを作成して新しいリージョンへコピーしてもロールを割り当てないと意味がないため間違い。

 

■ことば

 ◇IAMロール

AWSで開発しているアプリケーションなどのコンテンツやサービスに操作権限(IAMポリシー)を付与する仕組み。

IAMロールを使用すると、プログラミングコードに認証パスワードなどの情報を記述する必要がなくなり、セキュリティを高められる。

コードに認証パスワードなどのセキュアな情報が記述されていると、コードの汎用的な利用の際に漏出したり、委託先にバックアップとして保管されたままになる。