3

CloudFormationとCodePipelineの小さなテンプレートでは、必要な役割のための最小限の特権IAMポリシーを取得するために "試してみる"ことができました。最小特権AWSクラウドのためのIAMポリシー

これは通常含まれます

  • がスタック
  • を作成し、最小限のポリシー
  • を皮切りそれはで失敗する - スタックsomeServiceへの権利を持っていない:someAction
  • はにサービスアクションを追加します。ポリシー
  • スタックを更新して再試行してください。

大規模なCloudFormationテンプレートの場合、このアプローチは時間がかかりすぎます。
どのように開発していますか最小特権IAMポリシー

アイデア:

  • 「*」を許可して、イベントのためにcloudtrailをこすりし、それらと同等の役割に記載されているイベントのためのマップを構築する - そしてcloudtrailログに記載されているもののみにロールを減らします。

  • アクセス・アドバイザ

答えて

1

Grant least privilege

  • に役立ちます。ドキュメントは、増分実際に(おそらくテスト段階で権限のより広範なセットを使用して)アプリケーションで使用されているサービスを決定するためにAccess Advisorタブを使用して、特定の権限を追加することをお勧めします:

    それはで開始するより安全ですあまりにも寛容なアクセス許可で始めるのではなく、後でそれらを強化しようとするのではなく、必要最小限のアクセス許可のセットを作成し、必要に応じて追加のアクセス許可を与えます。

    適切な権限セットを定義するには、特定のタスクに必要なもの、特定のサービスがサポートするアクション、およびそれらのアクションを実行するために必要な権限を特定するための調査が必要です。

    Access Advisorタブは、IAMコンソール概要ページで利用できます。ユーザ、グループ、役割、またはポリシーを検査するたびに表示されます。このタブには、ユーザー、グループ、役割、またはポリシーを使用する人が実際に使用するサービスに関する情報が含まれます。この情報を使用して不要な権限を識別することで、IAMポリシーを改良して最小権限の原則をよりよく守ることができます。詳細については、Service Last Accessed Dataを参照してください。

    このアプローチは、特定のIAMロール/アプリケーションによって生成されたAPIイベントのCloudTrailを削ることと似ていますが、関連するイベントを見つけるためにイベントストリーム全体をフィルタリングすることは難しいかもしれません。アドバイザーリストは既にフィルタリングされています。

  • 関連する問題