IAM エラー「Maximum policy size of xxxxx bytes exceeded for the user or role (ユーザーまたはロールのポリシーの最大サイズが xxxxx バイトを超えました) 」を解決するにはどうすればよいですか。

最終更新日: 2022 年 3 月 10 日

次のような AWS Identity and Access Management (IAM) のエラーメッセージが表示されました。

「Maximum policy size of xxxxx bytes exceeded for the user or role. (ユーザーまたはロールの最大ポリシーサイズの xxxxx バイトを超えました。) 」

IAM ロールまたはユーザーのデフォルトの管理ポリシーを増やしたり、文字サイズ制限を引き上げたりするにはどうすればよいですか?

簡単な説明

IAM ロールまたはユーザーにアタッチできるマネージドポリシーの上限は 20 です。管理ポリシーの最大文字サイズ制限は 6,144 です。詳細については、IAM オブジェクトクォータおよび IAM および AWS STS クォータを参照してください。

注: マネージドポリシーのデフォルトの制限は 10 です。デフォルトの制限を 10 から 20 まで引き上げるには、サービスクォータの引き上げのリクエストを送信する必要があります。

解決方法

IAM グループ、ユーザー、ロール、またはポリシーのマネージドポリシーまたは文字サイズの制限に達した場合は、シナリオに応じて次の回避策を実行してください。

IAM グループ

別の IAM グループを作成します。アカウントごとに最大 300 の IAM グループを持つことができます。マネージドポリシーを IAM グループではなく IAM ユーザーにアタッチします。最大 20 個のマネージドポリシーを IAM ロールとユーザーにアタッチできます。

IAM ユーザー

IAM グループをさらに作成し、マネージドポリシーをグループにアタッチします。IAM ユーザーを最大 10 のグループに割り当てることができます。また、各グループには最大 10 個のマネージドポリシー、つまり最大 120 個のポリシー (IAM ユーザーにアタッチされる 20 のマネージドポリシー + 10 の IAM グループ × それぞれのグループに割り当てられる 10 のポリシー) をアタッチできます。

マネージドポリシーを結合する

複数のマネージドポリシーを 1 つのポリシーに結合します。マネージドポリシーごとに最大 6,144 文字を追加できます。

管理ポリシーの文字サイズを縮小する

同じ Effect を持つすべてのアクションを組み合わせて、重複した許可を削除します。リソースステートメントと条件ステートメントを組み合わせて、Sid などの不要なステートメントを削除します。同じサフィックスまたはプレフィックスを持つアクションにはワイルドカード (*) を使用します。

マネージドポリシーの代わりにインラインポリシーを使用する

インラインポリシーは必要なだけ使用できますが、ポリシーの合計サイズは文字クォータを超えることはできません。インラインポリシーの文字制限は、ユーザーが 2,048、ロールが 10,240、グループが 5,120 です。

重要: インラインポリシーではなく、カスタマーマネージドポリシーを使用することがベストプラクティスです。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?