プレビュー版 AWS セキュリティサービスの概要のご紹介
今回はアクセンチュア株式会社テクノロジーコンサルティング本部 セキュリティグループ Fujita, Tetsuroさんに2023/5に執筆いただいた記事をご紹介します。記事内容は執筆当時のものです。
テクノロジーコンサルティング本部 セキュリティグループ所属の藤田哲朗です。
2023/4/20-21にて開催されたAWS Summit 2023に参加し、AWS セキュリティ、アイデンティティ、コンプライアンスサービスの内、2023年5月時点でプレビュー機能であるAmazon Security Lake およびAmazon Verified Permissionsについて学んできましたので、2つの概要について簡単ではありますが、ご紹介します。
Amazon Security Lake
Amazon Security Lakeの概要
早速説明に移ります。Amazon Security Lakeは、AWSサービスおよびカスタムソースからのログを集約するセキュリティに特化したデータレイクサービスです。保管されたログの分析は、任意の分析ツールで実施することができます。昨年AWS re:Invent 2022にて新サービスとして発表されたもので、5月時点では、プレビュー機能となっています。
Amazon Security Lakeの特徴
Amazon Security Lakeに集約されたログは AWS AthenaやAmazon OpenSearch Serviceにログを取り込み、可視化・分析することが可能です。Apache ParquetやOpen Cybersecurity Schema Framework (OCSF) に正規化される為、ログ取込する際、エラーとなるような事象を避けることにも繋がるかと思います。
Amazon Security Lakeを体験してみたい方向けのハンズオンの紹介
- 収集データ用のセキュリティレイクの設定 | プレビュー:Amazon セキュリティレイク — 顧客所有の専用データレイクサービス
- SIEM on OpenSearch-Amazon Security Lake との統合
前者は、CloudTrail、VPC flow logs、Route53、Security Hub findingsのログをデータソースとして、Amazon Athenaや AWS Lake Formation から読み取ることができるサービスを介して、データレイク(S3)にあるデータに対して直接クエリを実行できます。Security Lakeをクイックに確認したい方向けに適していると考えます。
後者は、Security Lake の有効化と設定を行うだけでなく、SIEM(Security Information and Event Management)基盤としてAmazon OpenSearch Serviceをデプロイし、データレイクにあるデータをOpenSearchに取り込むところまでを行うハンズオンとなっており、上級者向けという印象です。
Amazon Security Lake ハンズオンにトライ
Security Lakeに保存されているデータをAWS AthenaやOpenSearchから確認してみます。
-
Security Lakeの有効化は、該当サービスの「開始方法」に従い有効化するだけです。
-
ソースから選択できるAWSサービスのログは、以下4つだけのようです。選択できるデータソースがまだ少ない気がするので収集可能なサービスが増えることに期待しましょう。
裏ではAWS Glue クローラが利用され、AWS Glue Data Catalog内 にスキーマが作成されています。
-
上記以外でSecurity Lakeに保存したいログがある場合、カスタムソースを作成し、Security Lake用S3バケットに作成された階層にカスタムデータを保管します。(今回はスキップします。)
-
AWS Athena以外の分析サービスをソースデータにアクセスさせるためサブスクライバーを作成します。
-
AWS Athenaでクエリを実行します。
結果が問題なく表示されたので、Security Lakeが持つデータの分析ができています。
-
ドキュメントに従い、OpenSearchにSecurity Lakeのログを取り込みました。ログがあまりなく大した可視化はできませんでしたが、ダッシュボードから以下のようにログ分析表示ができます。
学んでみた気付き [Security Lake]
- Open Cybersecurity Schema Frameworkへ正規化出来るのは、Goodポイント
さまざまなログを共通となる形式で扱えるように変換することでログをSIEMにエラーなく取り込めることに繋がるので、良い傾向だと思います。 - Security Lake がデフォルトでAWSログを収集できる数が少ない。
CloudTrail、VPC flow logs、Route 53、Security Hub findingsのみのため、まだ対応しているログの種類が少ないなと思います。これから様々なログが対応することに期待し待ちましょう。 - カスタムソースデータ OCSF正規化は未対応
ユーザー側で要変換のようです。AWSログ以外も簡易にAthena等で分析ができるようになるので、サポートされるとよいですね。
SIEM on OpenSearch-Amazon Security Lake との統合-にてOpenSearchをデプロイ中に、AWS Lambda関数のサービスクオータの制限に達していることに気づかず時間をロスしてしまいました。ハンズオンをトライされる方で同じような事象に心当たりがあれば、参考にしてみてください。
Amazon Verified Permissions
Amazon Verified Permissionsの概要
次に、Amazon Verified Permissionsについても、Security Lake同様に昨年AWS re:Invent 2022にて発表されたプレビュー機能となります。Amazon Verified Permissions は、Cedar ポリシー言語というものを使用して、アプリケーションユーザーのきめ細かいアクセス許可を定義します。
Amazon Verified Permissionsが公開された背景
アプリケーションを構築する際、管理者はどのようにアクセス許可を提供し管理するのかを考える必要があります。アプリケーションにおいて、ユーザーに対するオペレーションの権限管理を柔軟に表現するために、PBAC(後述)という概念で権限を管理する仕様となっています。
Amazon Verified Permissionsの特徴
Permissionsを[Cedar]というコードで定義して評価ができるようになっています。Cedarは、認可のために新しく設計されたドメイン固有言語であり、以下のような特徴を持ちます。
Cedarの特徴
- Policy-based access control (PBAC)による高度な権限の表現
- 同等性分析によるポリシーの評価・安全なリファクタリングを提供
PBACとは
- アイデンティティのRole(役割)およびAttribute(属性値)に基づいてアクセスを適切に判断
- Cedarによるコードが理解しやすく、メンテナンス性が高い
Cedarの評価方法
AWS re:Invent 2022にて公開された資料に、フロントアプリケーションからAPI Gatewayへのアクセスが行われた場合の検証フローが公開されていました。具体的には以下のような流れとなるようです。
- Lambdaオーソライザーがトークンを検証し、Amazon Verified Permissionsへクエリ発行
- Verified Permissionsは、トークンを元にCedar Authorizerモジュールを呼び出し検証
- Cedarは、リクエスト、エンティティデータ、ポリシーをインプットに、evaluatorを用い、ポリシーに対しtrue, false, errorいずれかを判定
- 複数のポリシーの結果を統合しallowかdenyを判断し、Lambdaオーソライザーへ返す
このようにして、Cedarで評価した結果を元にして、ユーザーが行おうとしているオペレーションの権限が適切かそうでないかを判定するというロジックになっています。
Amazon Verified Permissions を体験してみたい方向けのハンズオンの紹介
Amazon Verified Permissionsを利用するには、以下サイトにて申請が必要となります。
Announcing private preview of Amazon Verified Permissions
おわりに -学んでみた気付き- [Amazon Verified Permissions]
- アプリケーションの認可機能を実装した経験はないですが、AWS上で構築したアプリケーションの認可をAWSサービスに任せられるようになるのは、SIデリバリーをする我々としてもアプリケーションの機能そのものの開発に専念できるようになり、メリットがあると思います。
- Amazon Verified Permissionsは、直近GAされたAmazon Verified Accessというサービスとセットで利用できる見込みがあるサービスとして、学んでおくべきかと思います。
長めのレポートとなってしまいましたが、以上です。今後もセキュリティに関する情報をアップデートして共有していくことを計画しています。最後までご覧いただきありがとうございました。
Discussion