記事検索

検索ワードを入力してください。
Sky Tech Blog
【AWS】Amazon S3に​おける​暗号化(KMS)の​種類と​選び方

【AWS】Amazon S3に​おける​暗号化(KMS)の​種類と​選び方

AWS Key Management Service (KMS) を使用して Amazon S3 のデータを暗号化する方法と、AWSマネージド型キーとカスタマー管理型キーの使い分けについて説明しています。S3の暗号化方式としてのSSE-S3も含め、キーの選択基準も説明しています。

AWSでKMSを使用する機会はあると思いますが、特にAmazon S3(以下、「S3」)に適用するためにどのように選択するかを今回記載したいと思います。

KMSの​種類

KMSには大きく以下の2種類があります。

  • AWSマネージド型キー
  • カスタマー管理型のキー

AWSマネージド型キーはその名の通りAWSが管理を行っております。
そのためユーザー側でのキーの管理が最小限に抑えられることができますが、反面で設定可能な内容は非常に限られており細かい制御を行うことはできません。

カスタマー管理型のキーは詳細をユーザーが設定管理することができます。
キー自体も外部から取り込むこともでき、削除や有効化/無効化の制御も行うことができます。
そのため拡張性が高いのが特徴となりますが、管理はユーザーが適切に行うことを求められます。

どちらもリクエスト数による従量課金制ですが、カスタマー管理型のキーの場合はさらにそこに月額1ドルが発生いたします。

どう​使い​分けを​するか

AWSマネージド型キーはAWSが管理を行うため、キーポリシーなどの設定が行えません。
そのため、以下のようなリソースに対して設定をするのに向いています。

  • 暗号化が必要
  • 自身のAWSアカウント内に閉じているリソース
  • 細かい制御が不要

従ってAmazon RDSやDynamoDBなど、外部からアクセスが行われにくいものに向いていると言えると思います。
代わりにカスタマー管理型のキーは詳細を設定できるため、クロスアカウントや細かいアクセス制御を行うリソースに向いております。

S3の​暗号化に​関して

S3に関してはさらにこの2種類に追加してSSE-S3という別の暗号化方式が存在するため、さらに考慮が必要となります。

SSE-S3は、S3で特段設定を行わない場合にデフォルトで設定される暗号方式であり、無料で使用することができます。
無料である代わりにキーに対しての制御は一切行うことができず、「いつ」「誰が」使用したのかを追うこともできません。

そのため、S3に対してどのような制御を行いたいかの要件によって使用するキーの種類が変わってきます。

  • 「いつ」「誰が」使用したかの証跡が必要
    →KMSキー(AWSマネージド型、またはカスタマー管理型)

  • デフォルトの暗号化以外の方式で秘匿性を高めたい
    →KMSキー(AWSマネージド型、またはカスタマー管理型)

  • キーに対して細かい制御が必要(クロスアカウントでのアクセスなど)
    →KMSキー(カスタマー管理型)
    ※Bucketに対してのクロスアカウントアクセスのみであればSSE-S3でも可。
     ここでは「キーに対する制御」がポイントとなります。

  • 上記以外
    →SSE-S3

AWSマネージド型とカスタマー管理型のどちらでもよい場合は、AWSマネージド型を選ぶ方がよいと思います。
ただし一部の処理によってはSSE-S3でないとエラーが発生するケースもありますので、事前にきちんと調査を行い適切な暗号化の種類を選択いたしましょう。

今回はKMSについて簡単ですが記載をさせていただきました。
皆様の開発の一助となれば幸いです。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム