

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AI 服務選擇退出政策語法和範例
<a name="orgs_manage_policies_ai-opt-out_syntax"></a>

本主題說明人工智慧 (AI) 服務選擇退出政策語法，並提供了範例。

## AI 服務選擇退出政策的語法
<a name="ai-opt-out-policy-syntax-reference"></a>

AI 服務選擇退出政策是根據 [JSON](http://json.org) 規則建構的純文字檔。AI 服務選擇退出政策的語法遵循管理政策類型的語法。如需該語法的完整討論，請參閱[理解管理政策繼承](orgs_manage_policies_inheritance_mgmt.md)。本主題著重於以該一般語法滿足 AI 服務選擇退出政策類型的特定需求。

**重要**  
本節中討論的值的大小寫很重要。輸入具有大小寫字母的值，如本主題所示。如果您使用未預期的大小寫，政策將無法運作。

下列政策顯示基本的 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 服務。
    + `aiops`
    + `aidevops`
    + `awssupplychain`
    + `chimesdkvoiceanalytics`
    + `cloudwatch`
    + `codeguruprofiler`
    + `codewhisperer`
    + `comprehend`
    + `connect`
    + `connectamd`
    + `connectoptimization`
    + `contactlens`
    + `datazone`
    + `dms`
    + `entityresolution`
    + `frauddetector`
    + `glue`
    + `guardduty`
    + `lex`
    + `polly`
    + `q`
    + `quicksightq`
    + `rekognition`
    + `securitylake`
    + `textract`
    + `transcribe`
    + `transform`
    + `translate`
    + `workspaces`
    + `securityhub`

    透過服務名稱鍵識別的每個政策陳述式都可以包含下列元素：
    + `opt_out_policy` 索引鍵。此鍵必須存在。這是您可以放置在服務名稱鍵下的唯一鍵。

      `opt_out_policy` 鍵可以***僅***包含 `@@assign` 運算子 (具有下列其中一個值)：
      + `optOut` – 您選擇退出指定 AI 服務使用的內容。
      + `optIn` – 您選擇加入指定 AI 服務使用的內容。
**備註**  
您無法使用 `@@append` 和 `@@remove` AI 服務選擇退出政策中的繼承運算子。
您無法使用 AI 服務選擇退出政策中的 `@@enforced_for` 運算子。
  + 在任何層級，您都可以指定 `@@operators_allowed_for_child_policies` 運算子，來控制子政策可以執行哪些動作來覆寫父政策強加的設定。您可以指定下列其中一個值：
    + `@@assign` – 此政策的子政策可以使用 `@@assign` 運算子，以不同的值覆蓋繼承的值。
    + `@@none` – 此政策的子政策無法變更值。

    `@@operators_allowed_for_child_policies` 的行為取決於您放置它的位置。您可以在下列位置使用：
    + 在 `services` 鍵下方 – 控制子政策是否可以在有效政策中新增或變更服務清單。
    + 在特定 AI 服務的鍵下，或 `default` 鍵 - 控制子政策是否可以新增或變更此特定項目下的鍵清單。
    + 在特定服務的 `opt_out_policies` 鍵下 – 控制子政策是否只能變更此特定服務的設定。

## AI 服務選擇退出政策範例
<a name="ai-opt-out-policy-examples"></a>

接下來的政策範例僅供參考。

### 範例 1：選擇退出組織中所有帳戶的所有 AI 服務
<a name="ai-opt-out-policy-example-1"></a>

下列範例顯示您可以連接至組織根的政策，以選擇退出組織中帳戶的 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] – `"@@operators_allowed_for_child_policies": ["@@none"]` 在 `services` 下，可防止任何子政策針對個別服務新增已經存在的 `default` 區段之外的任何新區段。`Default` 代表「所有 AI 服務」的預留位置。
+ [2] – `"@@operators_allowed_for_child_policies": ["@@none"]` 在 `default` 下，可防止任何子政策新增已經存在的 `opt_out_policy` 區段之外的任何新區段。
+ [3] – `"@@operators_allowed_for_child_policies": ["@@none"]` 在 `opt_out_policy` 下，可防止子政策變更 `optOut` 設定的值或新增任何其他設定。

### 範例 2：為所有服務設定組織預設設定，但允許子政策覆寫個別服務的設定
<a name="ai-opt-out-policy-example-2"></a>

下列範例政策會為所有 AI 服務設定整個組織的預設值。`default` 的值，可防止子政策變更服務 `default` 的 `optOut` 值，這是所有 AI 服務的預留位置。如果將此政策連接至根或 OU，以將其套用為父政策，則子政策仍然可以變更個別服務的選擇退出設定，如第二項政策所示。
+ 因為沒有 `"@@operators_allowed_for_child_policies": ["@@none"]` 在 `services` 鍵下，子政策可以為個別服務新增區段。
+ `"@@operators_allowed_for_child_policies": ["@@none"]` 在 `default` 下，可防止任何子政策新增已經存在的 `opt_out_policy` 區段之外的任何新區段。
+ `"@@operators_allowed_for_child_policies": ["@@none"]` 在 `opt_out_policy` 下，可防止子政策變更 `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 帳戶 是帳戶只選擇加入 Amazon Lex，並且因為父政策的繼承`default`選擇退出設定而選擇退出所有其他 AWS AI 服務。

### 範例 3：針對單一服務定義整個組織的 AI 服務選擇退出政策
<a name="ai-opt-out-policy-example-3"></a>

下列範例顯示 AI 服務選擇退出政策，定義單一 AI 服務的 `optOut` 設定。如果此政策連接至組織的根，它會防止任何子政策覆寫這一項服務的 `optOut` 設定。其他服務並未透過此政策解決，但可能會受其他 OU 或帳戶中的子政策的影響。

```
{
    "services": {
        "rekognition": {
            "opt_out_policy": {
                "@@assign": "optOut",
                "@@operators_allowed_for_child_policies": ["@@none"]
            }
        }
    }
}
```