Amazon Web Services ブログ
AWS Identity and Access Management (IAM) Access Analyzer を使った意図しないリソースアクセスの特定
本日の発表をここでシェアしたいと思います。この発表は、AWS 上のビルダーの方のためのセキュリティ強化のみに留まりません。また、設定なしに利用料金不要でオンにすることが出来ます。AWS は、AWS Identity and Access Management (IAM) Access Analyzer と呼ばれる今までにない機能をリリースします。 IAM Acess Analyzer は数学的なアルゴリズムを使って AWS 上のリソースにアタッチされている アクセス制御ポリシーを分析し、他のアカウントもしくは、誰もがアクセスできるリソースが無いか見つけ出します。IAM Access Analyzer は継続的にAmazon Simple Storage Service (S3) バケット、IAM ロール、 AWS Key Management Service (KMS) キー、AWS Lambda 関数、 Amazon Simple Queue Service (SQS) キューといったリソースのポリシーを監視します。 IAM Access Analyzer によって、アクセス制御状況のインパクトを集約、可視化し、 利用されているアカウントの外側からの意図しないアクセスからリソースが保護されていることを確認出来ます。
いくつかの例をご紹介します。 IAM Access Analyzer の結果は my-bucket-1 という S3 バケットが ID 123456789012 の AWS アカウントから送信元 IP アドレス 11.0.0.0/15 の場合アクセス可能であることを検出します。また、IAM Access Analyzer は他のアカウントにキーの削除を許可しているキーポリシーも検知します。これによりデータ流出リスクを特定し、ポリシー修正を可能にします。 結果が意図したアクセス許可だった場合には、その結果をアーカイブすることが出来ます。
さて、 IAM Access Analyzer はどのように動作するのでしょうか? 悪夢のような複雑な計算結果を数学的なアルゴリズムを使って算出することで、IAM Access Analyzer はそれぞれのリソースがアクセス可能かどうかを評価します。重要なのは、この分析は過去のイベントやパターンマッチング、ブルートフォース型のテストに基づいていないことです。 IAM Access Analyzer は文法的にポリシーを判断します。全てのアクセス可能なパスは数学的な証明で検証されます。これにより数千のポリシーが数秒で解析可能になります。 この方法は、自動推論と呼ばれる認知科学の1つを利用しています。 IAM Access Analyzer は AWS 独自の全てのビルダーが利用出来る自動推論に支えられた最初のサービスです。 自動推論について学習する手始めとして、 この短編ビデオを強くおすすめします。 より詳細に知りたい場合には、 自動推論に関する re:Invent での Byron Cook ( AWS 自動推論グループのディレクター)の講演ビデオを見てください。 もし、方法論そのものを深く理解されたい場合には、こちらの論文をご覧ください。
IAM Access Analyzer をオンにするには、想定外の悪夢のような最終試験と比べれば遥かにストレスレスです。 ステップは 1 つだけです。IAM コンソールから左側のメニューにある Access Analyzer を選択し、アナライザーの作成をクリックします。
Analyzer は作成されたアカウントに関する結果を生成します。また Analyzer は作成されたリージョン内で動作しますので、結果を見たいリージョンごとに作成が必要です。
Analyzer が作成されると、 コンソールのアクセス可能なリソースの画面に結果が表示されます。この例では KMS キーや IAM ロールなどが他のアカウントやフェデレーションユーザーからアクセス出来るといった、確認する価値のあるいくつかの結果があります。
最初の結果をクリックして KMS キーのアクセスポリシーを見てみましょう。
ここでは、利用可能になっているアクセスパスと関連するリソースとプリンシパルを見ることが可能です。今回は KMS コンソールに一旦アクセスして、この状況が意図したアクセスであると確認出来たので、この結果はアーカイブ処理します。
AWS IAM Access Analyzer の全ての結果は、 AWS IAM コンソール上で見ることが可能です。 また、AWS IAM Access Analyzer API を使ってアクセスすることも可能です。 S3 バケットに関連する結果は、S3のコンソールから直接見ることも可能です。 バケットポリシーは S3 コンソールの右側で更新出来るので、アクセスパスを閉じることが可能です。
AWS Security Hub の中で AWS IAM Access Analyzer が生成した高プライオリティの結果を見ることも可能です。この連携は、わかりやすく、コンプライアンスとセキュリティ専門のチームメンバーが単一の信頼された情報ソースを実現します。IAM Access Analyzer はまた、CloudWatch Events との連携機能も持っています。カスタムルール経由で、IAM Access Analyzer が生成した結果について自動対応することが可能です。
ここでは、AWS Identity and Access Management (IAM) Access Analyzer がクラウドリソースアクセスに関するわかりやすいサマリーを提供することをご紹介しました。読んで頂いた方は、 IAM コンソールからこの機能をオンにしてくださると思います。クラウドを利用することの大きなメリットは、インフラやツールが継続的に強化されることですが、 IAM Access Analyzer はこの良い例です。 料金がかからないことについては既に触れましたよね? 是非この機能をオンにして頂き、気づかれたことを Tweetでお送りください。 最後に、 ハッピービルディングを!!
翻訳は SA 高橋が担当しました。