康博2019年4月17日クラウドセキュリティそのコストパフォーマンスの高さ・業務効率の高さから、新しいシステムの構築場所として、クラウドを採用する企業は非常に多いです。オンプレ環境に持っているシステムを、クラウド環境に移行した企業も、多いことでしょう。クラウドの恩恵を受けたいものの、システムやデータをクラウド上に配置することに、「漠然とした」不安を感じている方も、多いのではないでしょうか。ある筆者が、本記事から数回に渡って、AWSのセキュリティについて紹介していきます。AWSの強力なセキュリティ機能を知ることで、クラウドに対する「漠然とした」不安を解消していきましょう。おける、アクセス制御、暗号化、モニタリングについて紹介します。S3について簡単におさらいしましょう。S3とは、AWSが提供するストレージサービスの1つであり、オブジェクト型のストレージサービスに分類されます。S3の利用者は、バケットと呼ばれる入れ物を作成し、その中にオブジェクト(データ)を格納します。バケット/オブジェクトには、インターネット上のどこからでもアクセスでき、格納するデータの形式を問いません。その汎用性の高さから、バックアップの保存先、ログの保存先、コンテンツ配信、オンプレのストレージとのハイブリット利用、など様々な用途で利用されます。「高耐久性/高可用性」S3にデータを保存すると、保存されたデータは複数のデータセンタに、自動的にレプリケーションされます。いう非常に高い耐久性を実現しています。耐久性が高いとは「保存されたデータが損失しにくい」ということを表します。この数値は「S3に保存したデータが破損することは、ほぼ起こりえない」ということを表しています。可用性も99.99%と非常に高く、いつでも安定してデータにアクセスすることができます。※上記の数値は、クラスとしてS3標準を指定した場合。利用できるS3の容量は実質無制限であり、大量のデータを格納することができます。利用した分だけお金がかかります。容量が無制限である一方で、1つのオブジェクトのサイズは最大5TBまで、1度にアップロードできるデータのサイズが最は5GBまで、のような制約があります。機能を利用する必要があります。満たす「S3標準」クラスに加えて、性能や利便性を落とす代わりに、低コストで利用できるクラスが存在します。アクセス頻度が低いデータ向けの「低頻度アクセス」クラスや、耐久性を落とした「1ゾーン」クラス、などがあります。格納するデータの性質やデータライフサイクルに応じて、クラスを使い分けることで、コストを最適化することができます。S3に関するおさらいは以上です。ここからは、S3で利用できるセキュリティ機能(アクセス制御・暗号化・モニタリング)について、見ていきましょう。バケットやオブジェクトへのアクセスは「いつでも」「どこからでも」できます。従って、保存するデータ毎に、アクセスを許可するユーザを定義し、そのユーザだけがアクセスできるように制御することが、セキュリティ上とても大切になります。S3では、下記の3種類のアクセス制御方法を利用することができます。各制御方法は、何に対してアクセス権を設定するのか、アクセスする主体の単位は何か、という点で異なります。どのアクセス制御方法を採用すべきか3つアクセス制御方法にはそれぞれ、実現できること・実現できないことがあります。従って、求められる要件に応じて、使い分ける・組合わせる等の対応が必要になります。バケットの所有者とオブジェクトの所有者が異なり、オブジェクト毎にアクセス権限を定義したい場合は、オブジェクトACLを利用します。他のAWSアカウントに所属するIAMユーザに、バケットを公開したい場合は、バケットポリシーとIAMを利用します。要件に応じた使い方については、AWS公式サイトにまとめられているので、一度確認してみてください。暗号化オンプレ環境/クラウド環境に関わらず、大切なデータを暗号化することはセキュリティの基本です。S3でも暗号化が機能が提供されており、ユーザは下記のオプションを利用することができます。)各オプションは、データを暗号化する場所はどこか、暗号鍵を提供するのは誰か、暗号鍵を管理するのは誰か、という点で異なります。どのオプションを利用すべきか暗号化や鍵管理について、自社のルールにあったオプションを選ぶ必要があります。制約がないのであれば、SSE-S3を利用することが一番簡単です。一方で、セキュリティの要件が非常に厳しく、アプリケーション側でデータを暗号化する必要がある場合は、CSEを利用することになります。自社のセキュリティ要件を満たし、かつ、その中でも運用が簡単なオプションを選択するようにしましょう。モニタリングクラウドを利用する上で、リソースやリソースに対するアクセスをモニタリングすることは、非常に大切です。セキュリティ面で重要なのはもちろんのこと、「余剰なリソースはないか」「レスポンスが遅くれていないか」等、しっかりとモニタリングし、適切に対応することで、パフォーマンスの向上やコストの最適化につながります。ここではS3のモニタリングに利用するサービスについて紹介します。AWSの各サービスに対するAPIコールを追跡するサービスです。CloudTrailを利用することで、オブジェクトの取得や削除といったS3のイベントをキャプチャすることができます。キャプチャしたイベントログはS3バケットに保存することができます。S3バケットに保存することで、ログの長期保存や、ログを活用する他のサービスとの連携を実現できます。AWSサービスに限らず、様々なサービスのログファイルを監視するサービスです。上記のCloudTrailと組合わせることで、S3に対するイベントログを監視することができます。このサービスには特定のログを検知できるフィルター機能が備わっています。フィルター機能を利用することで、S3オブジェクトの取得イベントのログを検知し、さらにその検知をトリガーとして別のサービスを起動する(メール通知する等)、のようなことができます。終わりにS3に限らず、AWSサービスが提供するセキュリティ機能は、強力なものが多いです。この機会に、クラウドのセキュリティ対策を知り、クラウドに対する不安を解消しましょう。Service)について、記事を書く予定です。Reserved.新規登録(無料)ログイン。