自動的に作成されたロールに最小特権のアクセス許可を適用する
サービスコンソールでリソースを作成する場合、ロールマネージャーはリソースに必要な IAM ロールを提供します。独自のコードの実行などの一部のタスクについては、AWS は必要なアクセス許可を事前に判断することができません。その結果、ロールはリソースが必要とするよりも多くのアクセス許可を付与する場合があります。リソースに本当に必要なアクセス許可を確認できたら、ロールのアクセス許可をそれに合わせて縮小することができます。
ロールマネージャーを無効にしても、ロールマネージャーが以前に作成したロールには影響しません。アクセス許可を縮小することなくロールマネージャーを無効にすることができます。また、ロールマネージャーを無効にせずにロールのアクセス許可を縮小することもできます。
最小特権アクセス許可を適用すべき状況
リソースに本当に必要なアクセス許可のみをロールに付与することは、最小特権の原則に沿ったセキュリティのベストプラクティスです。ほとんどのロールでは、ロールマネージャーは適切なアクセス許可範囲を持つロールを作成します。しかし、コンピューティングリソースやクラウドインフラストラクチャ管理などの一部のロールについては、ロールマネージャーがアクセス許可範囲を広めに設定したロールを作成することがあります。
ロールマネージャーによって作成されたロールの範囲を絞り込む準備ができたら、PII や本番稼働用データの処理など、最も機密性の高いワークロードやリソースに関連付けられたロールから絞り込みを始めることをお勧めします。詳細については最小特権アクセス許可に備えるを参照してください。
使用されていないアクセスを分析する方法
ロールマネージャーを無効にする前に、AWS では、AWS Identity and Access Management Access Analyzerの使用 を使用して、お使いのアカウントで使用されていないアクセスをチェックするアナライザーの作成を推奨しています。このアナライザーは、各ロールで実行可能なアクションと実際に実行されたアクションを比較し、使用されていないアクセス許可を検出して報告します。アナライザーは、ユーザーが作成したロールを含めた、アカウント内の IAM ロールを確認します。アナライザーは、観測した内容を検出結果として報告します。検出結果は、IAM コンソールの [ロール] ページに表示されます。ロールごとに、使用されていないアクセス許可の数を確認し、推奨事項を開くことができます。詳細については、「IAM Access Analyzer の検出結果」を参照してください。
注記
新しい AWS エクスペリエンスを使用して作成されたアカウントで AWS によりロールマネージャーが有効化されていた場合、ロールマネージャーを最初に無効にしたときにアナライザーを作成する必要はありません。高度な機能をアクティブ化してロールマネージャーを無効にすると、AWS は使用されていないアクセスのアナライザー機能を 90 日間追加料金なしで提供します。このアナライザーを使用することで、使用されていないロールのアクセス許可と、ポリシー範囲の縮小に関する推奨事項を可視化できるため、ロールマネージャーが作成したロールを最小特権状態に更新できます。
前提条件
アクセスアナライザーの検出結果を確認するには、access-analyzer:ListFindings アクションを実行するためのアクセス許可が必要です。推奨事項を適用するには、そのロールで iam:CreatePolicy、iam:AttachRolePolicy、および iam:DetachRolePolicy を実行するアクセス許可が必要です。
コンソールでロールのアクセス許可を縮小するには
-
AWS マネジメントコンソール にサインインし、IAM コンソール を開きます。
-
ナビゲーションペインで Roles (ロール) を選択してください。
-
アクセス許可を縮小したいロールの名前を選択します。
-
そのロールについて報告された使用されていないアクセス許可を確認し、[アクセス許可を縮小する] を選択します。
-
推奨されるアクセス許可範囲をロールの現在のアクセス許可範囲と比較し、推奨事項に提示された削除アクションを確認します。
-
[Apply] (適用) を選択します。
推奨されるアクセス許可の仕組み
使用されていないアクセスのアナライザーの検出結果に基づいて、IAM は推奨されるアクセス許可を含む 1 つ以上のカスタマー管理ポリシーを作成します。IAM は古いポリシーをデタッチする前に新しいポリシーをアタッチするため、ロールは変更全体を通してアクセス許可を保持します。
例えば、AWS Lambda 実行ロールについて考えてみましょう。IAM アクセスアナライザーは、どのロールのアクセス許可が使用されていないかをレポートし、Amazon CloudWatch Logs へのログの書き込みなど、ロールが実際に実行しているアクションを対象とするポリシーを推奨します。関数の機能に照らして推奨事項を確認し、関数が必要とするすべてのアクセスをカバーできていることを確認できたら、推奨事項を適用します。その後、ロールは関数に必要なアクションのみを許可するようになります。
重要
推奨事項は、過去 30 日間のアクティビティに基づいて提示されます。四半期ジョブのように長期的に使用頻度が低いアクセス許可は、未使用として表示される場合があります。適用する前に、ワークロードの実際のニーズに照らして推奨事項を確認してください。
ロールのポリシーまたは信頼ポリシーを変更すると、ロールマネージャーはそのロールを管理しなくなります。ロールは、最初にロールの作成に使用されたロールテンプレートのバージョン変更を取得しなくなります。
IAM は、ユーザーがロールにアタッチできるマネージドポリシーの数を制限します。推奨事項を適用するとその制限を超える場合には、コンソールからその旨の通知が提供され、変更は適用されません。このクォータの詳細については、「IAM と AWS STSクォータ」を参照してください。