IAM Access Analyzerで外部アクセスポリシーを検出しよう(基礎編) - サーバーワークスエンジニアブログ

IAM Access Analyzerで外部アクセスポリシーを検出しよう(基礎編)

記事タイトルとURLをコピーする

AWSのセキュリティ機能の一つであるIAM Access Analyzerを使ってみました。

1.IAM Access Analyzer とは

AWSアカウント内のリソースにアタッチされているポリシーをチェックし、信頼ゾーンの外部からアクセスされる可能性の有無を教えてくれるサービスです。あくまでもポリシーを根拠に判断するだけであり、トラフィックを解析したり、アクセスログを解析したりといったことはありません。

また、すべてのリソースに対応しているというわけではなく、現在は下記5つに限られています。

  • Amazon Simple Storage Service バケット
  • AWS Identity and Access Management ロール
  • AWS Key Management Service キー
  • AWS Lambda の関数とレイヤー
  • Amazon Simple Queue Service キュー

以下のようなイメージです。

f:id:swx-watanabe:20210208112923p:plain

詳細は公式ドキュメント(IAM Access Analyzer とは)をみていただければと思います。

2.Access Analyzerの有効化

Access Analyzerは、AWS Organizationsと連携して、マルチアカウント対応できるようなのですが、今回はシングルアカウント環境で試してみます。 シングルアカウントの場合は、そのAWSアカウントのみが信頼ゾーンにいると認識されます。

有効にしたいリージョンの IAM > Access Analyzer の画面で以下のように有効化します。

f:id:swx-watanabe:20210208112937p:plain

f:id:swx-watanabe:20210208113017p:plainf:id:swx-watanabe:20210208113017p:plain

しばらくすると、結果のリストが表示されます。 あくまでポリシー設定しかみないということもあり、私の環境では数十秒〜数分程度で完了しました。

f:id:swx-watanabe:20210208113047p:plain

3.検出された結果を見てみる

今回はIAMロールとS3バケットで検出されました。

3-1.IAMロールの例

信頼ゾーン外のアカウントからロールを利用できるようになっています。

今回はSaaSのアカウント(DataDog、DeepSecurity、Cloud Automator)や、社内アカウントからスイッチロールできるようになっていました。 これらは意図的な設定だったので、問題ありません。 ここに見知らぬアカウントがあった場合等は、要注意です。

結果IDをクリックすると、結果の詳細画面に遷移できます。

f:id:swx-watanabe:20210208113100p:plain

意図的なものであり、検出不要なのでアーカイブに移動します。

f:id:swx-watanabe:20210208113204p:plain

アーカイブに移動できました

f:id:swx-watanabe:20210208113216p:plain

3-2.S3バケットの例

信頼ゾーン外の正規ユーザーからS3バケットを利用できるようになっています。 「次を介して共有」という列に「バケットACL」と記載がありました。

f:id:swx-watanabe:20210208113230p:plainf:id:swx-watanabe:20210208113230p:plain

S3バケットの設定を確認すると、他のAWSアカウントのアクセスに正規IDの指定があります。

f:id:swx-watanabe:20210208113242p:plain

確認したところ、この正規ユーザーからのアクセスは不要とわかったので、バケットACLから設定を削除しました。

これでセキュアになったはずなので、Access Analyzerで再度チェックします。 ただ、公式ドキュメント(結果の解決)によると、30分以内にステータスが「解決済み」になり、その90分後に「削除」されるとのことなので、今回は待ってみます。

ポリシーが変更されてから Access Analyzer がリソースを再度分析して結果を更新するまでに、最大で 30 分かかる場合があります。解決済みの結果は、結果のステータスに対する最終更新から 90 分後に削除されます。

20分程度経つと、アクティブからは消え、解決済みに移動していました。

f:id:swx-watanabe:20210208113259p:plain

f:id:swx-watanabe:20210208113312p:plain

さらに90分後に削除されるのかなと思ったのですが、解決済みのままでした。 少し書いてあることと違うような気もするのですが、問題ないでしょう。

で、料金は?

IAM Access Analyzerは無料でした。

渡辺 信秀(記事一覧)

2017年入社 / 地味な内容を丁寧に書きたい