我想要增加服務控制政策 (SCP) 的字元限制,或將更多 SCP 連接至 AWS Organization 中的實體。
解決方法
AWS Organizations 服務每個帳戶的固定限制為五個 SCP。如果您將太多 SCP 附加到帳戶、OU 或根目錄,則可能會收到ConstraintViolationException。
SCP 的大小上限為 5,120 個字元,包括任何額外的空格或換行符。如需詳細資訊,請參閱 AWS Organizations 的配額和服務限制。
使用以下方法可減少直接連接至帳戶的 SCP 數量,以允許組織中的其他限制。
- 將多個 SCP 合併為單一 SCP
- 在組織單位 (OU) 階層中使用 SCP 繼承
將多個 SCP 合併為單一 SCP
如果 SCP 的大小為小於 5,120 位元組的原則大小限制,請使用此方法。
請遵循下列建議以減少 SCP 大小限制:
-
請檢閱您的 SCP 並移除任何重複的許可。例如,將具有相同 Effect 和 Resource 元素的所有動作放在一個陳述式中,而不是放在多個陳述式中。
-
移除任何不必要的元素,例如陳述式 ID (Sid),因為該元素會計入允許的字元總數。
-
對於具有相同字尾或字首的動作,請使用萬用字元。例如,動作 ec2:DescribeInstances、ec2:DescribeTags 和 ec2:DescribeSubnets 可以組合為 ec2:Describe*。
**重要:**萬用字元可能會在組織中建立其他安全風險。萬用字元會授予廣泛的許可,通常是針對多個資源。萬用字元可為您組織中的 AWS Identity and Access Management (IAM)身分(使用者、群組、角色)授予意外的權限。請勿將此方法使用在 AWS Lambda 函數來套用權限。請務必在執行盡職調查後才使用萬用字元。避免在 IAM 政策中授予萬用字元權限的最佳實務。
在 OU 階層中使用 SCP 繼承
五個 SCP 限制不包括繼承自父項的 SCP。您可以使用 OU 和成員帳戶的 SCP 繼承結構,在多個 OU 中分配 SCP。例如,若要拒絕組織成員帳戶的 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 的交集。在此範例中,成員帳戶中的 IAM 使用者 Bob 具有完整存取權,扣掉 12 項根據 SCP 拒絕的服務。這種方法是可擴充的,因為您的組織階層中可擁有的巢狀 OU 數量上限為五個。
如需詳細資訊,請參閱 SCP 評估。
相關資訊
在多帳戶環境中,充分利用服務控制政策