

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

# 使用 Amazon Bedrock Guardrails 強制執行套用跨帳戶防護
<a name="guardrails-enforcements"></a>

**注意**  
Amazon Bedrock Guardrails 強制執行為預覽版，可能會有所變更。

Amazon Bedrock Guardrails 強制執行可讓您在 AWS Amazon Bedrock 的所有模型調用中，自動套用帳戶層級和 AWS Organizations 層級 （跨帳戶） 的安全控制。這種集中式方法可跨多個帳戶和應用程式維持一致的防護，無需為個別帳戶和應用程式設定防護機制。

**關鍵功能**

以下是護欄強制執行的主要功能：
+ **組織層級強制執行** – 使用 Amazon Bedrock 政策 （預覽） 跨組織單位 (OUs)、個別帳戶或整個組織，為所有模型調用套用護欄 AWS Organizations。
+ **帳戶層級強制執行** – 為帳戶內所有來自該 AWS 帳戶的 Amazon Bedrock 模型調用指定特定版本的護欄。
+ **分層保護** – 當兩者都存在時，結合組織和應用程式特定的護欄。有效的安全控制將是兩個護欄的聯集，其中最嚴格的控制優先於兩個護欄的相同控制。

下列主題說明如何使用 Amazon Bedrock Guardrails 強制執行：

