サービスコントロールポリシー (SCP) の文字数制限を増やすか、AWS Organization 内のエンティティにもっと SCP をアタッチしたいと考えています。
解決策
AWS Organizations サービスには、アカウントあたり 5 つの SCP というハードリミットがあります。
これらの方法を使用して、アカウントに直接アタッチされる SCP の数を減らし、組織内の制限を追加できるようにするには、以下の方法を使用します。
- 複数の SCP を 1 つの SCP に統合する
- 組織単位 (OU) の階層で SCP 継承を使用する
複数の SCP を 1 つの SCP に統合する
SCP のサイズがポリシーのサイズ制限である 5,120 バイト未満の場合は、この方法を使用します。
SCP のサイズ制限を減らすには、次の推奨事項に従ってください。
- SCP を確認して、重複する権限を削除してください。たとえば、同じ Effect 要素と Resource 要素を持つすべてのアクションを、複数のステートメントではなく 1 つのステートメントに配置します。
- ステートメント ID (Sid) などの不要な要素は、許容される合計文字数にカウントされるため、削除してください。
- 同じサフィックスまたはプレフィックスを持つアクションにはワイルドカードを使用します。たとえば、ec2:DescribeInstance、ec2:DescribeTags、 ec2:DescribeSubnets というアクションは、ec2:Describe* として組み合わせることができます。
**重要:**ワイルドカードを使用すると、組織内にさらなるセキュリティリスクが生じる可能性があります。ワイルドカードは、多くの場合、複数のリソースに対して幅広い権限を付与し、組織内のユーザーやロールに意図しない権限を付与する可能性があります。この方法で AWS Lambda 関数に権限を適用しないでください。ワイルドカードは、十分な注意を払った上で使用するようにしてください。
OU 階層で SCP 継承を使用する
5 つの SCP の制限には、親から継承された SCP は含まれません。OU とメンバーアカウントの SCP の継承構造を使用して、SCP を複数の OU に分散できます。たとえば、組織のメンバーアカウントを持つ IAM ユーザーまたはロールが AWS サービスにアクセスすることを拒否するには、組織構造を次のように設定します。
Root <--- 1 full access SCP (1 directly attached)
|
OU1 <--- 1 full access, 4 deny SCPs (5 directly attached, 1 inherited)
|
OU2 <--- 1 full access, 4 deny SCPs (5 directly attached, 6 inherited)
|
Account <--- 1 full access, 4 deny SCPs (5 directly attached, 11 inherited)
|
Bob
組織階層の各ノードで SCP によってフィルタリングされる権限は、直接接続された SCP と継承された SCP が混在しています。この例では、メンバーアカウントの AWS Identity and Access Management (IAM) ユーザー Bob に許可される有効な権限は、フルアクセスから 12 の拒否ベースの SCP によって拒否されたサービスを差し引いたものです。このアプローチは、組織階層内に配置できるネストされた OU の最大数が 5 つであるため、スケーラブルです。詳細については、SCP 評価とAWS Organizations のクォータを参照してください。
関連情報
SCP を使用する際の戦略