Amazon Web Services ブログ

IAM Access Analyzer の更新 – ポリシー検証

AWS Identity and Access Management (IAM) は AWS の重要で基本的な部分です。特定の AWS のサービスやリソースへのアクセスのレベルを定義する IAM ポリシーおよびサービスコントロールポリシー (SCP) を作成して、そうしたポリシーを IAM プリンシパル (ユーザーおよびロール)、ユーザーの グループ、または AWS リソースにアタッチすることができます。IAM で得られるきめ細かなコントロールでは、IAM を適切に使用する責任が発生します。ほとんどの場合、最小権限アクセス確立するのが妥当です。IAM チュートリアルは詳細を学ぶのに役立ち、IAM Access Analyzer は、外部エンティティと共有されているリソースを特定するのに役立ちます。最近、IAM Access Analyzer の更新を開始しました。これにより、アクセス許可の変更をデプロイする前に S3 バケットへのアクセスを検証することができます。

新しいポリシーの検証
本日、IAM Access Analyzer にポリシー検証を追加することを発表いたします。この強力な新機能は、時間をかけてテストされた AWS のベストプラクティスを活用する IAM ポリシーと SCP を構築するのに役立ちます。

デベロッパーおよびセキュリティチームが使用できるように設計されており、IAM プリンシパルにポリシーがアタッチされる前に検証が行われます。セキュリティ体制を改善し、大規模なポリシー管理を簡素化できるように設計された 100 以上のチェックが実行されます。各チェックの結果には、詳細な情報や具体的な推奨事項が含まれます。

検証には、IAM コンソールの JSON ポリシーエディタ、ならびにコマンドライン (AWS Access Analyzer 検証ポリシー) および独自のコード (ValidatePolicy) からアクセスできます。CLI および API オプションを使用して、CI/CD ワークフローの一部として、プログラムによる検証を実行できます。

IAM コンソールでは、カスタマー管理ポリシーを作成または編集するたびに、ポリシーの検証がリアルタイムで行われ、結果が重要度ごとに分類されます。次に例を示します。

セキュリティ – 過度に許可され、セキュリティ上のリスクとなる可能性のあるポリシー要素。これには、リソースとしての NotResource または「*」 (ワイルドカード) と組み合わせた iam:PassRole の使用が含まれます。

エラー – ポリシーの機能を停止するポリシー要素。これには、多くの種類の構文エラー、欠落したアクション、無効な構成などがあります。

警告 – 非推奨のグローバル条件キーや無効なユーザーへの参照、あいまいな日付の使用など、AWS のベストプラクティスに準拠しないポリシー要素。

提案 – 欠落している、空、または冗長なポリシー要素。

知っておくべきこと
前述したたように、現在 100 以上のチェックのセットで起動しています。時間とともにさらに追加する予定があり、皆様からのご提案を歓迎します。

Amazon では、「自分たちのシャンパンを飲む」という精神に基づき、Amazon が管理する IAM ポリシーを定期的に検証し、適宜微調整しています。当社は、随時、、既存の管理ポリシーを非推奨としてマークし、E メールでお客様に通知を発行し、更新された代替を利用可能にします。当社のプロセスの詳細については、非推奨の AWS 管理ポリシーをお読みください。

ご存知のように、AWS で利用できるオープンソースのポリシーリンターはすでにいくつかあります。よく知られているParliamentDuo Labs などです。お客様から、こうしたツールは便利であるが、ポリシーを編集している間にアクティブである AWS ネイティブの検証機能が欲しいとの声があります。IAM チームのデベロッパーのグループがこうしたフィードバックに対応し、ポリシー検証をゼロから実装しました。

この機能は現在、すべての AWS リージョンで無料で使用できます。

Jeff