AWSの共有責任モデルをわかりやすく解説
2023年11月13日
0 分で読めます多くのクラウドプロバイダーは共有責任モデルを採用しています。つまり、環境の一部の領域はプロバイダーが保護する一方、それ以外の領域ではお客様がセキュリティ制御を確立する必要があります。共有責任の考え方を取り入れているクラウドプロバイダーは数多くあり、AWSもその一つです。一般的に、責任は2つのカテゴリーに分かれます。AWSは、すべてのAWSサービスを稼働させるインフラなど、クラウド自体のセキュリティを担います。お客様は、クラウドインスタンスとやり取りするデータの保護など、クラウド内のセキュリティを担います。
AWS上で構築・実行するアプリを適切に保護するには、クラウドを利用するお客様が責任の境界を理解する必要があります。どのセキュリティ対策が自社の責任範囲に当たるかを明確に把握すれば、ギャップを特定し、それを埋める適切なツールやプロセスを選び、セキュリティプログラム全体を強化できます。
この記事では、AWSとお客様それぞれの責任範囲を明確にし、共有責任モデルにおけるお客様側の責任を果たすための実践的なヒントをご紹介します。
クラウド自体のセキュリティ
AWSは、ソフトウェア、ハードウェア、ネットワーク、データベース、物理施設などのインフラを保護し、クラウドのセキュリティに責任を持ちます。また、定期的なパッチ管理、構成管理、トレーニングを通じてクラウドサービスを維持しています。ただし、これらの更新やトレーニングプログラムを実施するのはお客様の責任です。
クラウド内のセキュリティ
お客様は、顧客データの保護、環境全体への暗号化の導入、プラットフォームやアプリケーションでのID・アクセス管理(IAM)の有効化など、クラウド内のセキュリティに責任を持つ必要があります。
AWS環境は、各組織が固有のニーズに応じてさまざまなサービスを組み合わせて利用するため、企業ごとに異なります。そのため、AWSを利用するお客様は、それぞれのクラウド環境に適したセキュリティ対策に注力する必要があります。
クラウド内のセキュリティを確立する方法
AWS環境はそれぞれ異なるため、自社の構成に最適なセキュリティ制御を特定するのは簡単ではありません。しかし、多くのAWS環境で共通する基本的な対策もあります。検討すべき領域をいくつかご紹介します。
データセキュリティ
AWSは、クラウド環境においてデータセキュリティを優先することを強く推奨しています。機密データを保護するための対策には、次のようなものがあります。
クライアント側の暗号化とデータ整合性認証。データを転送中および保存中にローカルで暗号化し、機密データが改ざんされていないことを確認します。多くのAWSユーザーは、Amazon S3 Encryption Clientを使ってクライアント側の暗号化とデータ整合性認証を有効にしています。
サーバー側の暗号化。ファイルシステムやデータを保存先で暗号化して保護します。AWS S3では、サーバー側の暗号化を有効にするための複数の方法が用意されています。
データの分類。機密データと非機密データを分け、機密データを適切に保護します。多くのAWSユーザーは、Amazon Macieを活用して機密データを検出し、保護しています。
プラットフォームとアプリケーションのID・アクセス管理(IAM)
クラウドインスタンスには、多くの機密データや環境が含まれる可能性があります。こうした重要な資産を保護するために、アプリケーションのビルド環境やプラットフォームへのアクセス状況を監視するIAM制御を導入しましょう。
組織は、さまざまなAWS Identity Servicesを使ってIAMを管理できます。Amazonは堅牢なIAM機能を提供していますが、環境が複雑になるにつれてアクセス管理が難しくなる場合があります。こうした状況で、多くの企業がSnykを活用し、不適切なIAM構成を特定して修正しています。
オペレーティングシステム、ネットワーク、ファイアウォールの構成
オペレーティングシステムやネットワークを適切に構成し、堅牢なファイアウォールを設定することも重要です。AWSは、ネットワーク攻撃を防御するサービスや、クラウド環境のあらゆる領域に対応するファイアウォール、一元的なファイアウォール管理機能を提供しています。また、ネットワークトラフィックを常時監視し、不正アクセスをリアルタイムでブロックする保護機能も備えています。
クラウドセキュリティをさらに強化する
AWSはクラウド環境を保護するための豊富なリソースを提供していますが、複雑なクラウドエコシステム全体で、どこにこれらのサービスを導入し、どのように監視するかを特定するのは依然として困難です。
さらに、AWSのセキュリティサービスだけでは、クラウド環境のアプリケーション側を保護できません。コードの脆弱性を検出・修正したり、脆弱なサードパーティコンポーネントを特定したりすることはできません。これらは、アプリケーション、運用、そしてお客様を安全に保つうえで欠かせない対策です。
Snykプラットフォームは、この方程式の両面、つまりアプリケーションのセキュリティと、アプリケーションが稼働するAWS環境のセキュリティを結び付けます。共有責任モデルにおけるお客様の責任を果たしやすくするとともに、アプリケーションのビルドプロセスまで保護を広げます。
SnykとAWSサービスの連携方法をいくつかご紹介します。
SDLC全体でセキュリティ制御を自動化
Snykプラットフォームは、AWS CodePipeline、Amazon CodeCatalyst、Amazon ECR、Amazon EKS、AWS CloudFormation、AWS Control Towerなどのアプリケーションサービスと連携し、AWSアプリケーションスタック全体のセキュリティ制御を自動化できます。自動化の例をいくつかご紹介します。
Snyk独自のAWS CodePipelineファーストパーティ連携を使い、オープンソースパッケージをスキャンする。
Amazon CodeCatalystを使い、CI/CDのセキュリティ制御を自動化して監視する。
Amazon ECR内のコンテナイメージをスキャンし、ベースイメージのアップグレードを推奨する。
AWS CloudFormation、Terraform、Amazon EKSのファイルに含まれる安全でない構成を検出する。
AWS Control Towerを使い、Snykプラットフォームのオンボーディングを迅速化する。
セキュリティインテリジェンスの一元管理と柔軟なガバナンス
さらに、Snykはセキュリティインテリジェンスやイベントを、Amazon Inspector、AWS Security Hub、Amazon EventBridge、AWS CloudTrail LakeなどのAWSセキュリティサービスに送信できます。セキュリティインテリジェンスの活用例をいくつかご紹介します。
Amazon InspectorでSnykの脆弱性に関するインサイトを活用し、深刻度の高い脆弱性から優先的に対処する。
Amazon EventBridgeを導入し、Snykの監査ログやセキュリティ上の問題に基づく、ほぼリアルタイムの通知・対応ワークフローを構築する。
ロールベースのアクセス制御(RBAC)を活用し、AWS CloudTrail Lakeでアプリケーション全体におけるSnykの監査アクティビティを監視する。
Snykのセキュリティ検出結果をAWS Security Hubに取り込み、セキュリティイベントを可視化して自動化ワークフローに振り分ける。
こうしたアラートを一元管理することで、Snykプラットフォームはチームが重要なイベントやセキュリティインサイトを見逃さないよう支援します。
AWS上のアプリケーションのセキュリティをさらに強化する方法について、詳しく知りたい方は、SnykとAWSのパートナーシップページをご覧いただくか、AWS MarketplaceからSnykを無料でお試しください。
