AI 服务选择退出策略语法和示例
本主题介绍人工智能(AI)服务选择退出策略语法并提供示例。
AI 服务选择退出策略的语法
AI 服务选择退出策略是一个纯文本文件,根据 JSON
重要
本部分中讨论的值的大写十分重要。使用大写和小写字母输入值,如本主题所示。如果您使用意外的大写,则策略不起作用。
以下策略显示了基本的 AI 服务选择退出策略语法。如果此示例直接附加到账户,则该账户将被明确选择退出一个服务,然后选择启用另一个服务。从更高级别(OU 或根策略)继承的策略可以选择启用或选择退出其他服务。
{ "services": { "rekognition": { "opt_out_policy": { "@@assign": "optOut" } }, "lex": { "opt_out_policy": { "@@assign": "optIn" } } } }
设想附加到组织根的以下策略示例。它设置组织选择退出所有 AI 服务的默认设置。这将自动包括任何未明确豁免的 AI 服务,包括AWS可能会在以后部署的任何 AI 服务。您可以将子策略附加到 OU 或直接附加到账户,以覆盖除 Amazon Comprehend 之外的任何 AI 服务的此设置。以下示例中的第二个条目使用 @@operators_allowed_for_child_policies
将该设置设为 none
以防止覆盖。示例中的第三个条目在整个组织范围内为 Amazon Rekognition 提供豁免。它在整个组织中选择启用该服务,但策略确实允许在适当的情况下覆盖子策略。
{ "services": { "default": { "opt_out_policy": { "@@assign": "optOut" } }, "comprehend": { "opt_out_policy": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "optOut" } }, "rekognition": { "opt_out_policy": { "@@assign": "optIn" } } } }
AI 服务选择退出策略语法包括以下元素:
-
services
元素。AI 服务选择退出策略由此固定名称标识为最外层包含元素的 JSON。AI 服务选择退出策略可以在
services
元素下拥有一个或多个语句。每个语句包含以下元素:-
服务名称键,用于标识AWS AI 服务。以下键名称是此字段的有效值:
-
default
– 代表所有当前可用的 AI 服务,并隐式和自动包括将来可能添加的任何 AI 服务。 -
awssupplychain
-
dms
-
chimesdkvoiceanalytics
-
cloudwatch
-
codeguruprofiler
-
codewhisperer
-
comprehend
-
connectamd
-
connectoptimization
-
contactlens
-
datazone
-
entityresolution
-
frauddetector
-
glue
-
guardduty
-
lex
-
polly
-
q
-
quicksightq
-
rekognition
-
securitylake
-
textract
-
transcribe
-
translate
由服务名称键标识的每个策略语句都可以包含以下元素:
-
opt_out_policy
密钥。此键必须存在。这是您可以放置在服务名称键下的唯一键。opt_out_policy
键仅包含具有以下值之一的@@assign
运算符:-
optOut
– 您可以选择退出指定 AI 服务的内容使用。 -
optIn
– 您可以选择启用指定 AI 服务的内容使用。注意
-
您不能在 AI 服务选择退出策略中使用
@@append
和@@remove
继承运算符。 -
您不能在 AI 服务选择退出策略中使用
@@enforced_for
运算符。
-
-
-
-
在任何级别上,您都可以指定
@@operators_allowed_for_child_policies
运算符来控制子策略可以执行哪些操作来覆盖父策略施加的设置。可以指定以下值之一:-
@@assign
– 此策略的子策略可以通过@@assign
运算符使用其他值来覆盖继承值。 -
@@none
– 此策略的子策略不能更改该值。
@@operators_allowed_for_child_policies
的行为取决于您放置它的位置。您可以使用以下位置:-
services
键下 – 控制子策略是否可以添加或更改有效策略中的服务列表。 -
在特定 AI 服务的键或
default
键下 – 控制子策略是否可以添加或更改此特定条目下的键列表。 -
特定服务的
opt_out_policies
键下 – 控制子策略是否只能更改此特定服务的设置。
-
-
AI 服务选择退出策略示例
下面的示例策略仅供参考。
示例 1:选择退出组织中所有账户的所有 AI 服务
以下示例显示了一个策略,您可以将该策略附加到组织的根,以选择退出组织中的账户的 AI 服务。
提示
如果您使用示例右上角的复制按钮复制以下示例,则副本不包括行号。它已准备好粘贴。
|
{|
"services": {[1] |
"@@operators_allowed_for_child_policies": ["@@none"],|
"default": {[2] |
"@@operators_allowed_for_child_policies": ["@@none"],|
"opt_out_policy": {[3] |
"@@operators_allowed_for_child_policies": ["@@none"],|
"@@assign": "optOut"|
}|
}|
}|
}
-
[1] –
services
下的"@@operators_allowed_for_child_policies": ["@@none"]
会阻止任何子策略为单个服务添加除已存在default
部分之外的任何新部分。Default
是表示“所有 AI 服务”的占位符。 -
[2] –
default
下的"@@operators_allowed_for_child_policies": ["@@none"]
会阻止任何子策略添加除已存在opt_out_policy
部分之外的任何新部分。 -
[3] –
opt_out_policy
下的"@@operators_allowed_for_child_policies": ["@@none"]
会阻止子策略更改optOut
设置的值或添加任何其他设置。
示例 2:为所有服务设置组织默认设置,但允许子策略覆盖单个服务的设置
以下示例策略为所有 AI 服务设置了组织范围内的默认设置。default
的值阻止子策略更改 optOut
服务的 default
值,它是所有 AI 服务的占位符。如果通过将此策略附加到根策略或 OU 而将其作为父策略应用,则子策略仍然可以更改单个服务的选择退出设置,如第二个策略所示。
-
因为
services
键没有"@@operators_allowed_for_child_policies": ["@@none"]
,子策略可以为单个服务添加新部分。 -
default
下的"@@operators_allowed_for_child_policies": ["@@none"]
会阻止任何子策略添加除已存在opt_out_policy
部分之外的任何新部分。 -
opt_out_policy
下的"@@operators_allowed_for_child_policies": ["@@none"]
会阻止子策略更改optOut
设置的值或添加任何其他设置。
组织根用户 AI 服务选择退出父策略
{ "services": { "default": { "@@operators_allowed_for_child_policies": ["@@none"], "opt_out_policy": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "optOut" } } } }
以下示例策略假定上一个示例策略已附加到组织根或父 OU,并且您将此示例附加到受父策略影响的账户。它会覆盖默认的选择退出设置,并明确仅选择启用 Amazon Lex 服务。
AI 服务选择退出子策略
{ "services": { "lex": { "opt_out_policy": { "@@assign": "optIn" } } } }
为AWS 账户产生的有效政策是,由于继承了父策略中的 default
选择退出设置,该账户仅选择启用 Amazon Lex,并选择退出所有其他 AWS AI 服务。
示例 3:为单个服务定义组织范围内的 AI 服务选择退出策略
以下示例显示了 AI 服务选择退出策略,该策略定义了单个 AI 服务的 optOut
设置。如果此策略附加到组织的根,则会阻止任何子策略覆盖此服务的 optOut
设置。此策略不涉及其他服务,但可能会受到其他 OU 或账户中的子策略的影响。
{ "services": { "rekognition": { "opt_out_policy": { "@@assign": "optOut", "@@operators_allowed_for_child_policies": ["@@none"] } } } }