Prowler は、クラウドのアカウントの設定を読み取り、「S3 バケットが公開されている」のような危ない設定を見つけて一覧にするツールです。AWS では、読み取り専用の権限を付けたユーザーかロールを用意するだけで点検を始められます。
この記事は、AWS などのクラウドを管理していて、設定に穴がないか確かめたい人に向けています。読み終えると、次のことができるようになります。
- Prowler に必要な AWS の権限を用意する
- 自分の AWS アカウントを点検して、レポートを読む
- 調べるサービスや結果を絞り込む
Prowler でできること
Prowler は、クラウドの API を呼び出して設定を集め、用意されたチェック項目と照らし合わせます。チェック項目は CIS、NIST、PCI-DSS、ISO 27001 などの基準にひも付いているので、どの基準のどの項目を満たしていないかが分かります。
公式が対応している主な対象は次のとおりです。
| 種類 | 対象 |
|---|---|
| クラウド | AWS、Azure、Google Cloud、Oracle Cloud(OCI)、Alibaba Cloud |
| コンテナ | Kubernetes |
| SaaS | Microsoft 365、Google Workspace、GitHub、Cloudflare、MongoDB Atlas、Okta、Vercel など |
| コード | IaC(Terraform などの設定ファイル。内部で Trivy を使います) |
対象の数はよく増えるので、最新の一覧は公式リポジトリの表か Prowler Hub で確かめてください。
Prowler には、コマンドラインで使う Prowler CLI のほかに、Web 画面で使う Prowler Local Server と、クラウドサービスの Prowler Cloud があります。この記事では Prowler CLI を扱います。
--fixer を付けて自動修正を実行したときだけです。必要な権限(AWS の場合)
公式ドキュメントは、Prowler を動かすユーザーかロールに、AWS が用意している次の 2 つのポリシーを付けるよう案内しています。
SecurityAuditViewOnlyAccess
一部のチェックには、これに加えて読み取り用の権限が必要です。公式リポジトリの prowler-additions-policy.json をカスタムポリシーとして付けます。
どれも読み取りのための権限です。点検に書き込みの権限は要らないので、管理者権限の認証情報で Prowler を動かさないでください。
安全な試し方:自分の AWS アカウントを点検する
-
Python 3.10 以上を用意し、
pipx install prowlerかpip install prowlerでインストールします。macOS と Linux ではbrew install prowlerも使えます。prowler -vでバージョンが表示されれば完了です。 -
自分の AWS アカウントに、上の権限だけを付けた IAM ユーザーかロールを作ります。
-
その認証情報を AWS CLI のプロファイルとして設定します。
-
プロファイルとリージョンを指定して実行します。
prowler aws --profile custom-profile -f us-east-1 -
実行が終わると、
outputフォルダに CSV、JSON-OCSF、HTML のレポートができます。HTML を開くと、チェックごとの結果(PASS や FAIL)を確かめられます。
初めは -f でリージョンを 1 つに絞ると、短い時間で終わります。
主な使い方
| やりたいこと | コマンド |
|---|---|
| 使えるチェック項目を一覧にする | prowler aws --list-checks |
| 使える基準(コンプライアンス)を一覧にする | prowler aws --list-compliance |
| 特定のサービスだけ調べる | prowler aws --services s3 ec2 |
| 特定のチェックを外す | prowler aws --excluded-checks s3_bucket_public_access |
| 不合格(FAIL)の結果だけ出す | prowler aws --status FAIL |
| 出力形式と保存先を決める | prowler aws -M csv json-ocsf -o <保存先のフォルダ> |
| レポートをブラウザで見る | prowler dashboard |
Prowler は、不合格のチェックがあると終了コード 3 で終わります。CI で止めたくないときは -z(--ignore-exit-code-3)を付けます。
注意点
- 点検する対象は、自分のアカウントか、書面で許可を得たアカウントに限ってください。他人の認証情報を使って点検してはいけません。
--fixerを付けると、Prowler がクラウドの設定を書き換えます。公式ドキュメントによると、Access Analyzer、GuardDuty、Security Hub の修正では AWS の料金がかかることがあります。使う前にprowler aws --list-fixersで内容を確かめてください。prowler dashboardの画面には認証がありません。インターネットから見える場所で公開しないでください。- レポートにはアカウント ID やリソース名が入ります。人に渡す前に中身を確かめてください。
- Windows で動かす手順は、公式ドキュメントでは確認できませんでした(未確認)。公式の Docker イメージ(
toniblyx/prowler)も公開されています。
次に読む
出典
- 公式リポジトリ READMEgithub.com/prowler-cloud/prowler
- ドキュメント:Prowler CLI のインストールdocs.prowler.com/getting-started/installation/prowler-cli
- ドキュメント:Prowler CLI の基本的な使い方docs.prowler.com/getting-started/basic-usage/prowler-cli
- ドキュメント:AWS の認証と必要な権限docs.prowler.com/user-guide/providers/aws/authentication
- ドキュメント:Fixer(自動修正)docs.prowler.com/user-guide/cli/tutorials/fixer
- ドキュメント:その他のオプションdocs.prowler.com/user-guide/cli/tutorials/misc
- ドキュメント:ローカルダッシュボードdocs.prowler.com/user-guide/cli/tutorials/dashboard
確認日 2026-10-24
似たツール
Trivy
影響範囲 手元だけコンテナイメージやコード、Kubernetes の脆弱性・設定ミス・埋め込まれた秘密情報を見つけるスキャナー。
- 用途
- 防御
- 形式
- コマンドライン
- 難易度
- 初級
- ライセンス
- 自由に使えるApache-2.0
- 分類
- 脆弱性スキャン/コンテナ・クラウド