**Topics**
+ [實作指南](#guardrails-enforcements-implementation-guide)
+ [監控](#monitoring)
+ [定價](#pricing)
+ [常見問答集](#faq)

## 實作指南
<a name="guardrails-enforcements-implementation-guide"></a>

以下教學課程會逐步解說對 AWS 組織帳戶和單一 AWS 帳戶強制執行護欄所需的步驟。透過這些強制執行，所有對 Amazon Bedrock 的模型調用都會強制執行指定護欄內設定的保護措施。

### 教學課程：組織層級強制執行
<a name="organization-level-enforcement"></a>

本教學課程會逐步引導您在整個 AWS 組織中設定護欄強制執行。最後，您將有一個護欄，自動套用到指定帳戶或 OUs 的所有 Amazon Bedrock 模型調用。

**誰應該遵循本教學課程**  
AWS 具有建立護欄和管理 AWS Organizations 政策許可的組織管理員 （具有管理帳戶存取權）。

**您需要什麼**

完成本教學課程需要下列項目：
+ 具有管理帳戶存取權[AWS 的組織 ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) 
+ 建立護欄[和管理 AWS Organizations 政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_permissions_overview.html)的 [IAM 許可](guardrails-permissions.md#guardrails-permissions-use) 
+ 了解組織的安全需求<a name="org-level-enforcement-steps"></a>

**設定組織層級護欄強制執行**

1. <a name="plan-guardrail-config"></a>

**規劃您的護欄組態**

   1. 定義您的防護：
      + 檢閱 [Amazon Bedrock Guardrails 文件中可用的護](guardrails.md)欄篩選條件
      + 識別您需要的篩選條件。目前支援內容篩選條件、拒絕的主題、字詞篩選條件、敏感資訊篩選條件、內容基礎檢查。
      + **注意：**請勿包含自動推理政策，因為它不支援護欄強制執行，並會導致執行時間失敗。

   1. 識別目標帳戶：
      + 決定要強制執行此護欄OUs、帳戶或整個組織

1. <a name="create-guardrail-mgmt-account"></a>

**在管理帳戶中建立護欄**

   在您想要使用下列其中一種方法強制執行護欄的每個區域中建立護欄：
   + 使用 AWS 管理主控台：

     1.  AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

     1. 在左側導覽面板中，選擇**護欄**

     1. 選擇**建立護欄**

     1. 遵循精靈來設定所需的篩選條件或防護措施 （內容篩選條件、拒絕主題、字詞篩選條件、敏感資訊篩選條件、內容基礎檢查）

     1. 請勿啟用自動推理政策

     1. 完成精靈以建立護欄
   + 使用 API：使用 [CreateGuardrail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateGuardrail.html) API

**確認**  
建立後，您應該會在護欄登陸頁面上的護欄清單中看到它，或使用護欄名稱在護欄清單中搜尋它

1. <a name="create-guardrail-version"></a>

**建立護欄版本**

   建立數值版本，以確保護欄組態保持不可變，且無法由成員帳戶修改。
   + 使用 AWS 管理主控台：

     1. 在 Amazon Bedrock 主控台的護欄頁面中選取在上一個步驟中建立的護欄

     1. 選擇**建立版本**

     1. 請注意護欄 ARN 和版本編號 （例如 "1"、"2" 等）
   + 使用 API：使用 [CreateGuardrailVersion](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateGuardrailVersion.html) API

**確認**  
檢查 Guardrail 詳細資訊頁面上的版本清單，確認版本已成功建立。

1. <a name="attach-resource-policy"></a>

**連接以資源為基礎的政策**

   將資源型政策連接至護欄，以啟用跨帳戶存取。
   + 使用 AWS 管理主控台 – 使用主控台連接以資源為基礎的政策：

     1. 在 Amazon Bedrock Guardrails 主控台中，選取您的護欄

     1. 按一下**新增**以新增資源型政策

     1. 新增將`bedrock:ApplyGuardrail`許可授予所有成員帳戶或組織的政策。請參閱[針對護欄使用資源型政策](guardrails-resource-based-policies.md)中的[與您的組織共用護欄](guardrails-resource-based-policies.md#share-guardrail-with-organization)。

     1. 儲存政策

**確認**  
使用 [ApplyGuardrail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ApplyGuardrail.html) API 測試成員帳戶的存取權，以確保授權設定正確。

1. <a name="configure-iam-permissions"></a>

**在成員帳戶中設定 IAM 許可**

   確保成員帳戶中的所有角色都具有存取強制執行護欄的 IAM 許可。

**所需的許可**  
成員帳戶角色需要管理帳戶護欄的`bedrock:ApplyGuardrail`許可。如需詳細的 IAM 政策範例[設定使用 Amazon Bedrock 防護機制的許可](guardrails-permissions.md)，請參閱

**確認**  
確認成員帳戶中具有縮小範圍許可的角色可以使用護欄成功呼叫 `ApplyGuardrail` API。

1. <a name="enable-bedrock-policy-type"></a>

**在 中啟用 Amazon Bedrock 政策類型 AWS Organizations**
   + 使用 AWS 管理主控台 – 若要使用主控台啟用 Amazon Bedrock 政策類型：

     1. 導覽至 AWS Organizations 主控台

     1. 選擇**政策**

     1. 選擇 **Amazon Bedrock 政策** （目前預覽）

     1. 選擇**啟用 Amazon Bedrock 政策**，為您的組織啟用 Amazon Bedrock 政策類型
   + 使用 API – 使用 AWS Organizations [EnablePolicyType](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnablePolicyType.html) API 搭配政策類型 `BEDROCK_POLICY`

**確認**  
確認 Amazon Bedrock 政策類型在 AWS Organizations 主控台中顯示為已啟用。

1. <a name="create-attach-organizations-policy"></a>

**建立和連接 AWS Organizations 政策**

   建立指定護欄並將其連接到目標帳戶或 OUs管理政策。
   + 使用 AWS 管理主控台 – 使用主控台建立和連接 AWS Organizations 政策：

     1. 在 AWS Organizations 主控台中，導覽至**政策** > **Amazon Bedrock 政策**

     1. 選擇 **Create policy (建立政策)**

     1. 指定您的護欄 ARN 和版本

     1. 設定 `input_tags`設定 （設定為忽略，以防止成員帳戶透過護欄輸入[標籤繞過輸入上的護欄](guardrails-tagging.md))。

        ```
        {
            "bedrock": {
                "guardrail_inference": {
                    "us-east-1": {
                        "config_1": {
                            "identifier": {
                                "@@assign": "arn:aws:bedrock:us-east-1:account_id:guardrail/guardrail_id:1"
                            },
                            "input_tags": {
                                "@@assign": "honor"
                            }
                        }
                    }
                }
            }
        }
        ```

     1. 儲存政策

     1. 導覽至目標索引標籤並選擇連接，將政策**連接至**您想要**的目標** （組織根帳戶、OUs 或個別帳戶）
   + 使用 API – 使用政策類型 的 AWS Organizations [CreatePolicy](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CreatePolicy.html) API`BEDROCK_POLICY`。使用 [AttachPolicy](https://docs.aws.amazon.com/organizations/latest/APIReference/API_AttachPolicy.html) 連接到目標

   進一步了解： [中的 Amazon Bedrock 政策 AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_bedrock.html)

**確認**  
檢查政策是否連接到 AWS Organizations 主控台中的正確目標。

1. <a name="test-verify-org-enforcement"></a>

**測試和驗證強制執行**

   測試成員帳戶是否強制執行護欄。

**驗證強制執行的護欄**
   + 使用 AWS 管理主控台 – 從成員帳戶導覽至 Amazon Bedrock 主控台，按一下左側面板中的**護欄**。在護欄首頁上，您應該會在管理帳戶中的組織**層級強制執行組態**和成員帳戶中的組織**層級強制執行護欄區段下看到組織強制執行護欄** 
   + 使用 API – 從成員帳戶呼叫 [DescribeEffectivePolicy](https://docs.aws.amazon.com/organizations/latest/APIReference/API_DescribeEffectivePolicy.html)，並將您的成員帳戶 ID 做為目標 ID

**從成員帳戶測試**

   1. 使用 [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)、[InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)、[Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) 或 [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html) 進行 Amazon Bedrock 推論呼叫。

   1. 強制執行的護欄應自動套用至輸入和輸出

   1. 檢查護欄評估資訊的回應。護欄回應將包含強制執行的護欄資訊。

### 教學課程：帳戶層級強制執行
<a name="account-level-enforcement"></a>

本教學課程會逐步引導您在單一 AWS 帳戶中設定護欄強制執行。最後，您將有一個護欄，自動套用到您帳戶中的所有 Amazon Bedrock 模型調用。

**誰應該遵循本教學課程**  
AWS 帳戶管理員具有建立護欄和設定帳戶層級設定的許可。

**您需要什麼**  
完成本教學課程需要下列項目：
+ 具有適當 IAM 許可 AWS 的帳戶
+ 了解您帳戶的安全需求<a name="account-level-enforcement-steps"></a>

**設定帳戶層級護欄強制執行**

1. <a name="plan-account-guardrail-config"></a>

**規劃您的護欄組態**

**定義您的防護措施**  
若要定義您的保護措施：
   + 檢閱 [Amazon Bedrock Guardrails 文件中可用的護](guardrails.md)欄篩選條件
   + 識別您需要的篩選條件。目前支援內容篩選條件、拒絕的主題、字詞篩選條件、敏感資訊篩選條件、內容基礎檢查。
   + **注意：**請勿包含自動推理政策，因為它不支援護欄強制執行，並會導致執行時間失敗

1. <a name="create-account-guardrail"></a>

**建立防護機制**

   在您要強制執行護欄的每個區域中建立護欄。

**透過 AWS 管理主控台**  
若要使用主控台建立護欄：

   1.  AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

   1. 在左側導覽面板中，選擇**護欄**

   1. 選擇**建立護欄**

   1. 遵循精靈來設定所需的政策 （內容篩選條件、拒絕主題、單字篩選條件、敏感資訊篩選條件）

   1. 請勿啟用自動推理政策

   1. 完成精靈以建立護欄

**透過 API**  
使用 `CreateGuardrail` API

**確認**  
建立後，您應該會在護欄登陸頁面上的護欄清單中看到它，或使用護欄名稱在護欄清單中搜尋它

1. <a name="create-account-guardrail-version"></a>

**建立護欄版本**

   建立數值版本，以確保護欄組態保持不變，且成員帳戶無法修改。

**透過 AWS 管理主控台**  
若要使用主控台建立護欄版本：

   1. 在 Amazon Bedrock 主控台的護欄頁面中選取在上一個步驟中建立的護欄

   1. 選擇**建立版本**

   1. 請注意護欄 ARN 和版本編號 （例如 "1"、"2" 等）

**透過 API**  
使用 `CreateGuardrailVersion` API

**確認**  
檢查 Guardrail 詳細資訊頁面上的版本清單，確認版本已成功建立。

1. <a name="attach-account-resource-policy"></a>

**連接以資源為基礎的政策 （選用）**

   如果您想要與帳戶中的特定角色共用護欄，請連接以資源為基礎的政策。

**透過 AWS 管理主控台**  
若要使用主控台連接以資源為基礎的政策：

   1. 在 Amazon Bedrock Guardrails 主控台中，選取您的護欄

   1. 按一下**新增**以新增資源型政策

   1. 新增將`bedrock:ApplyGuardrail`許可授予所需角色的政策

   1. 儲存政策

1. <a name="enable-account-enforcement"></a>

**啟用帳戶層級強制執行**

   設定帳戶以針對所有 Amazon Bedrock 調用使用您的護欄。這必須在您想要強制執行的每個區域中完成。

**透過 AWS 管理主控台**  
若要使用主控台啟用帳戶層級強制執行：

   1. 導覽至 Amazon Bedrock 主控台

   1. 在左側導覽面板中選擇**護欄** 

   1. 在**帳戶層級強制執行組態**區段下，選擇**新增**

   1. 選取您的護欄和版本

   1. 設定 `input_tags`設定 （設定為 IGNORE，以防止成員帳戶透過 Guardrails 輸入標籤繞過輸入上的護欄）

   1. 提交組態

   1. 針對您想要強制執行的每個區域重複此步驟

**透過 API**  
在您要強制執行護欄的每個區域中使用 `PutEnforcedGuardrailConfiguration` API

**確認**  
您應該會在 Guardrails 頁面的帳戶強制執行**護欄組態區段下看到帳戶強制執行**的護欄。您可以呼叫 [ListEnforcedGuardrailsConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListEnforcedGuardrailsConfiguration.html) API，以確保已列出強制執行的護欄

1. <a name="test-verify-account-enforcement"></a>

**測試和驗證強制執行**

**使用帳戶中的角色進行測試**  
若要從您的帳戶測試強制執行：

   1. 使用 `InvokeModel`、`InvokeModelWithResponseStream`、 或 進行 Amazon Bedrock `Converse`推論呼叫 `ConverseStream`

   1. 帳戶強制執行的護欄應自動套用至輸入和輸出

   1. 檢查護欄評估資訊的回應。護欄回應將包含強制執行的護欄資訊。

## 監控
<a name="monitoring"></a>
+ 使用 [Amazon Bedrock Guardrails 的 CloudWatch 指標追蹤護欄介入和指標](monitoring-guardrails-cw-metrics.md)
+ 檢閱 `ApplyGuardrail` API 呼叫的 CloudTrail 日誌，以監控使用模式，例如指出 IAM 許可組態問題的 AccessDenied 例外狀況。請參閱 [ CloudTrail 中的 Amazon Bedrock 資料事件](logging-using-cloudtrail.md#service-name-data-events-cloudtrail)

## 定價
<a name="pricing"></a>

Amazon Bedrock Guardrails 強制執行會遵循 Amazon Bedrock Guardrails 目前的定價模型，根據每個已設定保護所耗用的文字單位數量。根據其設定的保護措施，每個強制執行的護欄都會收取費用。如需個別防護措施的詳細定價資訊，請參閱 [Amazon Bedrock 定價](https://aws.amazon.com/bedrock/pricing/)。

## 常見問答集
<a name="faq"></a>

**套用強制護欄時，如何計算配額的耗用？**  
用量會依與每個請求相關聯的護欄 ARN 計算，並計入進行 API 呼叫 AWS 的帳戶。例如：具有 1000 個字元文字和 3 個護欄的`ApplyGuardrail`呼叫，會在護欄的每個護欄產生 3 個文字單位的消耗量。  
使用 Amazon Bedrock 政策的成員帳戶呼叫將計入成員帳戶的 Service Quotas。檢閱 Service Quotas 主控台或服務[Service Quotas文件](https://docs.aws.amazon.com/general/latest/gr/bedrock.html)，並確保您的 Guardrails 執行時間限制足以容納您的通話量。

**如何防止成員帳戶使用輸入標籤繞過護欄？**  
使用 中可用的`input_tags`控制項：  
+ Amazon Bedrock AWS Organizations 政策
+ [PutEnforcedGuardrailConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PutEnforcedGuardrailConfiguration.html) API
將 值設定為忽略，以防止成員帳戶標記部分內容。

**如果我在請求中同時具有組織層級和帳戶層級強制執行的護欄以及護欄，會發生什麼情況？**  
所有 3 個護欄將在執行時間強制執行。淨效果是所有護欄的聯集，以最嚴格的控制為優先。

**不支援護欄的模型會發生什麼情況？**  
對於不支援護欄的模型 （例如內嵌模型），將會擲回執行階段驗證錯誤。

**我是否可以刪除強制執行組態中使用的護欄？**  
否。根據預設，[DeleteGuardrail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteGuardrail.html) API 可防止刪除與帳戶層級或組織層級強制執行組態相關聯的護欄。