继承运算符
继承运算符控制继承的策略和账户策略如何合并到账户的有效策略中。这些运算符包括值设置运算符和子控制运算符。
在 AWS Organizations 控制台中使用可视化编辑器时,您只能使用 @@assign
运算符。其他运算符被视为高级功能。要使用其他运算符,您必须手动编写 JSON 策略。经验丰富的策略作者可以使用继承运算符来控制应用于有效策略的值,并限制子策略可以进行的更改。
值设置运算符
您可以使用以下值设置运算符来控制策略与其父策略交互的方式:
-
@@assign
– 用指定设置覆盖任何继承的策略设置。如果未继承指定的设置,则此运算符会将该设置添加到有效策略中。此运算符可以应用于任何类型的任何策略设置。-
对于单值设置,此运算符将继承的值替换为指定值。
-
对于多值设置(JSON 数组),此运算符将删除所有继承的值,并将其替换为此策略指定的值。
-
-
@@append
– 向继承的设置添加指定的设置(而不删除任何设置)。如果未继承指定的设置,则此运算符会将该设置添加到有效策略中。只能将此运算符用于多值设置。-
此运算符将指定的值添加到继承数组中的任何值。
-
-
@@remove
– 从有效策略中删除指定的继承设置(如果存在)。只能将此运算符用于多值设置。-
此运算符仅从继承自父策略的值数组中删除指定值。其他值可以继续存在于数组中,并且可由子策略继承。
-
子控制运算符
使用子控制运算符是可选的。您可以使用 @@operators_allowed_for_child_policies
运算符控制子策略可以使用哪些值设置运算符。您可以允许所有运算符、一些特定运算符或不允许运算符。默认情况下,允许所有运算符 (@@all
)。
-
"@@operators_allowed_for_child_policies"
:["@@all"]
– 子 OU 和账户可以在策略中使用任何运算符。默认情况下,子策略中允许使用所有运算符。 -
"@@operators_allowed_for_child_policies"
:["@@assign", "@@append", "@@remove"]
– 子 OU 和账户只能在子策略中使用指定的运算符。您可以在此子控制运算符中指定一个或多个值设置运算符。 -
"@@operators_allowed_for_child_policies"
:["@@none"]
– 子 OU 和账户不能在策略中使用运算符。可以使用此运算符有效锁定在父策略中定义的值,以使子策略无法添加、追加或删除这些值。
注意
如果继承的子控制运算符限制使用某个运算符,您无法在子策略中反转该规则。如果您在父策略中包括子控制运算符,则它们会在所有子策略中限制值设置运算符。