はじめに
AWSの5つの設計原則の一つである【セキュリティ】。
ソリューションアーキテクトの試験を受けるにあたり、セキュリティに関することは必ず出てくる問題なので、理解を深めるために
主なサービスについて、公式の BlackBelt やよくある質問などから抜粋して、要点だけでまとめてみました。
AWS Identity and Access Management (IAM)
AWS リソースを安全に操作するために、認証・認可の仕組みを提供するサービス。
最小限の認証情報の生成、強固なパスワードポリシー、特権ユーザーでの MFA 有効化が ID の保護に有効です。
主な活用
- 各 AWS リソースに対して、別々のアクセス権限をユーザーごとに付与できる
- 多要素認証(Multi-Factor Authentication : MFA)によるセキュリティの強化
- 一時的な認証権限を用いた権限の委任
- 他の ID プロバイダーで認証されたユーザーに、AWS リソースへの一時的なアクセス
- 世界中の AWS リージョンで、同じ ID と権限を利用可能
AWS Cognito
「認証」「許可」「ユーザー管理」などの機能を提供するサービス。
モバイルやウェブアプリケーションに、ユーザーのサインアップと認証機能を簡単に追加。
AWS 内のアプリケーションのバックエンドリソース、または Amazon API Gateway で保護されているサービスにアクセスするための、一時的なセキュリティ認証情報を付与できます。
ユーザーがどのデバイスからサービスにアクセスしても、ストレスなく使えるようになるものです。
主な活用
- モバイル・Web アプリでユーザ認証が楽に
- Facebook や Twitter、Amazon、Google、Apple などのサードパーティーを通じてサインイン
- 認証ユーザや管理者ユーザ限定のコンテンツを配信
- アクセスキー等の認証情報をアプリに直接コーディングしなくて良い
- 一人で複数デバイスの利用をサポートしてUXを向上
- データをローカルに保存。オフラインの場合でもアプリケーションを使用でき、オンラインになった時にデータを自動的に同期
AWS Inspector
Amazon EC2 にエージェント(ソフトウェア)を派遣し、プラットフォーム(土台となる環境)の脆弱性診断を行う有料サービスです。
自動化されたセキュリティ評価サービスで、Amazon EC2 インスタンスのネットワークアクセスと、そのインスタンスで実行しているアプリケーションのセキュリティ状態をテストできます。
開発環境全体で、または静的な本番システムに対して、セキュリティ上の脆弱性の評価ができます。
AWS GuardDuty
悪意のある操作や不正な動作を、継続的にモニタリングする脅威検出サービス。
AWS 環境のセキュリティを継続的にチェックしてくれ、各種ログを自動的に取得して、機械学習で分析して異常を通知してくれます。
分析の対象となるログは、AWS CloudTrail、Amazon VPCフローログ、DNSログなど、複数のAWSにおける数千億にもわたるイベントです。
AWS のアカウントとワークロードの継続的なモニタリングが楽になり
詳細なアラートを提供し、既存のイベント管理、ワークフローシステムと簡単に統合可能です。
AWS Directory Service
ユーザー、グループ、コンピューター、およびその他のリソースといった組織についての情報を含むディレクトリ機能を提供する権限管理サービスです。
AWS クラウド内にディレクトリをセットアップして運用することや、AWS リソースを既存のオンプレミス Microsoft Active Directory に接続することが簡単に行えます。
主な活用
- ユーザーとグループの管理
- アプリケーションとサービスへのシングルサインオン(1回の本人認証で、複数の異なるアプリケーションやシステムを利用できる認証の仕組み)を提供
- グループポリシーの作成と適用
- Amazon EC2 インスタンスのドメインへの参加
- クラウドベースの Linux と Microsoft Windows ワークロードのデプロイと管理の簡素化
AWS Organizations
複数 AWS アカウントを一元管理できるサービス。
アカウントをグループ化して、ポリシーを適⽤し利⽤サービスを制限します。
アカウント新規作成の自動化や請求の簡素化、複数アカウントの請求を⼀括にできます。
主な活用
- 複数の AWS アカウントへの一括請求
- AWS アカウントの作成と管理の自動化
- AWS のサービス、リソース、リージョンへのアクセスを管理
- 複数の AWS アカウントに適用するポリシーを集中管理
- 複数アカウント間で AWS のサービスを設定
AWS Shield
AWS で実行されるアプリケーションを Distributed Denial of Service (DDoS) 攻撃から保護するサービスです。
Standard は、追加料金なしで自動的に有効化されます。Advanced は任意で利用できる有料サービスです。
有料サービスは、Amazon EC2、Elastic Load Balancing (ELB)、Amazon CloudFront、AWS Global Accelerator、Route 53 で実行中のアプリケーションを標的とする、高度化された大規模な攻撃からの保護が強化されます。
CloudHSM
安全なキーストレージと暗号通信を提供するサービス。
ユーザー自身にしかアクセスできない方法で、データ暗号化に使用される暗号キーを安全に生成、保存、管理することができます。
クラウド内の専用ハードウェアセキュリティモジュール (HSM) を使用して、データセキュリティに対する企業コンプライアンス要件、契約上のコンプライアンス要件、法令遵守の要件を満たすことができます。
CloudHSM は既存のデータ保護を補完する役割を果たし、HSM 内での暗号キー保護を可能にします。
安全なキー管理に対する、米国政府標準規格に適合するように設計、検証されています。
主な活用
- KMS のカスタムキーストアとして使用
- SSL/TLS 暗号化、復号処理のオフロード(システムの負荷を他の機器などが肩代わりして軽減する仕組み)
- NGINX, Apache, Windows Server IIS との連携
- CA局の秘密鍵管理
- Oracle DBのTransparent Data Encryption(透過型暗号。表や表領域のデータを自動で暗号化して保存)
- PKCS #11ライブラリ経由で連携
- ファイルやデータへのデジタル署名
- デジタル権限管理
- CloudHSM をサポートするサードパーティソリューションとの統合
AWS Key Management Service
データを保護するための暗号化キーの一元管理が出来るサービス。
AWS サービスとの統合により、容易にデータの暗号化を行うことができ、アプリケーション上のデータの暗号化にも利用することができます。
暗号鍵の保管、鍵のアクセス制御等、鍵自身のセキュリティを管理するインフラストラクチャ Key Management Infrastructure を採用。
主な活用
- 暗号鍵の作成、管理、運用
- 鍵利用の権限管理、監査
- 暗号鍵を保存、暗号鍵を使用するための安全なロケーションを提供
- マスターキーは FIPS 140-2検定済暗号化モジュールによって保護
- AWS サービスとの統合 (S3, EBS, Redshift, RDS, Snowball等)
- SDK との連携で独自アプリケーションデータも暗号化
- CloudTrail との統合による組み込み型の監査対応機能
備考
【Perfect Forward Secrecy】通称PFS
暗号鍵とその暗号鍵を複合するための秘密鍵が、両方漏洩しても暗号鍵を複合できない、というカギ交換に関する概念。
長期間にわたってデータを解読されないよう、暗号鍵(共通鍵)の元になる情報を使い捨てる方式を採用しています。
終わりに
セキュリティの強度やコスト効率、通信制御やデータ暗号化など、状況や用途で組み合わせが多様になっていくことがわかりました。
ホワイトリスト型(許可した通信のみを通す)、最小限の権限設定が重要であること
安全性において安心できるよう、AWS の推奨するベストプラクティスに沿ってサービスを覚えていくことが、試験にも実務にも生かされていきそうです。