

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

# 安全
<a name="security-overview"></a>

Amazon Bedrock 的安全性包含資料、應用程式和基礎設施的多層保護。

**Topics**
+ [資料保護](data-protection.md)
+ [Amazon Bedrock 的 Identity and Access Management](security-iam.md)
+ [自訂模型匯入任務的 Amazon S3 儲存貯體跨帳戶存取權](cross-account-access-cmi.md)
+ [Amazon Bedrock 的合規驗證](compliance-validation.md)
+ [Amazon Bedrock 中的事件回應](security-incident-response.md)
+ [Amazon Bedrock 的復原能力](disaster-recovery-resiliency.md)
+ [Amazon Bedrock 的基礎設施安全性](infrastructure-security.md)
+ [預防跨服務混淆代理人](cross-service-confused-deputy-prevention.md)
+ [Amazon Bedrock 中的組態與漏洞分析](vulnerability-analysis-and-management.md)
+ [Amazon Bedrock 濫用偵測](abuse-detection.md)
+ [提示注入安全性](prompt-injection.md)

# 資料保護
<a name="data-protection"></a>

 AWS [共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)適用於 Amazon Bedrock 中的資料保護。如此模型所述， AWS 負責保護執行所有 的全域基礎設施 AWS 雲端。您負責維護在此基礎設施上託管內容的控制權。您也同時負責所使用 AWS 服務 的安全組態和管理任務。如需資料隱私權的詳細資訊，請參閱[資料隱私權常見問答集](https://aws.amazon.com/compliance/data-privacy-faq/)。如需有關歐洲資料保護的相關資訊，請參閱*AWS 安全性部落格*上的[AWS 共同責任模型和 GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 部落格文章。

基於資料保護目的，我們建議您保護 AWS 帳戶 登入資料，並使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 設定個別使用者。如此一來，每個使用者都只會獲得授與完成其任務所必須的許可。我們也建議您採用下列方式保護資料：
+ 每個帳戶均要使用多重要素驗證 (MFA)。
+ 使用 SSL/TLS 與 AWS 資源通訊。我們需要 TLS 1.2 並建議使用 TLS 1.3。
+ 使用 設定 API 和使用者活動記錄 AWS CloudTrail。如需有關使用 CloudTrail 追蹤擷取 AWS 活動的資訊，請參閱*AWS CloudTrail 《 使用者指南*》中的[使用 CloudTrail 追蹤](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)。
+ 使用 AWS 加密解決方案，以及其中的所有預設安全控制 AWS 服務。
+ 使用進階的受管安全服務 (例如 Amazon Macie)，協助探索和保護儲存在 Amazon S3 的敏感資料。
+ 如果您在 AWS 透過命令列界面或 API 存取 時需要 FIPS 140-3 驗證的密碼編譯模組，請使用 FIPS 端點。如需有關 FIPS 和 FIPS 端點的更多相關資訊，請參閱[聯邦資訊處理標準 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)。

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊，放在標籤或自由格式的文字欄位中，例如**名稱**欄位。這包括當您使用 Amazon Bedrock 或使用主控台、API AWS CLI或 AWS SDKs的其他 AWS 服務 時。您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如果您提供外部伺服器的 URL，我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。

Amazon Bedrock 不會存放或記錄提示和完成。Amazon Bedrock 不會使用您的提示和完成來訓練任何 AWS 模型，也不會將模型分發給第三方。

Amazon Bedrock 具有模型部署帳戶的概念，在每個提供 Amazon Bedrock 的 AWS 區域中，每個模型提供者都有一個此類部署帳戶。這些帳戶的擁有和營運者都是 Amazon Bedrock 服務團隊。模型提供者無權存取那些帳戶。從模型提供者交付模型至 後 AWS，Amazon Bedrock 會將模型提供者的推論和訓練軟體深入複製到這些帳戶中進行部署。由於模型提供者無法存取那些帳戶，他們無法存取 Amazon Bedrock 日誌或客戶提示和完成。

**Topics**
+ [資料加密](data-encryption.md)
+ [使用 Amazon VPC 和 AWS PrivateLink 保護資料](usingVPC.md)

# 資料加密
<a name="data-encryption"></a>

Amazon Bedrock 使用加密來保護靜態資料和傳輸中的資料。

**傳輸中加密**

在其中 AWS，傳輸中的所有網路間資料都支援 TLS 1.2 加密。

對 Amazon Bedrock API 和主控台發出的請求，都在安全 (SSL) 連線中進行。您可以將 AWS Identity and Access Management (IAM) 角色傳遞給 Amazon Bedrock，以提供代表您存取資源以進行訓練和部署的許可。

**靜態加密**

Amazon Bedrock 提供靜態 [自訂模型的加密](encryption-custom-job.md)。

## 金鑰管理
<a name="key-management"></a>

使用 AWS Key Management Service 來管理您用來加密 資源的金鑰。如需詳細資訊，請參閱 [AWS Key Management Service 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys)。您可以利用 KMS 金鑰進行加密。
+ 經由 Amazon Bedrock
  + 模型自訂任務及其輸出自訂模型 — 在主控台或透過在 [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html) API 呼叫中指定 `customModelKmsKeyId` 欄位建立任務期間。
  + 代理程式 — 在主控台或透過在 [CreateAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html) API 呼叫中指定 `customerEncryptionKeyArn` 欄位建立代理程式期間。
  + 知識庫的資料來源擷取任務 — 在主控台或透過在 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 或 [Update DataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html) API 呼叫中指定 `kmsKeyArn` 欄位建立知識庫期間。
  + 向量存放區在 Amazon OpenSearch Service - 在向量存放區建立期間。如需詳細資訊，請參閱[建立、列示和刪除 Amazon OpenSearch Service 集合](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html)和 [Amazon OpenSearch Service 的靜態資料加密](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html)。
  + 模型評估任務：當您在主控台中建立模型評估任務，或在 [CreateEvaluationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateEvaluationJob.html) API 呼叫的 ` customerEncryptionKeyId` 中指定金鑰 ARN 時。
+ 透過 Amazon S3 – 如需詳細資訊，請參閱[使用伺服器端加密搭配 AWS KMS 金鑰 (SSE-KMS)。](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)
  + 模型自訂的訓練、驗證和輸出資料
  + 知識庫的資料來源
+ 透過 AWS Secrets Manager – 如需詳細資訊，請參閱 [中的秘密加密和解密 AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html)
  + 第三方模型的向量存放區

加密資源後，您可以在主控台選取資源並檢視其**詳細資訊**，或使用下列 `Get` API 呼叫，找到 KMS 金鑰的 ARN。
+ [GetModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelCustomizationJob.html)
+ [GetAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgent.html)
+ [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html)

# 自訂模型的加密
<a name="encryption-custom-job"></a>

Amazon Bedrock 會使用您的訓練資料搭配 [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html) 動作，或透過[主控台](model-customization-submit.md)來建立自訂模型，該模型是 Amazon Bedrock 基礎模型的微調版本。您的自訂模型由 管理和存放AWS。

Amazon Bedrock 使用您提供的微調資料，僅用於微調 Amazon Bedrock 基礎模型。Amazon Bedrock 不會將微調資料用於其他任何用途。訓練資料不會用於訓練基礎 Titan 模型，也不會用於分發給第三方。其他使用情況資料 (例如使用時間戳記、登入帳號 ID 和服務記錄的其他資訊) 也不會用於訓練模型。

微調工作完成後，Amazon Bedrock 不會儲存您提供用於微調的訓練或驗證資料。

請注意，經微調的模型可以重播一些微調資料，同時產生完成。如果應用程式不應以任何形式公開微調資料，則應先將機密資料從訓練資料篩掉。如果您已錯誤地使用機密資料建立自訂模型，則可以刪除該自訂模型、篩掉訓練資料中的機密資訊，然後新建模型。

對於加密自訂模型 (包括複製的模型)，Amazon Bedrock 為您提供兩個選項：

1. **AWS 擁有的金鑰** – 根據預設，Amazon Bedrock 會使用 加密自訂模型AWS 擁有的金鑰。您無法檢視、管理或使用AWS 擁有的金鑰或稽核其使用方式。不過，您不需要採取任何動作或變更任何程式，即可保護加密您資料的金鑰。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的 [AWS 擁有的金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。

1. **客戶自管金鑰**：您可以選擇使用您自己管理的客戶自管金鑰來加密自訂模型。如需詳細資訊AWS KMS keys，請參閱《 *AWS Key Management Service開發人員指南*》中的[客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

**注意**  
Amazon Bedrock 會AWS 擁有的金鑰免費使用 自動啟用靜態加密。如果您使用客戶受管金鑰，則需支付 AWS KMS費用。如需定價的詳細資訊，請參閱 [AWS Key Management Service 定價](https://aws.amazon.com/kms/pricing/)。

如需 的詳細資訊AWS KMS，請參閱 [AWS Key Management Service開發人員指南](https://docs.aws.amazon.com/kms/latest/developerguide/)。

**Topics**
+ [Amazon Bedrock 如何在 中使用授予AWS KMS](#encryption-br-grants)
+ [了解如何建立客戶自管金鑰，以及如何將金鑰政策連接至其中](#encryption-key-policy)
+ [自訂和複製模型的許可和金鑰政策](#encryption-cm-statements)
+ [監控 Amazon Bedrock 服務的加密金鑰](#encryption-monitor-key)
+ [訓練、驗證和輸出資料的加密](#encryption-custom-job-data)

## Amazon Bedrock 如何在 中使用授予AWS KMS
<a name="encryption-br-grants"></a>

如果您指定客戶自管金鑰來加密模型自訂或模型複本任務的自訂模型，Amazon Bedrock 會透過將 [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 請求傳送至 AWS KMS，以代表您建立與自訂模型相關聯的**主要** KMS [授予](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。此授予允許 Amazon Bedrock 存取和使用客戶自管金鑰。中的授予AWS KMS用於授予 Amazon Bedrock 存取客戶帳戶中 KMS 金鑰的權限。

Amazon Bedrock 需要主要授予，才能在下列內部操作中使用客戶自管金鑰：
+ 傳送 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) 請求至 AWS KMS，以驗證您在建立任務時輸入的對稱客戶受管 KMS 金鑰 ID 是否有效。
+ 將 [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) 和 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 請求傳送至 AWS KMS，以產生由客戶受管金鑰加密的資料金鑰，並解密加密的資料金鑰，以便用來加密模型成品。
+ 傳送 [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 請求至 AWS KMS，以使用上述操作的子集 (`DescribeKey`、`GenerateDataKey`、`Decrypt`) 建立縮小範圍的次要授予，以非同步執行模型自訂、模型複製或佈建輸送量建立。
+ Amazon Bedrock 會在建立授予期間指定淘汰主體，因此服務可以傳送 [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html) 請求。

您可以完整存取客戶受管AWS KMS金鑰。您可以依照《AWS Key Management Service 開發人員指南》[https://docs.aws.amazon.com/kms/latest/developerguide/](https://docs.aws.amazon.com/kms/latest/developerguide/)中[淘汰和撤銷授予](https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete)的步驟來撤銷授予的存取權，或隨時修改[金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)來移除服務對客戶自管金鑰的存取權。如果您這樣做，Amazon Bedrock 將無法存取由金鑰加密的自訂模型。

### 自訂模型之主要和次要授予的生命週期
<a name="encryption-primary-secondary-grants"></a>
+ **主要授予**的生命週期很長，只要相關聯的自訂模型仍在使用中，就會保持作用中狀態。刪除自訂模型時，對應的主要授予會自動遭到淘汰。
+ **次要授予**是短期的。一旦 Amazon Bedrock 代表客戶執行的操作完成，這些授予就會自動遭到淘汰。例如，模型複本任務完成後，允許 Amazon Bedrock 加密複製自訂模型的次要授予將立即遭到淘汰。

## 了解如何建立客戶自管金鑰，以及如何將金鑰政策連接至其中
<a name="encryption-key-policy"></a>

若要使用您建立和管理的金鑰來加密 AWS資源，請執行下列一般步驟：

1. (先決條件) 確保 IAM 角色具有 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 動作的許可。

1. 請依照[建立金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)中的步驟，使用AWS KMS主控台或 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 操作來建立客戶受管金鑰。

1. 建立金鑰會傳回 `Arn` 金鑰，可用於需要使用金鑰的操作 (例如，[提交模型自訂任務](model-customization-submit.md)或[執行模型推論](inference-invoke.md)時)。

1. 建立金鑰政策並將其連接至具有必要許可的金鑰。若要建立金鑰政策，請遵循《 AWS Key Management Service開發人員指南》中的[建立金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)的步驟。

## 自訂和複製模型的許可和金鑰政策
<a name="encryption-cm-statements"></a>

建立 KMS 金鑰後，您就可以將金鑰政策連接至該金鑰。金鑰政策是您連接至客戶自管金鑰以控制其存取的[資源型政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)。每個客戶自管金鑰都必須只有一個金鑰政策，其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶自管金鑰時，可以指定金鑰政策。您可以隨時修改金鑰政策，但變更在整個 AWS KMS 中變成可用之前，可能會有短暫的延遲。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》[https://docs.aws.amazon.com/kms/latest/developerguide/](https://docs.aws.amazon.com/kms/latest/developerguide/)中的[管理客戶受管金鑰的存取](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access)。

下列 KMS [動作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions)會用於加密自訂和複製模型的金鑰：

1. [kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)：允許 Amazon Bedrock 服務主體透過[授予操作](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)存取指定的 KMS 金鑰，藉此為客戶自管金鑰建立授予。如需授予的詳細資訊，請參閱《[AWS Key Management Service 開發人員指南](https://docs.aws.amazon.com/kms/latest/developerguide/)》中的 [AWS KMS 中的授予](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。
**注意**  
Amazon Bedrock 也會設定淘汰主體，並在不再需要後自動淘汰授予。

1. [kms:DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)：提供客戶自管金鑰的詳細資訊，以便 Amazon Bedrock 可以驗證金鑰。

1. [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)：提供客戶自管金鑰詳細資訊，以允許 Amazon Bedrock 驗證使用者存取。Amazon Bedrock 會將產生的密文與自訂模型一起存放，用作為對自訂模型使用者的額外驗證檢查。

1. [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)：解密儲存的密文，以驗證角色對加密自訂模型的 KMS 金鑰是否具有適當的存取權。

作為最佳安全實務，我們建議您包含 [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service) 條件索引鍵，以限制對 Amazon Bedrock 服務金鑰的存取。

雖然您只能將單一金鑰政策連接至金鑰，但您可以將陳述式新增至政策 `Statement` 欄位中的清單，以將多個陳述式連接至金鑰政策。

下列陳述式與加密自訂和複製的模型相關：

### 加密模型
<a name="encryption-key-policy-encrypt"></a>

若要使用客戶自管金鑰來加密自訂或複製的模型，請在金鑰政策中包含下列陳述式，以允許加密模型。在 `Principal` 欄位中，將您要允許加密和解密金鑰的帳戶新增至 `AWS` 子欄位對應的清單。如果您使用 `kms:ViaService` 條件索引鍵，您可以為每個區域新增一行，或使用 *\$1* 取代 *\$1\$1region\$1*，以允許支援 Amazon Bedrock 的所有區域。

```
{
    "Sid": "PermissionsEncryptDecryptModel",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::${account-id}:role/${role}"
        ]
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": "*",
    "Condition": {
        "StringLike": {
            "kms:ViaService": [
                "bedrock.${region}.amazonaws.com"
            ] 
        }
    }
}
```

### 允許存取加密的模型
<a name="encryption-key-policy-decrypt"></a>

若要允許存取使用 KMS 金鑰加密的模型，請在金鑰政策中包含下列陳述式，以允許金鑰解密。在 `Principal` 欄位中，將您要允許解密金鑰的帳戶新增至 `AWS` 子欄位對應的清單。如果您使用 `kms:ViaService` 條件索引鍵，您可以為每個區域新增一行，或使用 *\$1* 取代 *\$1\$1region\$1*，以允許支援 Amazon Bedrock 的所有區域。

```
{
    "Sid": "PermissionsDecryptModel",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::${account-id}:role/${role}"
        ]
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "*",
    "Condition": {
        "StringLike": {
            "kms:ViaService": [
                "bedrock.${region}.amazonaws.com"
            ] 
        }
    }
}
```

若要了解您需要建立的金鑰政策，請展開與使用案例對應的區段：

### 設定用於加密自訂模型的金鑰許可
<a name="encryption-cm"></a>

如果您計劃加密使用 KMS 金鑰自訂的模型，則該金鑰的金鑰政策將依使用案例而有所不同。展開與使用案例對應的區段：

#### 將自訂模型的角色和將調用模型的角色會是相同的
<a name="encryption-cm-custom-invoke-same"></a>

如果將調用自訂模型的角色與將自訂模型的角色是相同的，您只需要來自 [加密模型](#encryption-key-policy-encrypt) 的陳述式。在下列政策範本的 `Principal` 欄位中，將您要允許自訂並調用自訂模型的帳戶新增到 `AWS` 子欄位對應的清單。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCustomModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCustomModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

#### 將自訂模型的角色和將調用模型的角色是不同的
<a name="encryption-custom-invoke-different"></a>

如果將調用自訂模型的角色與將自訂模型的角色是不同的，您需要來自 [加密模型](#encryption-key-policy-encrypt) 和 [允許存取加密的模型](#encryption-key-policy-decrypt) 的陳述式。修改下列政策範本中的陳述式，如下所示：

1. 第一個陳述式允許加密和解密金鑰。在 `Principal` 欄位中，將您要允許自訂模型的帳戶新增到 `AWS` 子欄位對應的清單。

1. 第二個陳述式僅允許解密金鑰。在 `Principal` 欄位中，將只允許調用自訂模型的帳戶新增至 `AWS` 子欄位對應的清單。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCustomModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCustomModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "PermissionsDecryptModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### 設定複製自訂模型的金鑰許可
<a name="encryption-copy"></a>

當您複製已擁有或已與您共用的模型時，您可能需要管理最多兩個金鑰政策：

#### 將加密複製模型之金鑰的金鑰政策
<a name="encryption-copied-model-key-policy"></a>

如果您計劃使用 KMS 金鑰來加密複製的模型，金鑰的金鑰政策將依使用案例而有所不同。展開與使用案例對應的區段：

##### 將複製模型的角色和將調用模型的角色會是相同的
<a name="encryption-copied-model-copy-invoke-same"></a>

如果將調用複製模型的角色與將建立模型複本的角色是相同的，則只需要來自 [加密模型](#encryption-key-policy-encrypt) 的陳述式。在下列政策範本的 `Principal` 欄位中新增帳戶，您要允許這些帳戶將複製的模型複製並調用到 `AWS` 子欄位對應的清單：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCopiedModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

##### 將複製模型的角色和將調用模型的角色是不同的
<a name="encryption-copied-model-copy-invoke-different"></a>

如果將調用複製模型的角色與將建立模型複本的角色不同，您需要來自 [加密模型](#encryption-key-policy-encrypt) 和 [允許存取加密的模型](#encryption-key-policy-decrypt) 的陳述式。修改下列政策範本中的陳述式，如下所示：

1. 第一個陳述式允許加密和解密金鑰。在 `Principal` 欄位中，將您要允許建立複製模型的帳戶新增至 `AWS` 子欄位對應的清單。

1. 第二個陳述式僅允許解密金鑰。在 `Principal` 欄位中，將只允許調用複製模型的帳戶新增至 `AWS` 子欄位對應的清單。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCopiedModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "PermissionsDecryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

#### 金鑰的金鑰政策，此金鑰用於加密要複製的來源模型
<a name="encryption-copy-source-model-key-policy"></a>

如果您要複製的來源模型是使用 KMS 金鑰加密，請將來自 [允許存取加密的模型](#encryption-key-policy-decrypt) 的陳述式連接到加密來源模型之金鑰的金鑰政策。此陳述式允許模型複本角色解密對來源模型進行加密的金鑰。在下列政策範本的 `Principal` 欄位中新增帳戶，您要允許這些帳戶將來源模型複製到 `AWS` 子欄位對應的清單：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsSourceModelKey",
    "Statement": [
        {
            "Sid": "PermissionsDecryptModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## 監控 Amazon Bedrock 服務的加密金鑰
<a name="encryption-monitor-key"></a>

當您搭配 Amazon Bedrock 資源使用AWS KMS客戶受管金鑰時，您可以使用 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)或 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 來追蹤 Amazon Bedrock 傳送的請求AWS KMS。

以下是 [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 監控 Amazon Bedrock 呼叫的 KMS 操作以建立主要授權的範例AWS CloudTrail事件：

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelCopy/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/RoleForModelCopy",
                "accountId": "111122223333",
                "userName": "RoleForModelCopy"
            },
            "attributes": {
                "creationDate": "2024-05-07T21:46:28Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
        "granteePrincipal": "bedrock.amazonaws.com",
        "retiringPrincipal": "bedrock.amazonaws.com",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "operations": [
            "Decrypt",
            "CreateGrant",
            "GenerateDataKey",
            "DescribeKey"
        ]
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

## 訓練、驗證和輸出資料的加密
<a name="encryption-custom-job-data"></a>

當您使用 Amazon Bedrock 執行模型自訂任務時，您會將輸入檔案存放在 Amazon S3 儲存貯體中。當任務完成時，Amazon Bedrock 會將輸出指標檔案存放在您在建立任務時指定的 S3 儲存貯體中，以及由 控制的 S3 儲存貯體中產生的自訂模型成品AWS。

會使用 S3 儲存貯體的加密組態對輸出檔案進行加密。根據您設定 S3 儲存貯體的方式，會使用 [SSE-S3 伺服器端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)或 [AWS KMSSSE-KMS 加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)加密這些項目。

# 加密匯入的自訂模型
<a name="encryption-import-model"></a>

Amazon Bedrock 支援透過兩種使用相同加密方法的方法建立自訂模型。您的自訂模型由 管理和存放AWS：
+ **自訂模型匯入任務** — 用於匯入自訂開放原始碼基礎模型 (例如 Mistral AI 或 Llama 模型)。
+ **建立自訂模型**：用於匯入您在 SageMaker AI 中自訂的 Amazon Nova 模型。

如需加密自訂模型，Amazon Bedrock 提供下列選項：
+ **AWS擁有的金鑰** – 根據預設，Amazon Bedrock 會使用AWS擁有的金鑰來加密匯入的自訂模型。您無法檢視、管理或使用AWS擁有的金鑰，或稽核其使用方式。不過，您不必採取任何動作或變更任何程式，即可保護加密您資料的金鑰。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的 [AWS 擁有的金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#aws-owned-cmk)。
+ **客戶受管金鑰 (CMK)** – 您可以選擇客戶受管金鑰 (CMK)，在現有AWS擁有的加密金鑰上新增第二層加密。您可以建立、擁有及管理客戶自管金鑰。

   由於您可以完全控制此層加密，因此能執行以下任務：
  + 建立和維護金鑰政策
  + 建立和維護 IAM 政策和授予
  + 啟用和停用金鑰政策
  + 輪換金鑰密碼編譯資料
  + 新增標籤
  + 建立金鑰別名
  + 排程金鑰刪除

  如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[客戶自管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

**注意**  
對於您匯入的所有自訂模型，Amazon Bedrock 會使用AWS擁有的金鑰自動啟用靜態加密，以免費保護客戶資料。如果您使用客戶受管金鑰，則需支付 AWS KMS費用。如需定價的詳細資訊，請參閱 [AWS Key Management Service 定價](https://docs.aws.amazon.com/)。

## Amazon Bedrock 如何在 中使用授予AWS KMS
<a name="import-model-kms-grants"></a>

如果您指定客戶自管金鑰來加密匯入的模型。Amazon Bedrock 會傳送 [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html) 請求至 ，以代表您建立與匯入模型相關聯的**主要**AWS KMS[授權](https://docs.aws.amazon.com/)AWS KMS。此授予允許 Amazon Bedrock 存取和使用客戶自管金鑰。中的授予AWS KMS用於授予 Amazon Bedrock 存取客戶帳戶中 KMS 金鑰的權限。

Amazon Bedrock 需要主要授予，才能在下列內部操作中使用客戶自管金鑰：
+ 傳送 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) 請求至 AWS KMS，以驗證您在建立任務時輸入的對稱客戶受管 KMS 金鑰 ID 是否有效。
+ 將 [GenerateDataKey](https://docs.aws.amazon.com//kms/latest/APIReference/API_GenerateDataKey.html) 和 [Decrypt](https://docs.aws.amazon.com//kms/latest/APIReference/API_Decrypt.html) 請求傳送至 AWS KMS，以產生由客戶自管金鑰加密的資料金鑰，並解密加密的資料金鑰，以便將這些金鑰用來加密模型成品。
+ 傳送 [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html) 請求至 AWS KMS，以使用上述操作子集 (`DescribeKey`、`GenerateDataKey`、`Decrypt`) 建立縮小範圍的次要授權，以非同步執行模型匯入和隨需推論。
+ Amazon Bedrock 會在建立授予期間指定淘汰主體，因此服務可以傳送 [RetireGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_RetireGrant.html) 請求。

您可以完整存取客戶受管AWS KMS金鑰。您可以依照《AWS Key Management Service 開發人員指南》**中[淘汰和撤銷授予](https://docs.aws.amazon.com//kms/latest/developerguide/grant-manage.html#grant-delete)中的步驟來撤銷授予的存取權，或隨時修改金鑰政策來移除服務對客戶自管金鑰的存取權。如果您這樣做，Amazon Bedrock 將無法存取以金鑰加密的匯入模型。

### 自訂匯入模型之主要和次要授予的生命週期
<a name="import-model-kms-grants-lifecycle"></a>
+ **主要授予**的生命週期很長，只要相關聯的自訂模型仍在使用中，就會保持作用中狀態。刪除自訂匯入模型時，對應的主要授予會自動遭到淘汰。
+ **次要授予**是短期的。一旦 Amazon Bedrock 代表客戶執行的操作完成，這些授予就會自動遭到淘汰。例如，自訂模型匯入任務完成後，會立即淘汰允許 Amazon Bedrock 加密自訂匯入模型的次要授予。

# 使用客戶自管金鑰 (CMK)
<a name="import-model-using-cmk"></a>

如果您打算使用客戶自管金鑰來加密自訂匯入的模型，請完成下列步驟：

1. 使用 AWS Key Management Service 建立客戶自管金鑰。

1. 連接具有指定角色許可的[資源型政策](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html)，以建立及使用自訂匯入模型。

**建立客戶自管金鑰**

請先確定您具備 `CreateKey` 許可。然後遵循[建立金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html)的步驟，在AWS KMS主控台或 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API 操作中建立客戶受管金鑰。請確保建立對稱加密金鑰。

建立金鑰會傳回金鑰的 `Arn`，您可以在匯入具有自訂模型匯入的自訂模型時，用來作為 `importedModelKmsKeyId `。

**建立金鑰政策並將其連接至客戶自管金鑰**

金鑰政策是您連接至客戶自管金鑰以控制其存取的[資源型政策](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html)。每個客戶自管金鑰都必須只有一個金鑰政策，其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶自管金鑰時，可以指定金鑰政策。您可以隨時修改金鑰政策，但變更在整個 AWS KMS 中變成可用之前，可能會有短暫的延遲。如需詳細資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的[管理客戶自管金鑰的存取](https://docs.aws.amazon.com//kms/latest/developerguide/control-access-overview.html#managing-access)。

**加密匯入的自訂模型**

若要使用客戶受管金鑰來加密匯入的自訂模型，您必須在金鑰政策中包含下列AWS KMS操作：
+ [kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)：允許 Amazon Bedrock 服務主體透過[授予操作](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)存取指定的 KMS 金鑰，藉此為客戶自管金鑰建立授予。如需授予的詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的 [AWS KMS 中的授予](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。
**注意**  
Amazon Bedrock 也會設定淘汰主體，並在不再需要後自動淘汰授予。
+ [kms:DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)：提供客戶自管金鑰的詳細資訊，以便 Amazon Bedrock 可以驗證金鑰。
+ [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)：提供客戶自管金鑰詳細資訊，以允許 Amazon Bedrock 驗證使用者存取。Amazon Bedrock 會將產生的密文與匯入的自訂模型一起存放，用作為對匯入的自訂模型使用者的額外驗證檢查。
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)：解密儲存的密文，以驗證角色對加密匯入的自訂模型 KMS 金鑰是否具有適當的存取權。

以下是您可以連接到角色金鑰的範例政策，用於加密您匯入的模型：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt an imported custom model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**將加密的匯入自訂模型解密**

如果您要匯入已由其他客戶自管金鑰加密的自訂模型，則必須新增相同角色的 `kms:Decrypt` 許可，如下列政策中所示：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key that encrypted a custom imported model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# 監控 Amazon Bedrock 服務的加密金鑰
<a name="import-model-monitor-encryption-keys"></a>

當您搭配 Amazon Bedrock 資源使用AWS KMS客戶受管金鑰時，您可以使用 [AWS CloudTrail](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-user-guide.html)或 [Amazon CloudWatch Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 來追蹤 Amazon Bedrock 傳送的請求AWS KMS。

以下是 [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 監控 Amazon Bedrock 呼叫AWS KMS的操作以建立主要授權的範例AWS CloudTrail事件：

```
{
"eventVersion": "1.09",
    "userIdentity": {
"type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelImport/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
"sessionIssuer": {
"type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/RoleForModelImport",
                "accountId": "111122223333",
                "userName": "RoleForModelImport"
            },
            "attributes": {
"creationDate": "2024-05-07T21:46:28Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
"granteePrincipal": "bedrock.amazonaws.com",
        "retiringPrincipal": "bedrock.amazonaws.com",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "operations": [
            "Decrypt",
            "CreateGrant",
            "GenerateDataKey",
            "DescribeKey"
        ]
    },
    "responseElements": {
"grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
"accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

遵循[建立政策](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-overview.html)中的步驟，將下列資源型政策連接至 KMS 金鑰。政策包含兩個陳述式。

1. 角色加密模型自訂成品的許可。將匯入自訂模型建置器角色 ARN 新增至 `Principal` 欄位。

1. 角色在推論中使用匯入自訂模型的許可。將匯入自訂模型使用者角色的 ARN 新增至 `Principal` 欄位。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS Key Policy",
    "Statement": [
        {
            "Sid": "Permissions for imported model builders",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Permissions for imported model users",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": "kms:Decrypt",
            "Resource": "*"
        }
    ]
}
```

------

# Amazon Bedrock資料自動化中的加密
<a name="encryption-bda"></a>

 Amazon BedrockData Automation (BDA) 使用加密來保護靜態資料。這包括此服務存放的藍圖、專案和擷取的洞見。BDA 提供兩種加密資料的選項：

1. AWS擁有的金鑰 – 根據預設，BDA 會使用AWS擁有的金鑰加密您的資料。您無法檢視、管理或使用AWS擁有的金鑰，或稽核其使用方式。不過，您不需要採取任何動作或變更任何程式，即可保護加密您資料的金鑰。如需詳細資訊，請參閱 Key Management Service 開發人員指南中的[AWS擁有的金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。AWS

1.  客戶自管金鑰：您可以選擇使用您自己管理的客戶自管金鑰來加密資料。如需AWS KMS金鑰的詳細資訊，請參閱 AWSKey Management Service 開發人員指南中的[客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。BDA 不支援在 Amazon Bedrock 主控台中使用的客戶自管金鑰，僅適用於 API 操作。

Amazon Bedrock資料自動化會使用AWS擁有的金鑰自動啟用靜態加密，無需付費。如果您使用客戶受管金鑰，則需支付 AWS KMS費用。如需定價的詳細資訊，請參閱 AWS KMS[定價](https://aws.amazon.com/kms/pricing/)。

## 如何在 中使用Amazon Bedrock授予AWS KMS
<a name="encryption-bda-grants"></a>

 如果您在呼叫 invokeDataAutomationAsync 時指定用於 BDA 加密的客戶受管金鑰，服務會透過傳送 CreateGrant 請求至 來建立與您的資源相關聯的授權AWS KMS。此授予可讓 BDA 存取和使用客戶自管金鑰。

 BDA 將此授予用於客戶自管金鑰，來進行下列內部操作：
+ DescribeKey — 將請求傳送至 AWS KMS，以驗證您提供的對稱客戶受管AWS KMS金鑰 ID 是否有效。
+ GenerateDataKey 和 Decrypt — 將請求傳送至 AWS KMS，以產生由客戶受管金鑰加密的資料金鑰，並解密加密的資料金鑰，以便用來加密您的 資源。
+ CreateGrant — 將請求傳送至 AWS KMS，以使用上述操作的子集 (DescribeKey、GenerateDataKey、Decrypt) 建立範圍縮小授權，以非同步執行操作。

 您可以完整存取客戶受管AWS KMS金鑰。您可以依照《AWS KMS 開發人員指南》中淘汰和撤銷授予的步驟來撤銷授予的存取權，或隨時修改金鑰政策來移除服務對客戶自管金鑰的存取權。如果您這樣做，BDA 將無法存取由金鑰加密的資源。

如果您在撤銷授予之後初始化新的 invokeDataAutomationAsync 呼叫，則 BDA 會重新建立授予。BDA 會在 30 小時後淘汰授予。

## 建立客戶自管金鑰並連接金鑰政策
<a name="encryption-bda-creating-keys"></a>

 若要使用您建立和管理的金鑰加密 BDA 資源，請遵循這些一般步驟：

1.  (先決條件) 確保 IAM 角色具有 CreateKey 動作的許可。

1.  請依照[建立金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)中的步驟，使用AWS KMS主控台或 CreateKey 操作來建立客戶受管金鑰。

1.  建立金鑰會傳回 ARN，可用於需要使用金鑰 (例如，在 BDA 中建立專案或藍圖時) 的操作，例如 invokeDataAutomationAsync 操作。

1.  建立金鑰政策並將其連接至具有必要許可的金鑰。若要建立金鑰政策，請遵循《 AWS KMS開發人員指南》中的[建立金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-create.html)的步驟。

## Amazon BedrockData Automation 資源的許可和金鑰政策
<a name="encryption-bda-key-policies.title"></a>

 建立AWS KMS金鑰之後，您可以將金鑰政策連接至該金鑰。下列 AWS KMS 動作會用於加密 BDA 資源的金鑰：

1.  kms:CreateGrant – 允許 BDA 服務透過 InvokeDataAutomationAsync 所需的授予操作存取指定的AWS KMS金鑰，為客戶受管金鑰建立授予。

1.  kms:DescribeKey：提供客戶自管金鑰的詳細資訊，以便 BDA 可以驗證金鑰。

1.  kms:GenerateDataKey：提供客戶自管金鑰詳細資訊，以允許 BDA 驗證使用者存取。

1.  kms:Decrypt – 解密儲存的加密文字，以驗證角色對加密 BDA 資源的AWS KMS金鑰具有適當的存取權。

**Amazon Bedrock Data Automation 的金鑰政策**

 若要使用客戶自管金鑰加密 BDA 資源，請在金鑰政策中包含下列陳述式，並將 `${account-id}`、`${region}` 和 `${key-id}` 取代為特定值：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt data for BDA resource",
    "Statement": [
        {
            "Sid": "Permissions for encryption of data for BDA resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

**IAM 角色許可**

用於與 BDA 互動的 IAM 角色AWS KMS應具有下列許可，請將 `${region}`、 `${account-id}`和 取代`${key-id}`為您的特定值：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Amazon Bedrock Automation 加密內容
<a name="encryption-bda-context"></a>

BDA 在所有AWS KMS密碼編譯操作中使用相同的加密內容，其中金鑰為 `aws:bedrock:data-automation-customer-account-id`，值為AWS您的帳戶 ID。加密內容的範例如下。

```
"encryptionContext": {
     "bedrock:data-automation-customer-account-id": "account id"
}
```

**使用加密內容進行監控**  
當您使用對稱的客戶自管金鑰加密資料時，您也可以在稽核記錄和日誌中使用加密內容，以指出客戶自管金鑰的使用方式。加密內容也會出現在 AWS CloudTrail或 Amazon CloudWatch Logs 產生的日誌中。

**使用加密內容控制對客戶受管金鑰的存取**  
您也可以在金鑰政策和 IAM 政策中，使用加密內容來控制對對稱客戶受管金鑰的存取。您也可以在授予中使用加密內容條件。BDA 會在授予中使用加密內容限制，以控制對帳戶和區域中客戶自管金鑰的存取。授予條件會要求授予允許的操作使用指定的加密內容。

以下是授予特定加密內容之客戶受管金鑰存取權的金鑰政策陳述式範例。此政策陳述式中的條件會要求具有指定加密內容的加密內容條件。

```
[
    {
        "Sid": "Enable DescribeKey, Decrypt, GenerateDataKey",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": ["kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey"],
        "Resource": "*"
    },
    {
        "Sid": "Enable CreateGrant",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": "kms:CreateGrant",
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws:bedrock:data-automation-customer-account-id": "111122223333"
            },
            "StringEquals": {
                "kms:GrantOperations": ["Decrypt", "DescribeKey", "GenerateDataKey"]
            }
        }
    }
]
```

## 監控Amazon Bedrock資料自動化的加密金鑰
<a name="encryption-bda-monitoring"></a>

 當您搭配 Amazon BedrockData Automation 資源使用AWS KMS客戶受管金鑰時，您可以使用 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)或 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 來追蹤Amazon Bedrock資料自動化傳送的請求AWS KMS。以下是 [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 監控 Amazon BedrockData Automation 呼叫AWS KMS的操作以建立主要授權的範例AWS CloudTrail事件：

```
{
    "eventVersion": "1.09",
        "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForDataAutomation/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
        "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIGDTESTANDEXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/RoleForDataAutomation",
        "accountId": "111122223333",
        "userName": "RoleForDataAutomation"
        },
        "attributes": {
        "creationDate": "2024-05-07T21:46:28Z",
        "mfaAuthenticated": "false"
    }
    },
    "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
    "granteePrincipal": "bedrock.amazonaws.com",
    "retiringPrincipal": "bedrock.amazonaws.com",
    "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
     "constraints": {
            "encryptionContextSubset": {
                "aws:bedrock:data-automation-customer-account-id": "000000000000"
            }
        },
    "operations": [
    "Decrypt",
    "CreateGrant",
    "GenerateDataKey",
    "DescribeKey"
    ]
    },
    "responseElements": {
    "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
    "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
    {
    "accountId": "111122223333",
    "type": "AWS::KMS::Key",
    "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

# 代理程式資源加密
<a name="encryption-agents-new"></a>

依預設加密靜態資料，有助於降低保護敏感資料所涉及的營運開銷和複雜性。同時，其可讓您建置符合嚴格加密合規性和法規要求的安全應用程式。

Amazon Bedrock 使用預設的 AWS 擁有金鑰來自動加密代理程式的資訊。這包括控制平面資料和工作階段資料。您無法檢視、管理 AWS 擁有的金鑰，或稽核其使用方式。如需詳細資訊，請參閱 [AWS 擁有的金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。

雖然無法停用此層加密，但您可以選擇使用客戶自管金鑰 (而不是 AWS 擁有的金鑰) 來加密代理程式的資訊。Amazon Bedrock 支援使用對稱客戶自管金鑰 (CMK)，您可以建立、擁有和管理這些金鑰 (而不是預設 AWS 擁有的加密)。如需詳細資訊，請參閱[客戶自管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

**重要**  
Amazon Bedrock 會使用 AWS 擁有的金鑰自動加密代理程式的工作階段資訊，無需額外付費。
若是使用客戶自管金鑰，則會收取 AWS KMS 費用。如需定價的資訊，請參閱 [AWS 金鑰管理服務定價](https://aws.amazon.com/kms/pricing/)。
如果您在 2025 年 1 月 22 日*之前*建立代理程式，並想要使用客戶自管金鑰來加密代理程式資源，請遵循 [針對 2025 年 1 月 22 日之前建立的代理程式，加密代理程式資源](encryption-agents.md) 的指示。

# 使用客戶自管金鑰 (CMK) 加密代理程式資源
<a name="cmk-agent-resources"></a>

您可以隨時使用建置代理程式時提供的下列代理程式資訊，建立客戶自管金鑰來加密代理程式的資訊。

**注意**  
系統只會針對 2025 年 1 月 22 日之後建立的代理程式加密下列代理程式資源。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/cmk-agent-resources.html)

若要使用客戶自管金鑰，請完成下列步驟：

1. 使用 AWS Key Management Service建立客戶自管金鑰。

1. 建立金鑰政策並連接至客戶自管金鑰

## 建立客戶自管金鑰
<a name="create-cmk-agent"></a>

您可以使用 AWS 管理主控台或 AWS Key Management Service APIs 來建立對稱客戶受管金鑰。

 首先確定您擁有 `CreateKey` 許可，然後遵循《AWS Key Management Service 開發人員指南》**中的[建立對稱客戶自管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)步驟。

**金鑰政策**：金鑰政策會控制客戶自管金鑰的存取權限。每個客戶受管金鑰都必須只有一個金鑰政策，其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶受管金鑰時，可以指定金鑰政策。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[管理客戶自管金鑰的存取權限](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)。

如果您在 2025 年 1 月 22 日之後建立代理程式，並想要使用客戶自管金鑰來加密代理程式的資訊，請確定呼叫代理程式 API 操作的使用者或角色在金鑰政策中具有下列許可：
+ [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)：傳回可在 AWS KMS 外部使用的唯一對稱資料金鑰。
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)：解密 KMS 金鑰加密的密文。

建立金鑰會傳回 `Arn` 作為金鑰，您可以在建立代理程式時使用該金鑰作為 `customerEncryptionKeyArn`。

## 建立金鑰政策並將其連接至客戶自管金鑰
<a name="attach-policy-agent"></a>

如果使用客戶自管金鑰加密代理程式資源，您必須設定身分型政策和資源型政策，以允許 Amazon Bedrock 代表您加密和解密代理程式資源。

**身分型政策**

將下列身分型政策連接至具有許可的 IAM 角色或使用者，以呼叫代表您加密和解密代理程式資源的代理程式 API。此政策會驗證發出 API 呼叫的使用者具有 AWS KMS 許可。將 `${region}`、`${account-id}`、`${agent-id}` 和 `${key-id}` 取代為適當的值。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EncryptAgents",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

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

*只有在*您建立 Amazon S3 中結構描述已加密的動作群組時，才能將下列資源型政策連接至您的 AWS KMS 金鑰。您不需要為任何其他使用案例連接資源型政策。

若要連接下列資源型政策，請視需要變更許可範圍，並以適當的值取代 `${region}`、`${account-id}`、`${agent-id}` 和 `${key-id}`。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow account root to modify the KMS key, not used by Amazon Bedrock.",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}"
        },
        {
            "Sid": "Allow Amazon Bedrock to encrypt and decrypt Agent resources on behalf of authorized users",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

## 變更客戶自管金鑰
<a name="change-cmk"></a>

當與 *DRAFT* 代理程式相關聯的客戶受管金鑰變更時，或當您從客戶受管金鑰移至 AWS 擁有的金鑰時，Amazon Bedrock 代理程式不支援版本控制的代理程式重新加密。只會使用新金鑰重新加密 *DRAFT* 資源的資料。

如果使用版本控制的代理程式來提供生產資料，請確定您不會刪除或移除其任何金鑰的許可。

若要檢視和驗證版本所使用的金鑰，請呼叫 [GetAgentVersion](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_GetAgentVersion.html) 並檢查回應中的 `customerEncryptionKeyArn`。

# 使用客戶受管金鑰 (CMK) 加密代理程式工作階段
<a name="ltm-permissions"></a>

如果您已為代理程式啟用記憶體，且您使用客戶受管金鑰加密代理程式工作階段，則必須設定下列金鑰政策和呼叫身分 IAM 許可，以設定客戶受管金鑰。

**客戶受管金鑰政策**

Amazon Bedrock 使用這些許可來產生加密的資料金鑰，然後使用產生的金鑰來加密代理程式記憶體。Amazon Bedrock 還需要許可，才能以不同的加密內容重新加密產生的資料金鑰。當客戶受管金鑰在另一個客戶受管金鑰或服務擁有的金鑰之間轉換時，也會使用重新加密許可。如需詳細資訊，請參閱[階層式 keyring](https://docs.aws.amazon.com//database-encryption-sdk/latest/devguide/use-hierarchical-keyring.html)。

用適當的值取代 `$region`、`account-id` 和 `${caller-identity-role}`。

```
{
    "Version": "2012-10-17",		 	 	 
    {
        "Sid": "Allow access for bedrock to enable long term memory",
        "Effect": "Allow",
        "Principal": {
            "Service": [
                "bedrock.amazonaws.com",
            ],
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "$account-id"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:bedrock:$region:$account-id:agent-alias/*"
            }
        }
        "Resource": "*"
    },
    {
        "Sid": "Allow the caller identity control plane permissions for long term memory",
        "Effect": "Allow", 
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*"
            }
        }
    },
    {
        "Sid": "Allow the caller identity data plane permissions to decrypt long term memory",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*",
                "kms:ViaService": "bedrock.$region.amazonaws.com" 
            }
        }
    }
}
```

**加密和解密代理程式記憶體的 IAM 許可**

呼叫 Agents API 的身分需要下列 IAM 許可，才能為啟用記憶體的代理程式設定 KMS 金鑰。Amazon Bedrock 代理程式使用這些許可，以確保發起人身分獲得授權，具有上述金鑰政策中提及的許可，以便 API 管理、訓練和部署模型。對於調用代理程式的 API，Amazon Bedrock 代理程式會使用發起人身分的 `kms:Decrypt` 許可來解密記憶體。

用適當的值取代 `$region`、`account-id` 和 `${key-id}`。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentsControlPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKeyWithoutPlaintext", 
                "kms:ReEncrypt*"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        },
        {
            "Sid": "AgentsDataPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        }
    ]
}
```

------

# 代理程式的預防性安全最佳實務
<a name="security-best-practice-agents"></a>

下列 Amazon Bedrock 服務最佳實務有助於預防安全事件的發生。

**使用安全連線**

一律使用加密連線，例如開頭為 `https://` 的連線，以確保傳輸中敏感資訊的安全。

**實作資源的最低權限存取權**

當您為 Amazon Bedrock 資源建立自訂政策時，請只授予執行任務所需要的許可。建議從最小的一組許可開始，然後依需要授予額外的許可。對降低錯誤或惡意攻擊所引起的安全風險和影響而言，實作最低權限存取是相當重要的一環。如需詳細資訊，請參閱[Amazon Bedrock 的 Identity and Access Management](security-iam.md)。

**請勿在任何包含客戶資料的代理程式資源中包含 PII**

建立、更新和刪除代理程式資源時 (例如，使用 [CreateAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgent.html) 時)，請勿在任何不支援使用客戶受管金鑰的欄位中包含個人身分識別資訊 (PII)，例如動作群組名稱和知識庫名稱。如需支援使用客戶受管金鑰的欄位清單，請參閱 [使用客戶自管金鑰 (CMK) 加密代理程式資源](cmk-agent-resources.md)

# 針對 2025 年 1 月 22 日之前建立的代理程式，加密代理程式資源
<a name="encryption-agents"></a>

**重要**  
如果您在 2025 年 1 月 22 日*之後*建立代理程式，請遵循 [代理程式資源加密](encryption-agents-new.md) 的指示

Amazon Bedrock 會將您的代理程式工作階段資訊加密。根據預設，Amazon Bedrock 會使用 AWS受管金鑰加密此資料。或者，您可以使用客戶自管金鑰加密代理程式成品。

如需 的詳細資訊AWS KMS keys，請參閱《 *AWS Key Management Service開發人員指南*》中的[客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

如果使用自訂 KMS 金鑰使用代理程式加密工作階段，您必須設定下列身分型政策和資源型政策，以允許 Amazon Bedrock 代表您加密和解密代理程式資源。

1. 將下列身分型政策連接到 IAM 角色或具有撥打 `InvokeAgent` 通話許可權的使用者。此政策會驗證撥打 `InvokeAgent` 通話的使用者具有 KMS 許可權。將 *\$1\$1region\$1*、*\$1\$1account-id\$1*、*\$1\$1agent-id\$1* 和 *\$1\$1key-id\$1* 取代為適當的值。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptDecryptAgents",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/agent-id"
                   }
               }
           }
       ]
   }
   ```

------

1. 將下列的資源型政策連接至您的 KMS 金鑰。視需要變更許可權範圍。將 *\$1\$1region\$1*、*\$1\$1account-id\$1*、*\$1\$1agent-id\$1* 和 *\$1\$1key-id\$1* 取代為適當的值。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowBedrockEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
                   }
               }
           },
           {
               "Sid": "AllowRoleEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/Role"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowAttachmentPersistentResources",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": "true"
                   }
               }
           }
       ]
   }
   ```

------

# Amazon Bedrock Flows 資源的加密
<a name="encryption-flows"></a>

Amazon Bedrock 會加密靜態資料。根據預設，Amazon Bedrock 會使用 AWS 受管金鑰加密此資料。或者，您可以使用客戶自管金鑰加密資料。

如需詳細資訊AWS KMS keys，請參閱《 *AWS Key Management Service開發人員指南*》中的[客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

如果使用自訂 KMS 金鑰加密資料，您必須設定下列身分型政策和資源型政策，以允許 Amazon Bedrock 代表您加密和解密資料。

1. 將下列身分型政策連接到 IAM 角色或具有撥打 Amazon Bedrock 流程 API 呼叫許可的使用者。此政策會驗證撥打 Amazon Bedrock 流程呼叫的使用者是否具有 KMS 許可。將 *\$1\$1region\$1*、*\$1\$1account-id\$1*、*\$1\$1flow-id\$1* 和 *\$1\$1key-id\$1* 取代為適當的值。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptFlow",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/${flow-id}",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. 將下列的資源型政策連接至您的 KMS 金鑰。視需要變更許可權範圍。將 *\$1IAM-USER/ROLE-ARN\$1*、*\$1\$1region\$1*、*\$1\$1account-id\$1*、*\$1\$1flow-id\$1* 和 *\$1\$1key-id\$1* 取代為適當的值。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSId",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowRoleUseKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/RoleName"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/FlowId",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. 對於[流程執行](flows-create-async.md)，請將下列身分型政策連接至[具有建立和管理流程許可的服務角色](flows-permissions.md)。此政策會驗證您的服務角色是否具有 AWS KMS許可。將 *region*、*account-id*、*flow-id* 和 *key-id* 取代為適當的值。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptionFlows",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/flow-id",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

# 知識庫資源的加密
<a name="encryption-kb"></a>

Amazon Bedrock 會加密與您的知識庫相關的資源。根據預設，Amazon Bedrock 會使用 AWS擁有的金鑰來加密此資料。或者，您可以使用客戶管理的金鑰加密模型成品。

下列程序可能會使用 KMS 金鑰進行加密：
+ 擷取您的資料來源時的暫時性資料儲存
+ 如果您讓 Amazon Bedrock 設定向量資料庫，請將資訊傳遞給 OpenSearch Service
+ 查詢知識庫

您的知識庫使用的下列資源，可以使用 KMS 金鑰加密。如果您將資源加密，您需要新增許可權來解密 KMS 金鑰。
+ 存放在 Amazon S3 儲存貯體中的資料來源
+ 第三方向量存放區

如需 的詳細資訊 AWS KMS keys，請參閱《 *AWS Key Management Service 開發人員指南*》中的[客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

**注意**  
Amazon Bedrock 知識庫使用 TLS 加密與第三方資料來源連接器和向量存放區進行通訊，其中提供者允許並支援傳輸中的 TLS 加密。

**Topics**
+ [資料擷取期間的暫時性資料儲存加密](#encryption-kb-ingestion)
+ [將資訊加密傳遞至 Amazon OpenSearch Service](#encryption-kb-oss)
+ [將傳遞給 Amazon S3 Vectors 的資訊加密](#encryption-kb-s3-vector)
+ [知識庫檢索加密](#encryption-kb-runtime)
+ [在 Amazon S3 中解密資料來源 AWS KMS 金鑰的許可](#encryption-kb-ds)
+ [解密包含知識庫之向量存放區的 AWS Secrets Manager 秘密的許可](#encryption-kb-3p)
+ [具有 AWS KMS 加密的 Bedrock 資料自動化 (BDA) 許可](#encryption-kb-bda)

## 資料擷取期間的暫時性資料儲存加密
<a name="encryption-kb-ingestion"></a>

為知識庫設定資料擷取任務時，可以使用自訂 KMS 金鑰加密任務。

若要允許在擷取資料來源的過程中建立暫時性資料儲存的 AWS KMS 金鑰，請將下列政策連接至 Amazon Bedrock 服務角色。將範例值取代為您自己的 AWS 區域、帳戶 ID 和 AWS KMS 金鑰 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ]
        }
    ]
}
```

------

## 將資訊加密傳遞至 Amazon OpenSearch Service
<a name="encryption-kb-oss"></a>

如果您選擇讓 Amazon Bedrock 在 Amazon OpenSearch Service 中為您的知識庫建立向量存放區，Amazon Bedrock 可以將您選擇的 KMS 密鑰傳遞至 Amazon OpenSearch Service 服務進行加密。若要進一步了解 Amazon OpenSearch Service 中的加密，請參閱 [Amazon OpenSearch Service 中的加密](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html)。

## 將傳遞給 Amazon S3 Vectors 的資訊加密
<a name="encryption-kb-s3-vector"></a>

如果您選擇讓 Amazon Bedrock 在 Amazon S3 Vectors 中為知識庫建立 S3 向量儲存貯體和向量索引，Amazon Bedrock 可以將您選擇的 KMS 金鑰傳遞至 Amazon S3 Vectors 服務進行加密。若要進一步了解 Amazon S3 Vectors 中的加密，請參閱[使用 Amazon S3 Vectors 加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html)。

## 知識庫檢索加密
<a name="encryption-kb-runtime"></a>

您可以透過使用 KMS 金鑰查詢知識庫來加密產生回應的工作階段。若要這麼做，請在提出 [RetrieveAndGenerate](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) 請求時，在 `kmsKeyArn` 欄位中包含 KMS 金鑰的 ARN。連接下列政策，將範例值取代為您自己的 AWS 區域、帳戶 ID 和 AWS KMS 金鑰 ID，以允許 Amazon Bedrock 加密工作階段內容。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id"
        }
    ]
}
```

------

## 在 Amazon S3 中解密資料來源 AWS KMS 金鑰的許可
<a name="encryption-kb-ds"></a>

您可以將知識庫的資料來源存放在您的 Amazon S3 儲存貯體中。若要將這些靜態文件加密，您可以使用 Amazon S3 SSE-S3 伺服器端加密選項。使用此選項，物件會使用 Amazon S3 服務管理的服務金鑰加密。

如需詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》**中的[透過 Amazon S3 受管加密金鑰 (SSE-S3) 使用伺服器端加密來保護資料](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)。

如果您使用自訂 AWS KMS 金鑰在 Amazon S3 中加密資料來源，請將下列政策連接至 Amazon Bedrock 服務角色，以允許 Amazon Bedrock 解密您的金鑰。將範例值取代為您自己的 AWS 區域、帳戶 ID 和 AWS KMS 金鑰 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "KMS:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "s3.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## 解密包含知識庫之向量存放區的 AWS Secrets Manager 秘密的許可
<a name="encryption-kb-3p"></a>

如果包含知識庫的向量存放區已設定 AWS Secrets Manager 秘密，您可以依照秘密加密和解密中的步驟，使用自訂 AWS KMS 金鑰來加密秘密。 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html)

如果您這麼做，只要將下列政策連接到 Amazon Bedrock 服務角色，就能允許將您的金鑰解密。將範例值取代為您自己的 AWS 區域、帳戶 ID 和 AWS KMS 金鑰 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ]
        }
    ]
}
```

------

## 具有 AWS KMS 加密的 Bedrock 資料自動化 (BDA) 許可
<a name="encryption-kb-bda"></a>

使用 BDA 處理具有客戶受管 AWS KMS 金鑰的多模態內容時，除了標準許可之外，還需要額外的 AWS KMS 許可。

將下列政策連接至 Amazon Bedrock 服務角色，以允許 BDA 使用加密的多媒體檔案。將範例值取代為您自己的 AWS 區域、帳戶 ID 和 AWS KMS 金鑰 ID。

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": "arn:aws:kms:region:account-id:key/key-id",
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

BDA 特定的許可包括 `kms:DescribeKey`和 `kms:CreateGrant`動作，BDA 需要這些動作來處理加密的音訊、影片和影像檔案。

# 使用 Amazon VPC 和 AWS PrivateLink 保護資料
<a name="usingVPC"></a>

若要控制對資料的存取，建議您使用虛擬私有雲端 (VPC) 搭配 [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。使用 VPC 保護資料，讓您透過使用 [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 監控所有傳出和傳入 AWS 作業容器的網路流量。

您可以透過設定 VPC 進一步保護資料，使得資料無法透過網際網路取得，並使用 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html) 建立 VPC 介面端點，以建立資料的私有連結。

以下列出 Amazon Bedrock 的一些功能，您可以利用這些功能使用 VPC 保護資料：
+ 模型自訂 – [(選用) 使用 VPC 保護模型自訂任務](custom-model-job-access-security.md#vpc-model-customization)
+ 批次推論 – [使用 VPC 保護批次推論任務](batch-vpc.md)
+ Amazon Bedrock 知識庫 – [使用介面端點 (AWS PrivateLink)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html) 存取 Amazon OpenSearch Serverless

## 設定 VPC
<a name="create-vpc"></a>

您可以使用[預設 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html)，或遵循[開始使用 Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) 和[建立 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) 中的指引建立新的 VPC。

當您建立 VPC 時，建議為端點路由表使用預設的 DNS 設定，如此才能解析標準 Amazon S3 URL (例如 `http://s3-aws-region.amazonaws.com/training-bucket`)。

下列主題說明如何在 AWS PrivateLink 的協助下設定 VPC 端點，以及使用 VPC 保護 S3 檔案存取權的範例使用案例。

**Topics**
+ [設定 VPC](#create-vpc)
+ [使用介面 VPC 端點 (AWS PrivateLink) 即可在 VPC 與 Amazon Bedrock 之間建立私有連線。](vpc-interface-endpoints.md)
+ [(範例) 使用 VPC 存取限制對 Amazon S3 資料的資料存取權](vpc-s3.md)

# 使用介面 VPC 端點 (AWS PrivateLink) 即可在 VPC 與 Amazon Bedrock 之間建立私有連線。
<a name="vpc-interface-endpoints"></a>

您可以使用 在 VPC 和 Amazon Bedrock 之間 AWS PrivateLink 建立私有連線。您可以像在 VPC 中一樣存取 Amazon Bedrock，無需使用網際網路閘道、NAT 裝置、VPN 連接或 Direct Connect 連線。VPC 中的執行個體無需公有 IP 地址，即可存取 Amazon Bedrock。

您可以建立由 AWS PrivateLink提供支援的*介面端點*來建立此私有連線。我們會在您為介面端點啟用的每個子網中建立端點網路介面。這些是請求者管理的網路介面，可作為目的地為 Amazon Bedrock 之流量的進入點。

如需詳細資訊，請參閱《 *AWS PrivateLink 指南*》中的[AWS 服務 透過 存取 AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html) 。

## Amazon Bedrock VPC 端點的考量事項
<a name="vpc-endpoint-considerations"></a>

在您為 Amazon Bedrock 設定介面端點之前，請檢閱《*AWS PrivateLink 指南*》中的[考量事項](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#considerations-interface-endpoints)。

Amazon Bedrock 支援透過 VPC 端點進行 API 呼叫。


****  

| Category | 端點尾碼 | 
| --- | --- | 
| [Amazon Bedrock 控制平面 API 動作](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) | bedrock | 
| [Amazon Bedrock 執行時期 API 動作](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html) | bedrock-runtime | 
| Amazon Bedrock Mantle API 動作 | bedrock-mantle | 
| [Amazon Bedrock 代理人建置時期 API 動作](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) | bedrock-agent | 
| [Amazon Bedrock 代理人執行時期 API 動作](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock_Runtime.html) | bedrock-agent-runtime | 

**可用區域**

Amazon Bedrock 和 Amazon Bedrock 代理人適用於多個可用區域。

## 建立 Amazon Bedrock 的介面端點
<a name="vpc-endpoint-create"></a>

您可以使用 Amazon VPC 主控台或 AWS Command Line Interface () 為 Amazon Bedrock 建立介面端點AWS CLI。如需詳細資訊，請參閱《*AWS PrivateLink 指南*》中的「[建立介面端點](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws)」。

使用以下任何服務名稱，為 Amazon Bedrock 建立介面端點：
+ `com.amazonaws.region.bedrock`
+ `com.amazonaws.region.bedrock-runtime`
+ `com.amazonaws.region.bedrock-mantle`
+ `com.amazonaws.region.bedrock-agent`
+ `com.amazonaws.region.bedrock-agent-runtime`

建立端點後，您可以選擇啟用私有 DNS 主機名稱。當您建立 VPC 端點時，在 VPC 主控台中選取 Enable Private DNS Name (啟用私有 DNS 名稱) 來啟用此設計。

如果您為該介面端點啟用私有 DNS，您可以使用其區域的預設 DNS 名稱向 Amazon Bedrock 發出 API 請求。下列範例顯示預設區域 DNS 名稱的格式。
+ `bedrock.region.amazonaws.com`
+ `bedrock-runtime.region.amazonaws.com`
+ `bedrock-mantle.region.api.aws`
+ `bedrock-agent.region.amazonaws.com`
+ `bedrock-agent-runtime.region.amazonaws.com`

## 為您的介面端點建立端點政策
<a name="vpc-endpoint-policy"></a>

端點政策為 IAM 資源，您可將其連接至介面端點。預設端點政策允許透過介面端點完整存取 Amazon Bedrock。若要控制 VPC 對 Amazon Bedrock 的存取，請將自訂端點政策連接至介面端點。

端點政策會指定以下資訊：
+ 可執行動作 (AWS 帳戶、IAM 使用者和 IAM 角色) 的主體。
+ 可執行的動作。
+ 可供執行動作的資源。

如需詳細資訊，請參閱《*AWS PrivateLink 指南*》中的「[使用端點政策控制對服務的存取](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)」。

**範例：Amazon Bedrock 動作的 VPC 端點政策**  
以下是自訂端點政策的範例。連接此資源型政策至介面端點後，此政策會針對所有資源上的所有主體，授予所列出 Amazon Bedrock 動作的存取權。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Principal": "*",
         "Effect": "Allow",
         "Action": [
            "bedrock:InvokeModel",
            "bedrock:InvokeModelWithResponseStream"
         ],
         "Resource":"*"
      }
   ]
}
```

------

**範例：Amazon Bedrock Mantle 動作的 VPC 端點政策**  
以下是自訂端點政策的範例。當您將此資源型政策連接到介面端點時，它會授予所有資源上所有主體所列出的 Amazon Bedrock 管理動作的存取權。

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Principal": "*",
         "Effect": "Allow",
         "Action": [
            "bedrock-mantle:CreateInference"
         ],
         "Resource":"*"
      }
   ]
}
```

# (範例) 使用 VPC 存取限制對 Amazon S3 資料的資料存取權
<a name="vpc-s3"></a>

您可以使用 VPC 來限制對 Amazon S3 儲存貯體中資料的存取權。為了進一步提高安全性，您可以在未存取網際網路的狀況下設定 VPC，並使用 AWS PrivateLink為其建立端點。您也可以透過將資源型政策連接至 VPC 端點或 S3 儲存貯體，來限制存取。

**Topics**
+ [建立 Amazon S3 VPC 端點](#vpc-s3-create)
+ [(選用) 使用 IAM 政策來限制對 S3 檔案的存取](#vpc-policy-rbp)

## 建立 Amazon S3 VPC 端點
<a name="vpc-s3-create"></a>

如果您在沒有存取網際網路的情況下設定 VPC，則需要建立 [Amazon S3 VPC 端點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html)，以允許模型自訂任務存取 S3 儲存貯體，其中會存放訓練和驗證資料並將存放模型成品。

遵循[為 Amazon S3 建立閘道端點](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3)中的步驟，建立 S3 VPC 端點。

**注意**  
如果您未將預設的 DNS 設定用於 VPC，則必須透過設定端點路由表，來確保訓練任務中資料位置的 URL 可解析。如需 VPC 端點路由表的相關資訊，請參閱[閘道端點的路由](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)。

## (選用) 使用 IAM 政策來限制對 S3 檔案的存取
<a name="vpc-policy-rbp"></a>

您可以使用[資源型政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)更緊密地控制對 S3 檔案的存取。您可以使用下列類型資源型政策的任意組合。
+ **端點政策** – 您可以將端點政策連接至 VPC 端點，以透過 VPC 端點限制存取權。預設端點政策可讓 VPC 中的任何使用者或服務完整存取 Amazon S3。在建立端點時或之後，您可以選擇將資源型政策連接至端點以新增限制，例如僅允許端點存取特定儲存貯體，或僅允許特定 IAM 角色存取端點。如需範例，請參閱[編輯 VPC 端點政策](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#edit-vpc-endpoint-policy-s3)。

  以下是您可以連接到 VPC 端點的範例政策，以僅允許其存取您指定的儲存貯體。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RestrictAccessToTrainingBucket",
              "Effect": "Allow",
              "Principal": "*",
              "Action": [
                  "s3:GetObject",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::bucket",
                  "arn:aws:s3:::bucket/*"
              ]
          }
      ]
  }
  ```

------
+ **儲存貯體政策** – 您可以將儲存貯體政策連接至 S3 儲存貯體，以限制對其的存取權。若要建立儲存貯體政策，請遵循[使用儲存貯體政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html)中的步驟。若要限制存取來自 VPC 的流量，您可以使用條件金鑰來指定 VPC 本身、VPC 端點或 VPC 的 IP 位址。您可以使用 [aws：sourceVpc](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpc)、[aws：sourceVpce](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpce) 或 [aws：VpcSourceIp](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-vpcsourceip) 條件金鑰。

  以下是您可以連接到 S3 儲存貯體的範例政策，以拒絕所有流到儲存貯體的流量，除非流量來自您的 VPC。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RestrictAccessToOutputBucket",
              "Effect": "Deny",
              "Principal": "*",
              "Action": [
                  "s3:GetObject",
                  "s3:PutObject",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::bucket",
                  "arn:aws:s3:::bucket/*"
              ],
              "Condition": {
                  "StringNotEquals": {
                      "aws:sourceVpc": "vpc-11223344556677889"
                  }
              }
          }
      ]
  }
  ```

------

  如需更多範例，請參閱[使用儲存貯體政策控制存取](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#bucket-policies-s3)。

# Amazon Bedrock 的 Identity and Access Management
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) 是一種 AWS 服務 ，可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員可控制哪些人員可*進行身分驗證* (登入) 並*獲得授權* (具有許可) 以使用 Amazon Bedrock 資源。IAM 是您可以免費使用 AWS 服務 的 。

**Topics**
+ [目標對象](#security_iam_audience)
+ [使用身分驗證](#security_iam_authentication)
+ [使用政策管理存取權](#security_iam_access-manage)
+ [Amazon Bedrock 如何搭配 IAM 運作](security_iam_service-with-iam.md)
+ [Amazon Bedrock 的身分型政策範例](security_iam_id-based-policy-examples.md)
+ [在專案上管理 IAM 政策](security-iam-projects.md)
+ [AWS Amazon Bedrock 的 受管政策](security-iam-awsmanpol.md)
+ [服務角色](security-iam-sr.md)
+ [設定對 Amazon S3 儲存貯體的存取權](s3-bucket-access.md)
+ [Amazon Bedrock 身分識別和存取權的疑難排解](security_iam_troubleshoot.md)

## 目標對象
<a name="security_iam_audience"></a>

使用方式 AWS Identity and Access Management (IAM) 會根據您的角色而有所不同：
+ **服務使用者** — 若無法存取某些功能，請向管理員申請所需許可 (請參閱 [Amazon Bedrock 身分識別和存取權的疑難排解](security_iam_troubleshoot.md))
+ **服務管理員** — 負責設定使用者存取權並提交相關許可請求 (請參閱 [Amazon Bedrock 如何搭配 IAM 運作](security_iam_service-with-iam.md))
+ **IAM 管理員** — 撰寫政策以管理存取控制 (請參閱 [Amazon Bedrock 的身分型政策範例](security_iam_id-based-policy-examples.md))

## 使用身分驗證
<a name="security_iam_authentication"></a>

身分驗證是您 AWS 使用身分憑證登入 的方式。您必須驗證為 AWS 帳戶根使用者、IAM 使用者或擔任 IAM 角色。

您可以使用身分來源的登入資料，例如 AWS IAM Identity Center (IAM Identity Center)、單一登入身分驗證或 Google/Facebook 登入資料，以聯合身分的形式登入。如需有關登入的詳細資訊，請參閱《AWS 登入 使用者指南》**中的[如何登入您的 AWS 帳戶](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)。

對於程式設計存取， AWS 提供 SDK 和 CLI 以密碼編譯方式簽署請求。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [API 請求的AWS 第 4 版簽署程序](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。

### AWS 帳戶 根使用者
<a name="security_iam_authentication-rootuser"></a>

 當您建立 時 AWS 帳戶，您會從一個名為 AWS 帳戶 *theroot 使用者的*登入身分開始，該身分可完整存取所有 AWS 服務 和 資源。強烈建議不要使用根使用者來執行日常任務。有關需要根使用者憑證的任務，請參閱《IAM 使用者指南》**中的[需要根使用者憑證的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

### 聯合身分
<a name="security_iam_authentication-federated"></a>

最佳實務是要求人類使用者使用聯合身分提供者，以 AWS 服務 使用臨時憑證存取 。

*聯合身分*是您企業目錄、Web 身分提供者的使用者，或是 AWS 服務 使用身分來源的憑證 Directory Service 存取的使用者。聯合身分會擔任角色，而該角色會提供臨時憑證。

若需集中化管理存取權限，建議使用 AWS IAM Identity Center。如需詳細資訊，請參閱 *AWS IAM Identity Center 使用者指南*中的[什麼是 IAM Identity Center？](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

### IAM 使用者和群組
<a name="security_iam_authentication-iamuser"></a>

*IAM 使用者*[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)是一種身分具備單人或應用程式的特定許可權。建議以臨時憑證取代具備長期憑證的 IAM 使用者。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[要求人類使用者使用聯合身分提供者來 AWS 使用臨時憑證存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) 。

[IAM 群組](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)**會指定 IAM 使用者集合，使管理大量使用者的許可權更加輕鬆。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [IAM 使用者的使用案例](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)。

### IAM 角色
<a name="security_iam_authentication-iamrole"></a>

*IAM 角色*[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)的身分具有特定許可權，其可以提供臨時憑證。您可以透過[從使用者切換到 IAM 角色 （主控台） ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)或呼叫 AWS CLI 或 AWS API 操作來擔任角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的[擔任角色的方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)。

IAM 角色適用於聯合身分使用者存取、臨時 IAM 使用者許可、跨帳戶存取權與跨服務存取，以及在 Amazon EC2 執行的應用程式。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的快帳戶資源存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

## 使用政策管理存取權
<a name="security_iam_access-manage"></a>

您可以透過建立政策並將其連接到身分或資源 AWS 來控制 AWS 中的存取。政策定義與身分或資源相關聯的許可。當委託人提出請求時 AWS ， 會評估這些政策。大多數政策會以 JSON 文件 AWS 的形式存放在 中。如需進一步了解 JSON 政策文件，請參閱《*IAM 使用者指南*》中的 [JSON 政策概觀](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)。

管理員會使用政策，透過定義哪些**主體**可在哪些**條件**下對哪些**資源**執行**動作**，以指定可存取的範圍。

預設情況下，使用者和角色沒有許可。IAM 管理員會建立 IAM 政策並將其新增至角色，供使用者後續擔任。IAM 政策定義動作的許可，無論採用何種方式執行。

### 身分型政策
<a name="security_iam_access-manage-id-based-policies"></a>

身分型政策是附加至身分 (使用者、使用者群組或角色) 的 JSON 許可政策文件。這類政策控制身分可對哪些資源執行哪些動作，以及適用的條件。如需了解如何建立身分型政策，請參閱《*IAM 使用者指南*》中的[透過客戶管理政策定義自訂 IAM 許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

身分型政策可分為*內嵌政策* (直接內嵌於單一身分) 與*受管政策* (可附加至多個身分的獨立政策)。如需了解如何在受管政策及內嵌政策之間做選擇，請參閱《IAM 使用者指南》**中的[在受管政策與內嵌政策之間選擇](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)。

### 資源型政策
<a name="security_iam_access-manage-resource-based-policies"></a>

資源型政策是附加到資源的 JSON 政策文件。範例包括 IAM *角色信任政策*與 Amazon S3 *儲存貯體政策*。在支援資源型政策的服務中，服務管理員可以使用它們來控制對特定資源的存取權限。您必須在資源型政策中[指定主體](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。

資源型政策是位於該服務中的內嵌政策。您無法在資源型政策中使用來自 IAM 的 AWS 受管政策。

### 其他政策類型
<a name="security_iam_access-manage-other-policies"></a>

AWS 支援其他政策類型，可設定更多常見政策類型授予的最大許可：
+ **許可界限** — 設定身分型政策可授與 IAM 實體的最大許可。如需詳細資訊，請參閱《 IAM 使用者指南》**中的 [IAM 實體許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。
+ **服務控制政策 (SCP)** — 為 AWS Organizations中的組織或組織單位指定最大許可。如需詳細資訊，請參閱《AWS Organizations 使用者指南》**中的[服務控制政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)。
+ **資源控制政策 (RCP)** — 設定您帳戶中資源可用許可的上限。如需詳細資訊，請參閱《AWS Organizations 使用者指南》**中的[資源控制政策 (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)。
+ **工作階段政策** — 在以程式設計方式為角色或聯合身分使用者建立臨時工作階段時，以參數形式傳遞的進階政策。如需詳細資訊，請參《*IAM 使用者指南*》中的[工作階段政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)。

### 多種政策類型
<a name="security_iam_access-manage-multiple-policies"></a>

當多種類型的政策適用於請求時，產生的許可會更複雜而無法理解。若要了解如何 AWS 決定是否在涉及多個政策類型時允許請求，請參閱《*IAM 使用者指南*》中的[政策評估邏輯](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。

# Amazon Bedrock 如何搭配 IAM 運作
<a name="security_iam_service-with-iam"></a>

在您使用 IAM 管理對 Amazon Bedrock 的存取權之前，請了解哪些 IAM 功能可以與 Amazon Bedrock 搭配使用。






**您可以搭配 Amazon Bedrock 使用的 IAM 功能**  

| IAM 功能 | Amazon Bedrock 支援 | 
| --- | --- | 
|  [身分型政策](#security_iam_service-with-iam-id-based-policies)  |   是  | 
|  [資源型政策](#security_iam_service-with-iam-resource-based-policies)  |   否   | 
|  [政策動作](#security_iam_service-with-iam-id-based-policies-actions)  |   是  | 
|  [政策資源](#security_iam_service-with-iam-id-based-policies-resources)  |   是  | 
|  [政策條件索引鍵](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   是  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   否   | 
|  [ABAC (政策中的標籤)](#security_iam_service-with-iam-tags)  |   是  | 
|  [臨時憑證](#security_iam_service-with-iam-roles-tempcreds)  |   是  | 
|  [主體許可](#security_iam_service-with-iam-principal-permissions)  |   是  | 
|  [服務角色](#security_iam_service-with-iam-roles-service)  |   是  | 
|  [服務連結角色](#security_iam_service-with-iam-roles-service-linked)  |   否   | 

若要全面了解 Amazon Bedrock 和其他 AWS 服務如何與大多數 IAM 功能搭配使用，請參閱《IAM *使用者指南*》中的[AWS 與 IAM 搭配使用的 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## Amazon Bedrock 身分型政策
<a name="security_iam_service-with-iam-id-based-policies"></a>

**支援身分型政策：**是

身分型政策是可以附加到身分 (例如 IAM 使用者、使用者群組或角色) 的 JSON 許可政策文件。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。如需了解如何建立身分型政策，請參閱《*IAM 使用者指南*》中的[透過客戶管理政策定義自訂 IAM 許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

使用 IAM 身分型政策，您可以指定允許或拒絕的動作和資源，以及在何種條件下允許或拒絕動作。如要了解您在 JSON 政策中使用的所有元素，請參閱《*IAM 使用者指南*》中的 [IAM JSON 政策元素參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

### Amazon Bedrock 的身分型政策範例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



若要檢視 Amazon Bedrock 身分型政策的範例，請參閱 [Amazon Bedrock 的身分型政策範例](security_iam_id-based-policy-examples.md)。

## Amazon Bedrock 中的資源型政策
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**支援資源型政策：**否 

資源型政策是附加到資源的 JSON 政策文件。資源型政策的最常見範例是 IAM *角色信任政策*和 Amazon S3 *儲存貯體政策*。在支援資源型政策的服務中，服務管理員可以使用它們來控制對特定資源的存取權限。對於附加政策的資源，政策會定義指定的主體可以對該資源執行的動作以及在何種條件下執行的動作。您必須在資源型政策中[指定主體](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。委託人可以包含帳戶、使用者、角色、聯合身分使用者或 AWS 服務。

如需啟用跨帳戶存取權，您可以在其他帳戶內指定所有帳戶或 IAM 實體作為資源型政策的主體。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的快帳戶資源存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

## Amazon Bedrock 的政策行動
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**支援政策動作：**是

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

JSON 政策的 `Action` 元素描述您可以用來允許或拒絕政策中存取的動作。政策會使用動作來授予執行相關聯動作的許可。



若要查看 Amazon Bedrock 動作的清單，請參閱《服務授權參考》**中的 [Amazon Bedrock 定義的動作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions)。

Amazon Bedrock 中的政策動作會在動作前使用以下字首：

```
bedrock
```

若要在單一陳述式中指定多個動作，請用逗號分隔。

```
"Action": [
   "bedrock:action1",
   "bedrock:action2"
]
```





若要檢視 Amazon Bedrock 身分型政策的範例，請參閱 [Amazon Bedrock 的身分型政策範例](security_iam_id-based-policy-examples.md)。

## Amazon Bedrock 的政策資源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**支援政策資源：**是

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

`Resource` JSON 政策元素可指定要套用動作的物件。最佳實務是使用其 [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) 來指定資源。若動作不支援資源層級許可，使用萬用字元 (\$1) 表示該陳述式適用於所有資源。

```
"Resource": "*"
```

若要查看 Amazon Bedrock 資源類型清單及其 ARN，請參閱《服務授權參考》**中的 [Amazon Bedrock 定義的資源](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies)。若要了解您可以使用哪些動作指定每個資源的 ARN，請參閱 [Amazon Bedrock 定義的動作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions)。





某些 Amazon Bedrock API 動作支援多個資源。例如，[AssociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html) 會存取 *AGENT12345* 和 *KB12345678*，讓主體必須具備可存取這兩個資源的許可。若要在單一陳述式中指定多項資源，請使用逗號分隔 ARN。

```
"Resource": [
   "arn:aws:bedrock:aws-region:111122223333:agent/AGENT12345",
   "arn:aws:bedrock:aws-region:111122223333:knowledge-base/KB12345678"
]
```

若要檢視 Amazon Bedrock 身分型政策的範例，請參閱 [Amazon Bedrock 的身分型政策範例](security_iam_id-based-policy-examples.md)。

## Amazon Bedrock 的政策條件索引鍵
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**支援服務特定政策條件金鑰：**是

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

`Condition` 元素會根據定義的條件，指定陳述式的執行時機。您可以建立使用[條件運算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)的條件運算式 (例如等於或小於)，來比對政策中的條件和請求中的值。若要查看所有 AWS 全域條件索引鍵，請參閱《*IAM 使用者指南*》中的[AWS 全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

若要查看 Amazon Bedrock 條件索引鍵的清單，請參閱《服務授權參考》**中的 [Amazon Bedrock 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)。若要了解您可以搭配哪些動作和資源使用條件索引鍵，請參閱 [Amazon Bedrock 定義的動作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions)。

所有 Amazon Bedrock 動作都支援使用 Amazon Bedrock 模型做為資源的條件索引鍵。

若要檢視 Amazon Bedrock 身分型政策的範例，請參閱 [Amazon Bedrock 的身分型政策範例](security_iam_id-based-policy-examples.md)。

## Amazon Bedrock 中的 ACL
<a name="security_iam_service-with-iam-acls"></a>

**支援 ACL：**否 

存取控制清單 (ACL) 可控制哪些主體 (帳戶成員、使用者或角色) 擁有存取某資源的許可。ACL 類似於資源型政策，但它們不使用 JSON 政策文件格式。

## ABAC 與 Amazon Bedrock
<a name="security_iam_service-with-iam-tags"></a>

**支援 ABAC (政策中的標籤)：**是

屬性型存取控制 (ABAC) 是一種授權策略，依據稱為標籤的屬性來定義許可。您可以將標籤連接至 IAM 實體 AWS 和資源，然後設計 ABAC 政策，以便在委託人的標籤符合資源上的標籤時允許操作。

如需根據標籤控制存取，請使用 `aws:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 條件索引鍵，在政策的[條件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中，提供標籤資訊。

如果服務支援每個資源類型的全部三個條件金鑰，則對該服務而言，值為 **Yes**。如果服務僅支援某些資源類型的全部三個條件金鑰，則值為 **Partial**。

如需 ABAC 的詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 ABAC 授權定義許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。如要查看含有設定 ABAC 步驟的教學課程，請參閱《*IAM 使用者指南*》中的[使用屬性型存取控制 (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

## 將暫時登入資料與 Amazon Bedrock 搭配使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**支援臨時憑證：**是

臨時登入資料提供 AWS 資源的短期存取權，當您使用聯合或切換角色時，會自動建立。 AWS 建議您動態產生臨時登入資料，而不是使用長期存取金鑰。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的臨時安全憑證](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)與[可與 IAM 搭配運作的AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## Amazon Bedrock 的跨服務主體許可
<a name="security_iam_service-with-iam-principal-permissions"></a>

**支援轉寄存取工作階段 (FAS)：**是

 轉送存取工作階段 (FAS) 使用呼叫 的委託人許可 AWS 服務，並結合 AWS 服務 請求向下游服務提出請求。如需提出 FAS 請求時的政策詳細資訊，請參閱[轉發存取工作階段](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)。

## Amazon Bedrock 的服務角色
<a name="security_iam_service-with-iam-roles-service"></a>

**支援服務角色：**是

 服務角色是服務擔任的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)，可代您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立角色以委派許可給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

**警告**  
變更服務角色的許可權可能會使 Amazon Bedrock 功能中斷。僅在 Amazon Bedrock 指引這麼做時，才能編輯服務角色。

## Amazon Bedrock 的服務連結角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**支援服務連結角色：**否 

 服務連結角色是連結至 的一種服務角色 AWS 服務。服務可以擔任代表您執行動作的角色。服務連結角色會出現在您的 中 AWS 帳戶 ，並由服務擁有。IAM 管理員可以檢視，但不能編輯服務連結角色的許可。

# Amazon Bedrock 的身分型政策範例
<a name="security_iam_id-based-policy-examples"></a>

根據預設，IAM 使用者和角色不具備建立或修改 Amazon Bedrock 資源的許可。若要授予使用者對其所需資源執行動作的許可，IAM 管理員可以建立 IAM 政策。

如需了解如何使用這些範例 JSON 政策文件建立 IAM 身分型政策，請參閱《*IAM 使用者指南*》中的[建立 IAM 政策 (主控台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)。

如需 Amazon Bedrock 所定義之動作和資源類型的詳細資訊，包括每種資源類型的 ARN 格式，請參閱《服務授權參考》**中的[適用於 Amazon Bedrock 的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html)。

**Topics**
+ [政策最佳實務](#security_iam_service-with-iam-policy-best-practices)
+ [使用 Amazon Bedrock 主控台](#security_iam_id-based-policy-examples-console)
+ [允許使用者檢視他們自己的許可](#security_iam_id-based-policy-examples-view-own-permissions)
+ [拒絕存取基礎模型的推論](#security_iam_id-based-policy-examples-deny-inference)
+ [允許使用者調用佈建模型](#security_iam_id-based-policy-examples-perform-actions-pt)
+ [Amazon Bedrock 代理程式的身分型政策範例](security_iam_id-based-policy-examples-agent.md)

## 政策最佳實務
<a name="security_iam_service-with-iam-policy-best-practices"></a>

身分型政策會判斷您帳戶中的某個人員是否可以建立、存取或刪除 Amazon Bedrock 資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時，請遵循下列準則及建議事項：
+ **開始使用 AWS 受管政策並邁向最低權限許可** – 若要開始將許可授予您的使用者和工作負載，請使用將許可授予許多常見使用案例的 *AWS 受管政策*。它們可在您的 中使用 AWS 帳戶。我們建議您定義特定於使用案例 AWS 的客戶受管政策，以進一步減少許可。如需更多資訊，請參閱《*IAM 使用者指南*》中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[任務職能的AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **套用最低權限許可** – 設定 IAM 政策的許可時，請僅授予執行任務所需的許可。為實現此目的，您可以定義在特定條件下可以對特定資源採取的動作，這也稱為*最低權限許可*。如需使用 IAM 套用許可的更多相關資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的政策和許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 政策中的條件進一步限制存取權** – 您可以將條件新增至政策，以限制動作和資源的存取。例如，您可以撰寫政策條件，指定必須使用 SSL 傳送所有請求。如果透過特定 例如 使用服務動作 AWS 服務，您也可以使用條件來授予其存取權 CloudFormation。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM JSON 政策元素：條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 驗證 IAM 政策，確保許可安全且可正常運作** – IAM Access Analyzer 驗證新政策和現有政策，確保這些政策遵從 IAM 政策語言 (JSON) 和 IAM 最佳實務。IAM Access Analyzer 提供 100 多項政策檢查及切實可行的建議，可協助您撰寫安全且實用的政策。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 IAM Access Analyzer 驗證政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重要素驗證 (MFA)** – 如果您的案例需要 IAM 使用者或 中的根使用者 AWS 帳戶，請開啟 MFA 以提高安全性。如需在呼叫 API 操作時請求 MFA，請將 MFA 條件新增至您的政策。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[透過 MFA 的安全 API 存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

如需 IAM 中最佳實務的相關資訊，請參閱《*IAM 使用者指南*》中的 [IAM 安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

## 使用 Amazon Bedrock 主控台
<a name="security_iam_id-based-policy-examples-console"></a>

若要存取 Amazon Bedrock 主控台，您必須擁有最基本的一組許可權。這些許可必須允許您列出和檢視 中 Amazon Bedrock 資源的詳細資訊 AWS 帳戶。如果您建立比最基本必要許可更嚴格的身分型政策，則對於具有該政策的實體 (使用者或角色) 而言，主控台就無法如預期運作。

對於僅呼叫 AWS CLI 或 AWS API 的使用者，您不需要允許最低主控台許可。反之，只需允許存取符合他們嘗試執行之 API 操作的動作就可以了。

為了確保使用者和角色仍然可以使用 Amazon Bedrock 主控台，請將 Amazon Bedrock [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess) 或 [AmazonBedrockReadOnly](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockReadOnly) AWS 受管政策連接到實體。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[新增許可到使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)。

## 允許使用者檢視他們自己的許可
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

此範例會示範如何建立政策，允許 IAM 使用者檢視附加到他們使用者身分的內嵌及受管政策。此政策包含在主控台或使用 或 AWS CLI AWS API 以程式設計方式完成此動作的許可。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## 拒絕存取基礎模型的推論
<a name="security_iam_id-based-policy-examples-deny-inference"></a>

若要防止使用者調用基礎模型，您需要拒絕存取直接調用模型的 API 動作。以下範例顯示拒絕執行特定模型推論的存取的身分型政策。此政策可以做為服務控制政策 (SCP)，以控制整個組織的模型存取。

------
#### [ JSON ]

****  

```
{
          "Version":"2012-10-17",		 	 	 
          "Statement": {
              "Sid": "DenyInference",
              "Effect": "Deny",
              "Action": [
                  "bedrock:InvokeModel",
                  "bedrock:InvokeModelWithResponseStream",
                  "bedrock:CreateModelInvocationJob"
               ],
              "Resource": "arn:aws:bedrock:*::foundation-model/model-id"
          }
      }
```

------

若要拒絕對所有基礎模型的推論存取權，請將 `*` 用於模型 ID。`InvokeModel` 遭到拒絕時，系統會自動封鎖其他動作，例如 `Converse` 和 `StartAsyncInvoke`。如需模型 ID 清單，請參閱[Amazon Bedrock 中支援的基礎模型](models-supported.md)。

## 允許使用者調用佈建模型
<a name="security_iam_id-based-policy-examples-perform-actions-pt"></a>

以下是您可以連接到 IAM 角色的範例政策，以允許其在模型推論中使用佈建模型。例如，您可以將此政策連接至您希望其僅擁有可使用佈建模型之許可的角色。此角色將無法管理或查看佈建輸送量的相關資訊。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ProvisionedThroughputModelInvocation",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/my-provisioned-model"
        }
    ]
}
```

------

# Amazon Bedrock 代理程式的身分型政策範例
<a name="security_iam_id-based-policy-examples-agent"></a>

選取主題以查看您可以連接到 IAM 角色的範例 IAM 政策，以在 [使用 AI 代理程式自動執行應用程式中的任務](agents.md) 中佈建動作的許可。

**Topics**
+ [Amazon Bedrock 代理程式的必要許可](#iam-agents-ex-all)
+ [允許使用者檢視與調用和代理程式相關的資訊](#security_iam_id-based-policy-examples-perform-actions-agent)
+ [控制對服務層的存取](#security_iam_id-based-policy-examples-service-tiers)

## Amazon Bedrock 代理程式的必要許可
<a name="iam-agents-ex-all"></a>

若要讓 IAM 身分使用 Amazon Bedrock 代理程式，您必須使用必要的許可進行設定。您可以連接 [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess) 政策，將適當的許可授予角色。

若要將許可限制為僅限於 Amazon Bedrock 代理程式中使用的動作，請將下列身分型政策連接至 IAM 角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentPermissions",
            "Effect": "Allow",
            "Action": [  
                "bedrock:ListFoundationModels",
                "bedrock:GetFoundationModel",
                "bedrock:TagResource", 
                "bedrock:UntagResource", 
                "bedrock:ListTagsForResource", 
                "bedrock:CreateAgent", 
                "bedrock:UpdateAgent", 
                "bedrock:GetAgent", 
                "bedrock:ListAgents", 
                "bedrock:DeleteAgent",
                "bedrock:CreateAgentActionGroup", 
                "bedrock:UpdateAgentActionGroup", 
                "bedrock:GetAgentActionGroup", 
                "bedrock:ListAgentActionGroups", 
                "bedrock:DeleteAgentActionGroup",
                "bedrock:GetAgentVersion",
                "bedrock:ListAgentVersions", 
                "bedrock:DeleteAgentVersion",
                "bedrock:CreateAgentAlias", 
                "bedrock:UpdateAgentAlias",               
                "bedrock:GetAgentAlias",
                "bedrock:ListAgentAliases",
                "bedrock:DeleteAgentAlias",
                "bedrock:AssociateAgentKnowledgeBase",
                "bedrock:DisassociateAgentKnowledgeBase",
                "bedrock:ListAgentKnowledgeBases",
                "bedrock:GetKnowledgeBase",
                "bedrock:ListKnowledgeBases",
                "bedrock:PrepareAgent",
                "bedrock:InvokeAgent",
                "bedrock:AssociateAgentCollaborator",
                "bedrock:DisassociateAgentCollaborator",
                "bedrock:GetAgentCollaborator",
                "bedrock:ListAgentCollaborators",
                "bedrock:UpdateAgentCollaborator"
            ],
            "Resource": "*"
        }
    ]   
}
```

------

您可以省略[動作](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions)或指定[資源](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources)和[條件索引鍵](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys)，進一步限制許可。IAM 身分可以針對特定資源呼叫 API 操作。例如，[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html) 操作只能用於代理程式資源，而 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) 操作只能用於別名資源。對於未用於特定資源類型的 API 操作 (例如 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html))，請將 \$1 指定為 `Resource`。如果您指定的 API 操作無法在政策中指定的資源上使用，則 Amazon Bedrock 會傳回錯誤。

## 允許使用者檢視與調用和代理程式相關的資訊
<a name="security_iam_id-based-policy-examples-perform-actions-agent"></a>

以下是您可以連接到 IAM 角色的範例政策，以允許該角色檢視 ID 為 *AGENT12345* 的代理程式相關資訊或編輯該代理程式，並與 ID 為 *ALIAS12345* 的別名互動。例如，您可以將此政策連接至您只想要擁有可對代理程式進行疑難排解及更新之許可的角色。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetAndUpdateAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgent",
                "bedrock:UpdateAgent"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
        },
        {
            "Sid": "InvokeAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeAgent"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/AgentId/AgentAliasId"
        }
    ]
}
```

------

## 控制對服務層的存取
<a name="security_iam_id-based-policy-examples-service-tiers"></a>

Amazon Bedrock 服務層為推論請求提供不同層級的處理優先順序和定價。根據預設，所有服務層 （優先順序、預設和彈性） 都可供具有適當 Bedrock 許可的使用者使用，並遵循允許清單方法授予存取權，除非明確限制。

不過，組織可能想要控制其使用者可以存取的服務層，以管理成本或強制執行用量政策。您可以使用 IAM 政策搭配 `bedrock:ServiceTier`條件金鑰來實作存取限制，以拒絕存取特定服務層。此方法可讓您精確控制哪些團隊成員可以使用高級服務方案，例如「優先順序」或成本最佳化方案，例如「彈性」。

下列範例顯示身分型政策，拒絕存取所有服務層。當您想要防止使用者指定任何服務層，強制他們使用系統預設行為時，這種類型的政策很有用：

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:InvokeModel",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:ServiceTier": ["reserved", "priority", "default", "flex"]
                }
            }
        }
    ]
}
```

您可以自訂此政策，透過修改`bedrock:ServiceTier`條件值來拒絕僅存取特定服務層。例如，若要只拒絕高級 "priority" 層，同時允許 "default" 和 "flex"，您只能在 條件`["priority"]`中指定 。這種靈活的方法可讓您實作符合組織成本管理和操作需求的用量政策。如需服務方案的詳細資訊，請參閱 [最佳化效能和成本的服務層](service-tiers-inference.md)。

# 在專案上管理 IAM 政策
<a name="security-iam-projects"></a>

Amazon Bedrock Projects 支援直接 IAM 政策連接，可讓您在專案資源層級管理存取控制。這提供了管理 IAM 使用者和角色政策的替代方案。

## 了解專案層級 IAM 政策
<a name="security-iam-projects-understanding"></a>

專案層級 IAM 政策可讓您：
+ **集中存取控制**：直接在專案資源上定義許可
+ **簡化管理**：在不修改個別使用者/角色政策的情況下更新存取權
+ **輕鬆稽核**：在一個位置檢視專案的所有許可
+ **委派管理**：允許專案擁有者管理其專案的存取權

## 將 IAM 政策連接至專案
<a name="security-iam-projects-attaching"></a>

### 連接政策以授予存取權
<a name="security-iam-projects-attach-grant"></a>

將 IAM 政策直接連接至專案以授予許可：

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Define the identity-based policy document
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowTeamAlphaAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock-mantle:ListTagsForResources",
                "bedrock-mantle:GetProject"
            ],
            "Resource": project_arn
        }
    ]
}

policy_json = json.dumps(policy_document)

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="TeamAlphaAccessPolicy",
    PolicyDocument=policy_json,
    Description="Grants Team Alpha read access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach the policy to alice (IAM user)
iam.attach_user_policy(
    UserName="alice",
    PolicyArn=policy_arn
)
print("Policy attached to alice")

# Attach the policy to bob (IAM user)
iam.attach_user_policy(
    UserName="bob",
    PolicyArn=policy_arn
)
print("Policy attached to bob")

# Attach the policy to TeamAlphaRole (IAM role)
iam.attach_role_policy(
    RoleName="TeamAlphaRole",
    PolicyArn=policy_arn
)
print("Policy attached to TeamAlphaRole")
```

### 授予團隊完整專案存取權
<a name="security-iam-projects-full-access"></a>

允許團隊完整存取以管理和使用專案：

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Identity-based policy — no Principal block needed
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "FullProjectAccess",
            "Effect": "Allow",
            "Action": "bedrock-mantle:*",
            "Resource": project_arn
        }
    ]
}

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="DataScienceFullAccess",
    PolicyDocument=json.dumps(policy_document),
    Description="Grants DataScienceTeamRole full access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach to the DataScienceTeamRole
iam.attach_role_policy(
    RoleName="DataScienceTeamRole",
    PolicyArn=policy_arn
)

print("Full access policy attached to DataScienceTeamRole")
```

### 授予 唯讀存取權
<a name="security-iam-projects-readonly"></a>

連接僅允許檢視專案詳細資訊和提出推論請求的政策：

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Identity-based policy — no Principal block needed
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock-mantle:CreateInference",
                "bedrock-mantle:GetProject",
                "bedrock-mantle:ListProjects",
                "bedrock-mantle:ListTagsForResources"
            ],
            "Resource": project_arn
        }
    ]
}

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="ReadOnlyAccessPolicy",
    PolicyDocument=json.dumps(policy_document),
    Description="Grants viewer1 and viewer2 read-only access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach to viewer1
iam.attach_user_policy(
    UserName="viewer1",
    PolicyArn=policy_arn
)
print("Policy attached to viewer1")

# Attach to viewer2
iam.attach_user_policy(
    UserName="viewer2",
    PolicyArn=policy_arn
)
print("Policy attached to viewer2")
```







# AWS Amazon Bedrock 的 受管政策
<a name="security-iam-awsmanpol"></a>

若要新增許可給使用者、群組和角色，使用 AWS 受管政策比自行撰寫政策更容易。建立 [IAM 客戶受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)需要時間和專業知識，而受管政策可為您的團隊提供其所需的許可。若要快速開始使用，您可以使用我們的 AWS 受管政策。這些政策涵蓋常見的使用案例，並可在您的 AWS 帳戶中使用。

如需 AWS 受管政策的清單，請參閱 [AWS 受管政策](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/policy-list.html)參考中的 AWS 受管政策。如需 AWS 受管政策的詳細資訊，請參閱《*IAM 使用者指南*》中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

AWS 服務會維護和更新 AWS 受管政策。您無法變更 AWS 受管政策中的許可。服務偶爾會在 AWS 受管政策中新增其他許可以支援新功能。此類型的更新會影響已連接政策的所有身分識別 (使用者、群組和角色)。當新功能啟動或新操作可用時，服務很可能會更新 AWS 受管政策。服務不會從 AWS 受管政策移除許可，因此政策更新不會破壞您現有的許可。

此外， AWS 支援跨多個 服務之任務函數的受管政策。例如，**ReadOnlyAccess** AWS 受管政策提供所有 AWS 服務和資源的唯讀存取權。當服務啟動新功能時， 會為新操作和資源 AWS 新增唯讀許可。如需任務職能政策的清單和說明，請參閱 *IAM 使用者指南*中[有關任務職能的AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。

**Topics**
+ [AWS 受管政策：AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess)
+ [AWS 受管政策：AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly)
+ [AWS 受管政策：AmazonBedrockLimitedAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess)
+ [AWS 受管政策：AmazonBedrockMarketplaceAccess](#security-iam-awsmanpol-AmazonBedrockMarketplaceAccess)
+ [AWS 受管政策：AmazonBedrockMantleFullAccess](#security-iam-awsmanpol-AmazonBedrockMantleFullAccess)
+ [AWS 受管政策：AmazonBedrockMantleReadOnly](#security-iam-awsmanpol-AmazonBedrockMantleReadOnly)
+ [AWS 受管政策：AmazonBedrockMantleInferenceAccess](#security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess)
+ [Amazon Bedrock 受 AWS 管政策的更新](#security-iam-awsmanpol-updates)

## AWS 受管政策：AmazonBedrockFullAccess
<a name="security-iam-awsmanpol-AmazonBedrockFullAccess"></a>

您可以將 [AmazonBedrockFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockFullAccess.html) 政策連接至您的 IAM 身分，以授予管理權限，允許使用者建立、讀取、更新和刪除 Amazon Bedrock 資源。

**許可詳細資訊**

此政策包含以下許可：
+  `ec2`(Amazon Elastic Compute Cloud) — 允許描述 VPC、子網路和安全群組。
+  `iam` (AWS 身分識別和存取管理） – 允許主體傳遞角色，但只允許將 IAM 角色與其中的「Amazon Bedrock」傳遞至 Amazon Bedrock 服務。許可權僅限用於 Amazon Bedrock 操作的 `bedrock.amazonaws.com`。
+  `kms` (AWS 金鑰管理服務） – 允許主體描述 AWS KMS 金鑰和別名。
+  `bedrock`(Amazon Bedrock) — 允許主體讀取和寫入存取 Amazon Bedrock控制平面和執行時期服務中的所有動作。
+  `sagemaker` (Amazon SageMaker AI) – 允許主體存取客戶帳戶中的 Amazon SageMaker AI 資源，做為 Amazon Bedrock 市集功能的基礎。

------
#### [ JSON ]

****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "BedrockAll",
             "Effect": "Allow",
             "Action": [
                 "bedrock:*"
             ],
             "Resource": "*"
         },
         {
             "Sid": "DescribeKey",
             "Effect": "Allow",
             "Action": [
                 "kms:DescribeKey"
             ],
             "Resource": "arn:*:kms:*:::*"
         },
         {
             "Sid": "APIsWithAllResourceAccess",
             "Effect": "Allow",
             "Action": [
                 "iam:ListRoles",
                 "ec2:DescribeVpcs",
                 "ec2:DescribeSubnets",
                 "ec2:DescribeSecurityGroups"
             ],
             "Resource": "*"
         },
         {
             "Sid": "MarketplaceModelEndpointMutatingAPIs",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:CreateEndpoint",
                 "sagemaker:CreateEndpointConfig",
                 "sagemaker:CreateModel",
                 "sagemaker:DeleteEndpoint",
                 "sagemaker:UpdateEndpoint"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com",
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointAddTagsOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:AddTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "ForAllValues:StringEquals": {
                     "aws:TagKeys": [
                         "sagemaker-sdk:bedrock",
                         "bedrock:marketplace-registration-status",
                         "sagemaker-studio:hub-content-arn"
                     ]
                 },
                 "StringLike": {
                     "aws:RequestTag/sagemaker-sdk:bedrock": "compatible",
                     "aws:RequestTag/bedrock:marketplace-registration-status": "registered",
                     "aws:RequestTag/sagemaker-studio:hub-content-arn": "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointDeleteTagsOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DeleteTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "ForAllValues:StringEquals": {
                     "aws:TagKeys": [
                         "sagemaker-sdk:bedrock",
                         "bedrock:marketplace-registration-status",
                         "sagemaker-studio:hub-content-arn"
                     ]
                 },
                 "StringLike": {
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible",
                     "aws:ResourceTag/bedrock:marketplace-registration-status": "registered",
                     "aws:ResourceTag/sagemaker-studio:hub-content-arn": "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointNonMutatingAPIs",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DescribeEndpoint",
                 "sagemaker:DescribeEndpointConfig",
                 "sagemaker:DescribeModel",
                 "sagemaker:DescribeInferenceComponent",
                 "sagemaker:ListEndpoints",
                 "sagemaker:ListTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointInvokingOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:InvokeEndpoint",
                 "sagemaker:InvokeEndpointWithResponseStream"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com",
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible"
                 }
             }
         },
         {
             "Sid": "DiscoveringMarketplaceModel",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DescribeHubContent"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*",
                 "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
             ]
         },
         {
             "Sid": "AllowMarketplaceModelsListing",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:ListHubContents"
             ],
             "Resource": "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
         },
         {
             "Sid": "PassRoleToSageMaker",
             "Effect": "Allow",
             "Action": [
                 "iam:PassRole"
             ],
             "Resource": [
                 "arn:aws:iam::*:role/*SageMaker*ForBedrock*"
             ],
             "Condition": {
                 "StringEquals": {
                     "iam:PassedToService": [
                         "sagemaker.amazonaws.com",
                         "bedrock.amazonaws.com"
                     ]
                 }
             }
         },
         {
             "Sid": "PassRoleToBedrock",
             "Effect": "Allow",
             "Action": [
                 "iam:PassRole"
             ],
             "Resource": "arn:aws:iam::*:role/*AmazonBedrock*",
             "Condition": {
                 "StringEquals": {
                     "iam:PassedToService": [
                         "bedrock.amazonaws.com"
                     ]
                 }
             }
         },
         {
             "Sid": "MarketplaceOperationsFromBedrockFor3pModels",
             "Effect": "Allow",
             "Action": [
                 "aws-marketplace:Subscribe",
                 "aws-marketplace:ViewSubscriptions",
                 "aws-marketplace:Unsubscribe"
             ],
             "Resource": "*",
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com"
                 }
             }
         }
     ]
 }
```

------

## AWS 受管政策：AmazonBedrockReadOnly
<a name="security-iam-awsmanpol-AmazonBedrockReadOnly"></a>

您可以將 [AmazonBedrockReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockReadOnly.html) 政策連接至 IAM 身分，以授予唯讀許可來檢視 Amazon Bedrock 中的所有資源。

## AWS 受管政策：AmazonBedrockLimitedAccess
<a name="security-iam-awsmanpol-AmazonBedrockLimitedAccess"></a>

您可以將 [AmazonBedrockLimitedAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockLimitedAccess.html) 政策連接至 IAM 身分，以允許其存取第三方基礎模型的 Amazon Bedrock 服務、 AWS KMS 金鑰管理、聯網資源和 AWS Marketplace 訂閱。此政策包含下列陳述式：
+ `BedrockAPIs` 陳述式可讓您在 Amazon Bedrock 中執行多項操作，包括：
  + 在向 Amazon Bedrock 服務提出 API 請求時傳遞 Amazon Bedrock API 金鑰。
  + 描述資源的相關資訊。
  + 建立資源 (防護機制、模型、任務)。
  + 建立和調整自動推理政策 (建立、建置、調整和測試政策)。
  + 刪除資源。
  + 在所有資源上調用模型。
+ `DescribeKey` 陳述式可讓您檢視所有區域和帳戶中的 KMS 金鑰相關資訊，只要金鑰上的政策允許您這麼做即可。
+ `APIsWithAllResourceAccess` 陳述式可讓您：
  + 列出 IAM 角色。
  + 描述所有資源中的 Amazon VPC 資源 (VPC、子網路和安全群組)。
+ `MarketplaceOperationsFromBedrockFor3pModels` 陳述式可讓您：
  + 訂閱 AWS Marketplace 方案。
  + 檢視訂閱。
  + 取消訂閱 AWS Marketplace 方案。
**注意**  
條件索引鍵 `aws:CalledViaLast` 將這些動作限制為只有透過 Amazon Bedrock 服務呼叫其時才會執行。

## AWS 受管政策：AmazonBedrockMarketplaceAccess
<a name="security-iam-awsmanpol-AmazonBedrockMarketplaceAccess"></a>

您可以將 [AmazonBedrockMarketplaceAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMarketplaceAccess.html) 政策連接至您的 IAM 身分，以允許其透過 SageMaker AI 整合管理和使用 Amazon Bedrock 市集模型端點。此政策包含下列陳述式：
+ `BedrockMarketplaceAPIs` 陳述式允許您在 Amazon Bedrock 中對所有資源建立、刪除、註冊、取消註冊和更新市集模型端點。
+ `MarketplaceModelEndpointMutatingAPIs` 陳述式可讓您在指定的資源上建立和管理 SageMaker AI 端點、端點組態和模型。
  + 使用 `aws:CalledViaLast` 條件索引鍵，以確保只有在透過 Bedrock 呼叫這些動作時，才會執行動作。
  + 使用 `aws:ResourceTag/sagemaker-sdk:bedrock` 條件索引鍵，以確保這些動作僅在標記為與 Amazon Bedrock 相容的資源上執行。
+ `MarketplaceModelEndpointAddTagsOperations` 陳述式允許將特定標籤新增至指定資源上的 SageMaker AI 端點、端點組態和模型。
  + 使用 `aws:TagKeys` 條件索引鍵來限制可新增的標籤
  + 使用 `aws:RequestTag/*` 條件索引鍵來確保標籤值符合指定的模式
+ `MarketplaceModelEndpointDeleteTagsOperations` 陳述式允許刪除指定資源上 SageMaker AI 端點、端點組態和模型中的特定標籤。
  + 使用 `aws:TagKeys` 條件索引鍵來限制可刪除的標籤
  + 使用 `aws:ResourceTag/*` 條件索引鍵來確保刪除的標籤符合指定的模式
+ `MarketplaceModelEndpointNonMutatingAPIs` 陳述式允許檢視和描述指定資源上的 SageMaker AI 端點、端點組態和模型。
  + 使用 `aws:CalledViaLast` 條件索引鍵來確保僅透過 Amazon Bedrock 服務執行動作
+ `MarketplaceModelEndpointInvokingOperations` 陳述式允許在指定的資源上調用 SageMaker AI 端點。
  + 使用 `aws:CalledViaLast` 條件索引鍵來確保僅透過 Amazon Bedrock 服務執行動作
  + 使用 `aws:ResourceTag/sagemaker-sdk:bedrock` 條件索引鍵來確保僅在 Bedrock 相容的資源上執行動作
+ `DiscoveringMarketplaceModel` 陳述式允許描述指定資源上的 SageMaker AI 中樞內容。
+ `AllowMarketplaceModelsListing` 陳述式允許列出指定資源上的 SageMaker AI 中樞內容。
+ `PassRoleToSageMaker` 陳述式允許在指定的資源上將 IAM 角色傳遞至 SageMaker AI 和 Amazon Bedrock。
  + 使用 `iam:PassedToService` 條件索引鍵來確保角色只傳遞給指定的服務。
+ `PassRoleToBedrock` 陳述式可讓您將特定 IAM 角色傳遞給指定資源上的 Amazon Bedrock。
  + 使用 `iam:PassedToService` 條件索引鍵來確保角色僅傳遞給 Amazon Bedrock 服務。

## AWS 受管政策：AmazonBedrockMantleFullAccess
<a name="security-iam-awsmanpol-AmazonBedrockMantleFullAccess"></a>

您可以將 [AmazonBedrockMantleFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleFullAccess.html) 政策連接至 IAM 身分，以授予所有 Amazon Bedrock Mantle 操作的完整存取權。

**許可詳細資訊**

此政策包含以下許可：
+ `bedrock-mantle` (Amazon Bedrock Mantle) – 允許主體完整存取 Amazon Bedrock Mantle 服務中的所有動作。

## AWS 受管政策：AmazonBedrockMantleReadOnly
<a name="security-iam-awsmanpol-AmazonBedrockMantleReadOnly"></a>

您可以將 [AmazonBedrockMantleReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleReadOnly.html) 政策連接至 IAM 身分，以授予檢視 Amazon Bedrock Mantle 資源和使用承載字符呼叫的唯讀許可。

**許可詳細資訊**

此政策包含以下許可：
+ `bedrock-mantle` (Amazon Bedrock Mantle) – 允許主體取得和列出 Amazon Bedrock Mantle 專案資源，並使用承載字符呼叫以進行身分驗證。

## AWS 受管政策：AmazonBedrockMantleInferenceAccess
<a name="security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess"></a>

您可以將 [AmazonBedrockMantleInferenceAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleInferenceAccess.html) 政策連接至 IAM 身分，以授予在 Amazon Bedrock Mantle 模型上執行推論的許可。

**許可詳細資訊**

此政策包含以下許可：
+ `bedrock-mantle` (Amazon Bedrock Mantle) – 允許主體取得和列出 Amazon Bedrock Mantle 專案資源、建立推論請求，以及使用承載字符呼叫以進行身分驗證。

## Amazon Bedrock 受 AWS 管政策的更新
<a name="security-iam-awsmanpol-updates"></a>

檢視自此服務開始追蹤 Amazon Bedrock AWS 受管政策更新以來的詳細資訊。如需有關此頁面變更的自動提醒，請訂閱 [Amazon Bedrock 使用者指南的文件歷史記錄](doc-history.md) 上的 RSS 摘要。


| 變更 | 描述 | Date | 
| --- | --- | --- | 
|  [AmazonBedrockMantleFullAccess](#security-iam-awsmanpol-AmazonBedrockMantleFullAccess) – 新政策  |  Amazon Bedrock 新增了新的政策，以授予所有 Amazon Bedrock Mantle 操作的完整存取權。  | 2025 年 12 月 3 日 | 
|  [AmazonBedrockMantleReadOnly](#security-iam-awsmanpol-AmazonBedrockMantleReadOnly) – 新政策  |  Amazon Bedrock 新增了新的政策，以授予對 Amazon Bedrock Mantle 資源的唯讀存取權。  | 2025 年 12 月 3 日 | 
|  [AmazonBedrockMantleInferenceAccess](#security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess) – 新政策  |  Amazon Bedrock 新增了新的政策，以授予 Amazon Bedrock Mantle 模型的推論存取權。  | 2025 年 12 月 3 日 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess) – 已更新政策  |  Amazon Bedrock 已更新 AmazonBedrockFullAccess 受管政策，以根據預設啟用對所有無伺服器基礎模型的存取權。  | 2025 年 7 月 14 日 | 
|  [AmazonBedrockMarketplaceAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess) – 新政策  |  Amazon Bedrock 新增了一項新政策，授予客戶透過 SageMaker AI 端點存取 Amazon Bedrock 市集基礎模型的許可。  | 2025 年 6 月 13 日 | 
|  [AmazonBedrockLimitedAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess) – 新政策  |  Amazon Bedrock 新增了新的政策，授予客戶存取 Amazon Bedrock 中核心動作的基本許可。  | 2025 年 6 月 13 日 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess) – 已更新政策  |  Amazon Bedrock 更新了 AmazonBedrockFullAccess 受管政策，授予客戶建立、讀取、更新和刪除 Amazon Bedrock 市集資源的必要許可。這包括管理基礎 Amazon SageMaker AI 資源的許可，因為其為 Amazon Bedrock 市集功能的基礎。  | 2024 年 12 月 4 日 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly) – 已更新政策  |  Amazon Bedrock 更新了 AmazonBedrockReadOnly 受管政策，授予客戶讀取 Amazon Bedrock 市集資源的必要許可。這包括管理基礎 Amazon SageMaker AI 資源的許可，因為其為 Amazon Bedrock 市集功能的基礎。  | 2024 年 12 月 4 日 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly) – 已更新政策  |  Amazon Bedrock 更新了 AmazonBedrockReadOnly 政策，以包含自訂模型匯入的唯讀許可。  | 2024 年 10 月 18 日 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly) – 已更新政策  |  Amazon Bedrock 新增了推論設定檔唯讀許可。  | 2024 年 8 月 27 日 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly) – 已更新政策  |  Amazon Bedrock 更新了 AmazonBedrockReadOnly 政策，以包含 Amazon Bedrock 防護機制、Amazon Bedrock 模型評估和 Amazon Bedrock 批次推論的唯讀許可。  | 2024 年 8 月 21 日 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly) – 已更新政策  |  Amazon Bedrock 新增了批次推論 (模型調用任務) 唯讀許可。  | 2024 年 8 月 21 日 | 
|   [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly) – 已更新政策   |  Amazon Bedrock 更新了 AmazonBedrockReadOnly 政策，以包含 Amazon Bedrock 自訂模型匯入的唯讀許可。  | 2024 年 9 月 3 日 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess) – 新政策  |  Amazon Bedrock 新增了新政策，授予使用者建立、讀取、更新和刪除資源的許可權。  | 2023 年 12 月 12 日 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly) – 新政策  |  Amazon Bedrock 新增了新政策，為使用者提供所有動作的唯讀許可權。  | 2023 年 12 月 12 日 | 
|  Amazon Bedrock 開始追蹤變更  |  Amazon Bedrock 開始追蹤其 AWS 受管政策的變更。  | 2023 年 12 月 12 日 | 

# 服務角色
<a name="security-iam-sr"></a>

Amazon Bedrock 對某些功能使用 [IAM 服務角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)，讓 Amazon Bedrock 代表您執行任務。

主控台會自動為支援的功能建立服務角色。

您也可以建立自訂服務角色，並自訂連接至特定使用案例的許可。如果您使用主控台，您可以選取此角色，而不是讓 Amazon Bedrock 為您建立一個角色。

若要設定自訂服務角色，請執行下列一般步驟。

1. 依照建立角色[以委派許可給 AWS 服務的步驟來建立角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

1. 連接**信任政策**。

1. 連接相關的**身分型許可**。

**重要**  
設定 `iam:PassRole` 許可時，請確定使用者傳遞的角色不會具有比您希望使用者具有之許可更多的許可。例如，不允許 Alice 在自訂模型上執行 `bedrock:InvokeModel`。如果 Alice 可以將角色傳遞給 Amazon Bedrock 以建立該自訂模型的評估，則服務可以在執行任務時代表 Alice 調用該模型。

如需與設定服務角色許可相關 IAM 概念的詳細資訊，請參閱下列連結。
+ [AWS 服務角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)
+ [以身分為基礎的政策和以資源為基礎的政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)
+ [針對 Lambda 使用資源型政策](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)
+ [AWS 全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)
+ [Amazon Bedrock 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)

選取主題，進一步了解特定功能的服務角色。

**Topics**
+ [建立批次推論的自訂服務角色](batch-iam-sr.md)
+ [建立模型自訂的服務角色](model-customization-iam-role.md)
+ [建立用於匯入預先訓練模型的服務角色](model-import-iam-role.md)
+ [為 Amazon Bedrock 代理程式建立服務角色](agents-permissions.md)
+ [為 Amazon Bedrock 知識庫建立服務角色](kb-permissions.md)
+ [在 Amazon Bedrock 中為 Amazon Bedrock Flows 建立服務角色](flows-permissions.md)
+ [模型評估任務的服務角色要求](model-evaluation-security-service-roles.md)

# 建立批次推論的自訂服務角色
<a name="batch-iam-sr"></a>

若要使用自訂服務角色進行批次推論，而不是 中自動為您建立的 Amazon BedrockAWS 管理主控台，請建立 IAM 角色，並依照[建立角色以將許可委派給 AWS服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)中的步驟連接下列許可。

**Topics**
+ [信任關係](#batch-iam-sr-trust)
+ [批次推論服務角色的身分型許可。](#batch-iam-sr-identity)

## 信任關係
<a name="batch-iam-sr-trust"></a>

下列信任政策允許 Amazon Bedrock 擔任此角色，並提交和管理批次推論任務。視需要取代這些*值*。政策包含 `Condition` 欄位中的選用條件索引鍵 (請參閱 [Amazon Bedrock 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)和[AWS全域條件內容索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys))，建議您將其用作安全最佳實務。

**注意**  
為獲得安全的最佳實務，是在建立特定批次推論任務 ID 之後取代 *\$1*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:model-invocation-job/*"
                }
            }
        }
    ]
}
```

------

## 批次推論服務角色的身分型許可。
<a name="batch-iam-sr-identity"></a>

下列主題說明並提供可能需要連接到自訂批次推論服務角色的許可政策範例，視您的使用案例而定。

**Topics**
+ [(必要) 在 Amazon S3 中存取輸入和輸出資料的許可](#batch-iam-sr-s3)
+ [(選用) 使用推論設定檔執行批次推論的許可](#batch-iam-sr-ip)

### (必要) 在 Amazon S3 中存取輸入和輸出資料的許可
<a name="batch-iam-sr-s3"></a>

若要允許服務角色存取包含輸入資料的 Amazon S3 儲存貯體，以及要寫入輸出資料的儲存貯體，請將下列政策連接至服務角色。視需要取代*值*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
         "Sid": "S3Access",
         "Effect": "Allow",
         "Action": [
            "s3:GetObject",
            "s3:PutObject",
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::${InputBucket}",
            "arn:aws:s3:::${InputBucket}/*",
            "arn:aws:s3:::${OutputBucket}",
            "arn:aws:s3:::${OutputBucket}/*"
         ],
         "Condition": {
            "StringEquals": {
                "aws:ResourceAccount": [
                    "123456789012"
                ]
            }
         }
        }
    ]
}
```

------

### (選用) 使用推論設定檔執行批次推論的許可
<a name="batch-iam-sr-ip"></a>

若要使用推論[描述檔執行批次推論](inference-profiles.md)，服務角色除了在推論描述檔中每個區域的模型之外AWS 區域，還必須具有在 中叫用推論描述檔的許可。

如需使用跨區域 (系統定義) 推論設定檔調用的許可，請使用下列政策作為許可政策的範本，以連接至服務角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

如需使用應用程式推論設定檔調用的許可，請使用下列政策做為許可政策的範本，以連接至您的服務角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ApplicationInferenceProfile",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

# 建立模型自訂的服務角色
<a name="model-customization-iam-role"></a>

若要使用自訂角色進行模型自訂，而非 Amazon Bedrock 自動建立的角色，請建立 IAM 角色，並依照[建立角色以將許可委派給 AWS服務中的步驟連接下列許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。
+ 信任關係
+ 在 S3 中存取訓練和驗證資料以及將輸出資料寫入 S3 的許可
+ (選用) 如果您使用 KMS 金鑰加密下列任何資源，則需要解密金鑰的權限 (請參閱 [自訂模型的加密](encryption-custom-job.md))
  + 模型自訂任務或產生的自訂模型
  + 模型自訂任務的訓練、驗證或輸出資料

**Topics**
+ [信任關係](#model-customization-iam-role-trust)
+ [存取 S3 中訓練和驗證檔案以及寫入輸出檔案的許可](#model-customization-iam-role-s3)
+ [(選用) 使用跨區域推論設定檔建立蒸餾任務的許可](#customization-iam-sr-ip)

## 信任關係
<a name="model-customization-iam-role-trust"></a>

下列政策允許 Amazon Bedrock 擔任此角色，並執行模型自訂任務。以下顯示您可使用的範例政策。

您可以選擇性地限制[跨服務混淆代理人預防](cross-service-confused-deputy-prevention.md)的許可範圍，方法是使用一或多個全域條件內容索引鍵搭配 `Condition` 欄位。如需詳細資訊，請參閱 [AWS 全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。
+ 將 `aws:SourceAccount` 值設定為您的帳戶 ID。
+ (選用) 使用 `ArnEquals` 或 `ArnLike` 條件將範圍限制為帳戶 ID 中特定的模型自訂任務。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-customization-job/*"
                }
            }
        }
    ]
}
```

------

## 存取 S3 中訓練和驗證檔案以及寫入輸出檔案的許可
<a name="model-customization-iam-role-s3"></a>

連接下列政策，以允許角色存取訓練和驗證資料，以及寫入輸出資料的儲存貯體。將 `Resource` 清單中的值取代為您實際的儲存貯體名稱。

若要限制對儲存貯體中特定資料夾的存取，請使用資料夾路徑新增 `s3:prefix` 條件索引鍵。您可以遵循[範例 2：取得具有特定字首之儲存貯體中的物件清單](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2)中的**使用者政策**範例 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::training-bucket",
                "arn:aws:s3:::training-bucket/*",
                "arn:aws:s3:::validation-bucket",
                "arn:aws:s3:::validation-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::output-bucket",
                "arn:aws:s3:::output-bucket/*"
            ]
        }
    ]
}
```

------

## (選用) 使用跨區域推論設定檔建立蒸餾任務的許可
<a name="customization-iam-sr-ip"></a>

若要在分割任務中使用教師模型的跨區域推論描述檔，服務角色除了在推論描述檔中每個區域中的模型之外AWS 區域，還必須具有在 中調用推論描述檔的許可。

如需使用跨區域 (系統定義) 推論設定檔調用的許可，請使用下列政策作為許可政策的範本，以連接至服務角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

# 建立用於匯入預先訓練模型的服務角色
<a name="model-import-iam-role"></a>

若要使用自訂角色進行模型匯入，請建立 IAM 服務角色並連接下列許可。如需如何在 IAM 中建立服務角色的資訊，請參閱[建立角色以將許可委派給 AWS服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

這些許可適用於將模型匯入 Amazon Bedrock 的兩種方法：
+ **自訂模型匯入任務** — 用於匯入自訂開放原始碼基礎模型 (例如 Mistral AI 或 Llama 模型)。如需詳細資訊，請參閱[使用自訂模型匯入，將自訂的開放原始碼模型匯入 Amazon Bedrock](model-customization-import-model.md)。
+ **建立自訂模型** — 用於匯入您在 SageMaker AI 中微調的 Amazon Nova 模型。如需詳細資訊，請參閱[匯入 SageMaker AI 訓練的 Amazon Nova 模型](import-with-create-custom-model.md)。

**Topics**
+ [信任關係](#model-import-iam-role-trust)
+ [在 Amazon S3 中存取模型檔案的許可](#model-import-iam-role-s3)

## 信任關係
<a name="model-import-iam-role-trust"></a>

下列政策允許 Amazon Bedrock 擔任此角色，並執行模型匯入操作。以下顯示您可使用的範例政策。

您可以選擇性地限制[跨服務混淆代理人預防](cross-service-confused-deputy-prevention.md)的許可範圍，方法是使用一或多個全域條件內容索引鍵搭配 `Condition` 欄位。如需詳細資訊，請參閱 [AWS 全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。
+ 將 `aws:SourceAccount` 值設定為您的帳戶 ID。
+ (選用) 使用 `ArnEquals` 或 `ArnLike` 條件，將範圍限制為帳戶中的特定操作。下列範例會限制自訂模型匯入任務的存取權。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-import-job/*"
                }
            }
        }
    ]
}
```

------

## 在 Amazon S3 中存取模型檔案的許可
<a name="model-import-iam-role-s3"></a>

連接下列政策以允許角色存取 S3 儲存貯體中的模型檔案：將 `Resource` 清單中的值取代為您實際的儲存貯體名稱。

對於自訂模型匯入任務，這是您自己的 Amazon S3 儲存貯體，其中包含自訂的開放原始碼模型檔案。若要從 SageMaker AI 訓練 Amazon Nova 模型建立自訂模型，這是 SageMaker AI 存放訓練模型成品的 Amazon 受管 Amazon S3 儲存貯體。當您執行第一個 SageMaker AI 訓練任務時 SageMaker AI 會建立此儲存貯體。

若要限制對儲存貯體中特定資料夾的存取，請使用資料夾路徑新增 `s3:prefix` 條件索引鍵。您可以遵循[範例 2：取得具有特定字首之儲存貯體中的物件清單](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2)中的**使用者政策**範例 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::bucket",
                "arn:aws:s3:::bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

# 為 Amazon Bedrock 代理程式建立服務角色
<a name="agents-permissions"></a>

若要為客服人員使用自訂服務角色，而非 Amazon Bedrock 自動建立的服務角色，請建立 IAM 角色，並依照[建立角色以將許可委派給 AWS服務中的步驟連接下列許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。
+ 信任政策
+ 包含下列身分型許可的政策：
  + Amazon Bedrock 基本模型的存取。
  + 包含代理程式中動作群組的 OpenAPI 結構描述的 Amazon S3 物件的存取。
  + Amazon Bedrock 查詢您想要附加至代理程式的知識庫所需的許可。
  + 如果您的使用案例符合下列任何情況，請將陳述式新增至政策，或將包含該陳述式的政策新增至服務角色：
    + (選用) 如果您啟用多代理協同作業，則需取得別名和調用代理程式協作者的許可。
    + (選用) 如果您將佈建輸送量與代理程式別名建立關聯，則需使用該佈建輸送量執行模型調用的許可。
    + (選用) 如果您將防護機制與您的代理程式建立關聯，則需套用該防護機制的許可。如果防護機制使用 KMS 金鑰加密，則服務角色還需要[解密金鑰的許可](guardrails-permissions-kms.md)
    + (選用) 如果您使用 KMS 金鑰加密代理程式，則需要[解密金鑰的許可](encryption-agents.md)。

無論您是否使用自訂角色，您還需要將**資源型政策**連接到 Lambda 函數，以便為代理程式中的動作群組提供服務角色存取這些函數的許可。如需詳細資訊，請參閱[資源型政策，允許 Amazon Bedrock 調用動作群組 Lambda 函數](#agents-permissions-lambda)。

**Topics**
+ [信任關係](#agents-permissions-trust)
+ [代理程式服務角色的身分型許可](#agents-permissions-identity)
+ [(選用) 身分型政策，允許 Amazon Bedrock 搭配您的代理程式別名使用佈建輸送量](#agents-permissions-pt)
+ [(選用) 身分型政策，以允許 Amazon Bedrock 關聯和調用代理程式協作者](#agents-permissions-mac)
+ [(選用) 身分型政策，以允許 Amazon Bedrock 搭配您的代理程式使用防護機制](#agents-permissions-gr)
+ [(選用) 身分型政策，允許 Amazon Bedrock 從 S3 存取檔案，以搭配程式碼解譯使用](#agents-permissions-files-ci)
+ [資源型政策，允許 Amazon Bedrock 調用動作群組 Lambda 函數](#agents-permissions-lambda)

## 信任關係
<a name="agents-permissions-trust"></a>

下列信任政策允許 Amazon Bedrock 擔任此角色，並建立和管理代理程式。視需要取代 *\$1\$1values\$1*。政策包含 `Condition` 欄位中的選用條件索引鍵 (請參閱 [Amazon Bedrock 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)和[AWS全域條件內容索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys))，建議您將其用作安全最佳實務。

**注意**  
基於最佳實務，請在建立特定代理程式 ID 之後將其取代為 *\$1*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/*"
                }
            }
        }
    ]
}
```

------

## 代理程式服務角色的身分型許可
<a name="agents-permissions-identity"></a>

連接下列政策以提供服務角色的許可，並視需要取代 *\$1\$1values\$1*。政策包含以下陳述式。如果陳述式不適用於您的使用案例，請省略該陳述式。政策包含 `Condition` 欄位中的選用條件索引鍵 (請參閱 [Amazon Bedrock 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)和[AWS全域條件內容索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys))，建議您將其用作安全最佳實務。

**注意**  
如果您使用客戶自管 KMS 金鑰加密代理程式，請參閱 [針對 2025 年 1 月 22 日之前建立的代理程式，加密代理程式資源](encryption-agents.md) 以取得您需要新增的進一步許可。
+ 使用 Amazon Bedrock 基礎模型對代理程式協同運作中使用的提示執行模型推論的許可。
+ 允許在 Amazon S3 中存取代理程式動作群組 API 結構描述的許可。如果您的代理程式沒有動作群組，請省略此陳述式。
+ 存取與代理程式相關聯知識庫的許可。如果您的代理程式沒有相關聯的知識庫，請省略此陳述式。
+ 存取與代理程式相關聯之第三方 (Pinecone 或 Redis Enterprise Cloud) 知識庫的許可。如果您的知識庫是第一方 (Amazon OpenSearch Serverless 或 Amazon Aurora)，或者您的代理程式沒有相關聯的知識庫，請省略此陳述式。
+ 從提示管理存取提示的許可。如果您不打算使用 Amazon Bedrock 主控台中的代理程式來測試提示管理的提示，請省略此陳述式。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentModelInvocationPermissions",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2",
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:1",
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1"
            ]
        },
        {
            "Sid": "AgentActionGroupS3",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/SchemaJson"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "AgentKnowledgeBaseQuery",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id"
            ]
        },
        {
            "Sid": "Agent3PKnowledgeBase",
            "Effect": "Allow",
            "Action": [
                "bedrock:AssociateThirdPartyKnowledgeBase"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id",
            "Condition": {
                "StringEquals": {
                    "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
                }
            }
        },
        {
            "Sid": "AgentPromptManagementConsole",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetPrompt"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:prompt/prompt-id"
            ]
        }
    ]
}
```

------

## (選用) 身分型政策，允許 Amazon Bedrock 搭配您的代理程式別名使用佈建輸送量
<a name="agents-permissions-pt"></a>

如果您將[佈建輸送量](prov-throughput.md)與代理程式的別名建立關聯，請將下列身分型政策連接至服務角色，或將陳述式新增至[代理程式服務角色的身分型許可](#agents-permissions-identity)中的政策。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {        
        "Sid": "UseProvisionedThroughput",
        "Effect": "Allow",
        "Action": [
            "bedrock:InvokeModel", 
            "bedrock:GetProvisionedModelThroughput"
        ],
        "Resource": [
            "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/${provisioned-model-id}"
        ]
      }
    ]
}
```

------

## (選用) 身分型政策，以允許 Amazon Bedrock 關聯和調用代理程式協作者
<a name="agents-permissions-mac"></a>

如果您啟用[多代理協同作業](agents-multi-agent-collaboration.md)，請將下列身分型政策連接至服務角色，或將陳述式新增至[代理程式服務角色的身分型許可](#agents-permissions-identity)中的政策。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonBedrockAgentMultiAgentsPolicyProd",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgentAlias",
                "bedrock:InvokeAgent"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:agent-alias/${agent-id}/${agent-alias-id}"
            ]
        }
    ]
}
```

------

## (選用) 身分型政策，以允許 Amazon Bedrock 搭配您的代理程式使用防護機制
<a name="agents-permissions-gr"></a>

如果您將[防護機制](guardrails.md)與代理程式建立關聯，請將下列身分型政策連接至服務角色，或將陳述式新增至[代理程式服務角色的身分型許可](#agents-permissions-identity)中的政策。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ApplyGuardrail",
            "Effect": "Allow",
            "Action": "bedrock:ApplyGuardrail",
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:guardrail/${guardrail-id}"
            ]
        }
    ]
}
```

------

## (選用) 身分型政策，允許 Amazon Bedrock 從 S3 存取檔案，以搭配程式碼解譯使用
<a name="agents-permissions-files-ci"></a>

如果您啟用[在 Amazon Bedrock 中啟用程式碼解譯](agents-enable-code-interpretation.md)，請將下列身分型政策連接至服務角色，或將陳述式新增至[代理程式服務角色的身分型許可](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-permissions.html#agents-permissions-identity)中的政策。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {       
        "Sid": "AmazonBedrockAgentFileAccess", 
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetObjectVersionAttributes",
            "s3:GetObjectAttributes"
        ],
        "Resource": [
            "arn:aws:s3:::[[customerProvidedS3BucketWithKey]]"
        ]
      }
    ]
}
```

------

## 資源型政策，允許 Amazon Bedrock 調用動作群組 Lambda 函數
<a name="agents-permissions-lambda"></a>

請遵循[使用 Lambda 的資源型政策](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)中的步驟，將下列資源型政策連接至 Lambda 函數，以允許 Amazon Bedrock 存取代理程式動作群組的 Lambda 函數，並視需要取代 *\$1\$1values\$1*。政策包含 `Condition` 欄位中的選用條件索引鍵 (請參閱 [Amazon Bedrock 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)和[AWS全域條件內容索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys))，建議您將其用作安全最佳實務。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessLambdaFunction",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-east-1:123456789012:function:function-name",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

# 為 Amazon Bedrock 知識庫建立服務角色
<a name="kb-permissions"></a>

若要使用知識庫的自訂角色，而非 Amazon Bedrock 自動建立的角色，請建立 IAM 角色，並依照[建立角色以將許可委派給 AWS 服務中的步驟連接下列許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。僅包含您自己的安全所需的許可。

**注意**  
使用服務角色時，無法在多個角色之間共用政策。
+ 信任關係
+ Amazon Bedrock 基本模型的存取
+ 存取您用來存放資料的資料來源
+ (如果您在 Amazon OpenSearch Service 中建立向量資料庫) 存取您的 OpenSearch Service 集合
+ (如果您在 Amazon Aurora 中建立向量資料庫) 存取您的 Aurora 叢集
+ （如果您在 Pinecone或 中建立向量資料庫Redis Enterprise Cloud) AWS Secrets Manager 讓 驗證您的 Pinecone或 Redis Enterprise Cloud帳戶的許可
+ (選用) 如果您使用 KMS 金鑰加密下列任何資源，則需要解密金鑰的權限 (請參閱 [知識庫資源的加密](encryption-kb.md))。
  + 您的知識庫
  + 知識庫的資料來源
  + 在 Amazon OpenSearch Service 中的向量資料庫
  + 中第三方向量資料庫的秘密 AWS Secrets Manager
  + 資料擷取任務

**Topics**
+ [信任關係](#kb-permissions-trust)
+ [存取 Amazon Bedrock 模型的權限](#kb-permissions-access-models)
+ [存取您的資料來源的許可](#kb-permissions-access-ds)
+ [在 Amazon S3 中解密加密資料來源 AWS KMS 金鑰的許可](#kb-permissions-kms-datasource)
+ [與您的文件聊天的許可](#kb-permissions-chatdoc)
+ [多模態內容的許可](#kb-permissions-multimodal)
+ [存取 Amazon Kendra GenAI 指數的許可](#kb-permissions-kendra)
+ [在 Amazon OpenSearch Serverless 中存取向量資料庫的許可](#kb-permissions-oss)
+ [在 OpenSearch 受管叢集中存取向量資料庫的許可](#kb-permissions-osm)
+ [存取您的 Amazon Aurora 資料庫叢集所需的權限](#kb-permissions-rds)
+ [在 Amazon Neptune Analytics 中存取向量資料庫的許可](#kb-permissions-neptune)
+ [在 Amazon S3 Vectors 中存取向量存放區的許可](#kb-permissions-s3vectors)
+ [存取使用 AWS Secrets Manager 秘密設定之向量資料庫的許可](#kb-permissions-secret)
+ [在資料擷取期間 AWS ， 管理暫時性資料儲存 AWS KMS 金鑰的許可](#kb-permissions-kms-ingestion)
+ [AWS 管理來自其他使用者帳戶之資料來源的許可 AWS 。](#kb-permissions-otherds)

## 信任關係
<a name="kb-permissions-trust"></a>

下列政策允許 Amazon Bedrock 擔任此角色，並建立和管理知識庫。以下顯示您可使用的範例政策。您可以使用一或多個全域條件內容索引鍵來限制權限範圍。如需詳細資訊，請參閱 [AWS 全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。將 `aws:SourceAccount` 值設定為您的帳戶 ID。使用 `ArnEquals` 或 `ArnLike` 條件將範圍限制為特定的知識庫。

**注意**  
作為安全目的的最佳實務，請在建立特定知識庫 ID 之後，將 *\$1* 取代為特定知識庫 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
                }
            }
        }
    ]
}
```

------

## 存取 Amazon Bedrock 模型的權限
<a name="kb-permissions-access-models"></a>

連接以下政策，為角色提供使用 Amazon Bedrock 模型以嵌入來源資料的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:ListFoundationModels",
                "bedrock:ListCustomModels"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-english-v3",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-multilingual-v3"
            ]
        }
    ]
}
```

------

## 存取您的資料來源的許可
<a name="kb-permissions-access-ds"></a>

從下列資料來源中選取，以連接角色的必要許可。

**Topics**
+ [存取您的 Amazon S3 資料來源的許可](#kb-permissions-access-s3)
+ [存取 Confluence 資料來源的許可](#kb-permissions-access-confluence)
+ [存取 Microsoft SharePoint 資料來源的許可](#kb-permissions-access-sharepoint)
+ [存取 Salesforce 資料來源的許可](#kb-permissions-access-salesforce)

### 存取您的 Amazon S3 資料來源的許可
<a name="kb-permissions-access-s3"></a>

如果您的資料來源是 Amazon S3，請連接下列政策，為角色提供存取您將連線作為資料來源之 S3 儲存貯體的許可。

如果您使用 AWS KMS 金鑰加密資料來源，請依照 中的步驟，將解密金鑰的許可連接到角色[在 Amazon S3 中解密資料來源 AWS KMS 金鑰的許可](encryption-kb.md#encryption-kb-ds)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

### 存取 Confluence 資料來源的許可
<a name="kb-permissions-access-confluence"></a>

**注意**  
Confluence 資料來源連接器目前為預覽版本，並可能會有所變更。

連接下列政策，以提供讓角色存取 Confluence 的許可。

**注意**  
`secretsmanager:PutSecretValue` 只有在您使用 OAuth 2.0 身分驗證搭配重新整理字符時才需要。  
Confluence OAuth2.0 **存取**字符的預設到期時間為 60 分鐘。如果此字符在資料來源同步 (同步任務) 時過期，Amazon Bedrock 將使用提供的**重新整理**字符來重新產生此字符。此重新產生會同時重新整理存取和重新整理字符。為了讓字符從目前同步任務更新到下一個同步任務，Amazon Bedrock 需要金鑰憑證的寫入/放置許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### 存取 Microsoft SharePoint 資料來源的許可
<a name="kb-permissions-access-sharepoint"></a>

**注意**  
SharePoint 資料來源連接器目前為預覽版本，並可能會有所變更。

連接下列政策，以提供讓角色存取 SharePoint 的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### 存取 Salesforce 資料來源的許可
<a name="kb-permissions-access-salesforce"></a>

**注意**  
Salesforce 資料來源連接器目前為預覽版本，並可能會有所變更。

連接下列政策，以提供讓角色存取 Salesforce 的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## 在 Amazon S3 中解密加密資料來源 AWS KMS 金鑰的許可
<a name="kb-permissions-kms-datasource"></a>

如果您使用 AWS KMS 金鑰在 Amazon S3 中加密資料來源，請將下列政策連接至 Amazon Bedrock 知識庫服務角色，以允許 Amazon Bedrock 解密您的金鑰。將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為金鑰所屬的區域和帳戶 ID。以 AWS KMS 金鑰的 ID 取代 *\$1\$1KeyId\$1*。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}"
        ],
        "Condition": {
            "StringEquals": {
                "kms:ViaService": [
                    "s3.${Region}.amazonaws.com"
                ]
            }
        }
    }]
}
```

## 與您的文件聊天的許可
<a name="kb-permissions-chatdoc"></a>

連接以下政策，為角色提供使用 Amazon Bedrock 模型以與文件聊天的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		}
    ]
}
```

------

如果您只想授予使用者與您文件聊天的存取權 (而不是所有知識庫上的 `RetrieveAndGenerate`)，請使用下列政策：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		},
        {
			"Effect": "Deny",
			"Action": [
				"bedrock:Retrieve"
			],
			"Resource": "*"
		}
    ]
}
```

------

如果您想要與文件聊天並在特定知識庫上使用 `RetrieveAndGenerate`，請提供 *\$1\$1KnowledgeBaseArn\$1*，並使用下列政策：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/$KnowledgeBaseId"
        }
    ]
}
```

------

## 多模態內容的許可
<a name="kb-permissions-multimodal"></a>

使用多模態內容 （影像、音訊、影片） 時，根據您的處理方法，需要額外的許可。

### Nova 多模式內嵌許可
<a name="kb-permissions-multimodal-mme"></a>

使用 Nova Multimodal Embeddings 時，請連接下列政策，以提供非同步模型調用的許可：

```
{
    "Sid": "BedrockInvokeModelStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeModel"],
    "Resource": [
        "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-*-multimodal-embeddings-*",
        "arn:aws:bedrock:us-east-1::async-invoke/*"
    ],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
},
{
    "Sid": "BedrockGetAsyncInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetAsyncInvoke"],
    "Resource": ["arn:aws:bedrock:us-east-1::async-invoke/*"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
}
```

### Bedrock 資料自動化 (BDA) 許可
<a name="kb-permissions-multimodal-bda"></a>

使用 BDA 處理多模態內容時，請連接下列政策：

```
{
    "Sid": "BDAInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeDataAutomationAsync"],
    "Resource": [
        "arn:aws:bedrock:us-east-1:aws:data-automation-project/public-rag-default",
        "arn:aws:bedrock:us-east-1::data-automation-profile/*"
    ]
},
{
    "Sid": "BDAGetStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetDataAutomationStatus"],
    "Resource": "arn:aws:bedrock:us-east-1::data-automation-invocation/*"
}
```

如果您使用客戶受管 AWS KMS 金鑰搭配 BDA，請同時連接下列政策。將 *account-id*、*region* 和 *key-id* 取代為您的特定值：

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": ["arn:aws:kms:region:account-id:key/key-id"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

## 存取 Amazon Kendra GenAI 指數的許可
<a name="kb-permissions-kendra"></a>

如果您為您的知識庫建立 Amazon Kendra GenAI 指數，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取指數。在政策中，將 *\$1\$1Partition\$1*、*\$1\$1Region\$1*、*\$1\$1AccountId\$1* 和 *\$1\$1IndexId\$1* 取代為您指數的值。將指數新增至 `Resource` 清單，即可允許存取多個指數。若要允許存取 中的每個索引 AWS 帳戶，請以萬用字元 (\$1) 取代 *\$1\$1IndexId\$1*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kendra:Retrieve",
                "kendra:DescribeIndex"
            ],
            "Resource": "arn:aws:kendra:us-east-1:123456789012:index/${IndexId}" 
        }
    ]
}
```

------

## 在 Amazon OpenSearch Serverless 中存取向量資料庫的許可
<a name="kb-permissions-oss"></a>

如果您在 OpenSearch Serverless 中為您的知識庫建立向量資料庫，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取集合。將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為資料庫所屬的區域和帳戶 ID。在 *\$1\$1CollectionId\$1* 中輸入您的 Amazon OpenSearch Service 集合的 ID。將集合新增至 `Resource` 清單，即可允許存取多個集合。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aoss:APIAccessAll"
            ],
            "Resource": [
                "arn:aws:aoss:us-east-1:123456789012:collection/${CollectionId}"
            ]
        }
    ]
}
```

------

## 在 OpenSearch 受管叢集中存取向量資料庫的許可
<a name="kb-permissions-osm"></a>

如果您在 OpenSearch 受管叢集中為您的知識庫建立向量資料庫，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取網域。將 *<region>* 和 *<accountId>* 取代為資料庫所屬的區域和帳戶 ID。將網域新增至 `Resource` 清單，即可允許存取多個網域。如需有關設定許可的詳細資訊，請參閱 [搭配 Amazon Bedrock 知識庫使用 OpenSearch 受管叢集所需的先決條件和許可許可組態概觀](kb-osm-permissions-prereq.md)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",       
            "Action": [
                "es:ESHttpGet", 
                "es:ESHttpPost", 
                "es:ESHttpPut", 
                "es:ESHttpDelete" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName"
            ]       
        }, 
        {
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName"
            ]       
        }
    ]
}
```

------

## 存取您的 Amazon Aurora 資料庫叢集所需的權限
<a name="kb-permissions-rds"></a>

**注意**  
Amazon Aurora 叢集必須與為 Amazon Bedrock 建立知識庫 AWS 帳戶 的叢集位於相同的 中。

如果您在 Amazon Aurora 中為知識庫建立了資料庫 (DB) 叢集，請將以下政策連接至 Amazon Bedrock 知識庫服務角色，以允許存取資料庫叢集，並提供讀取和寫入許可。將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為資料庫叢集所屬的區域和帳戶 ID。在 *\$1\$1DbClusterId\$1* 中輸入 Amazon Aurora 資料庫叢集的 ID。將資料庫叢集新增至 `Resource` 清單，即可允許存取多個資料庫叢集。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RdsDescribeStatementID",
            "Effect": "Allow",
            "Action": [
                "rds:DescribeDBClusters"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        },
        {
            "Sid": "DataAPIStatementID",
            "Effect": "Allow",
            "Action": [
                "rds-data:BatchExecuteStatement",
                "rds-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        }
    ]
}
```

------

## 在 Amazon Neptune Analytics 中存取向量資料庫的許可
<a name="kb-permissions-neptune"></a>

如果您為您的知識庫建立 Amazon Neptune Analytics 圖形，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取圖形。在政策中，將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為資料庫所屬的區域和帳戶 ID。將 *\$1\$1GraphId\$1* 取代為圖形資料庫的值。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "NeptuneAnalyticsAccess",
            "Effect": "Allow",
            "Action": [
                "neptune-graph:GetGraph",
                "neptune-graph:ReadDataViaQuery",
                "neptune-graph:WriteDataViaQuery",
                "neptune-graph:DeleteDataViaQuery"
            ],
            "Resource": [
                "arn:aws:neptune-graph:us-east-1:123456789012:graph/${GraphId}"
            ]
        }
    ]
}
```

------

## 在 Amazon S3 Vectors 中存取向量存放區的許可
<a name="kb-permissions-s3vectors"></a>

如果您選擇為您的知識庫使用 Amazon S3 Vectors，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色，以允許存取向量索引。

在政策中，將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為向量索引所屬的區域和帳戶 ID。以 S3 向量儲存貯體的名稱取代 *\$1\$1BucketName\$1*，並以向量索引的名稱取代 *\$1\$1IndexName\$1*。如需 Amazon S3 Vectors 的詳細資訊，請參閱[設定以使用 Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-setting-up.html)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3VectorBucketReadAndWritePermission",
            "Effect": "Allow",
            "Action": [
                "s3vectors:PutVectors",
                "s3vectors:GetVectors",
                "s3vectors:DeleteVectors",
                "s3vectors:QueryVectors",
                "s3vectors:GetIndex"
            ],
            "Resource": "arn:aws:s3vectors:us-east-1:123456789012:bucket/${BucketName}/index/${IndexName}"
        }
    ]
}
```

------

## 存取使用 AWS Secrets Manager 秘密設定之向量資料庫的許可
<a name="kb-permissions-secret"></a>

如果您的向量資料庫已設定 AWS Secrets Manager 秘密，請將下列政策連接至 Amazon Bedrock 知識庫服務角色， AWS Secrets Manager 以允許 驗證您的帳戶以存取資料庫。將 *\$1\$1Region\$1* 和 *\$1\$1AccountId\$1* 取代為資料庫所屬的區域和帳戶 ID。將 *\$1\$1SecretId\$1* 取代為您秘密的 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:${SecretId}"
            ]
        }
    ]
}
```

------

如果您使用 AWS KMS 金鑰加密秘密，請依照 中的步驟，將解密金鑰的許可連接到角色[解密包含知識庫之向量存放區的 AWS Secrets Manager 秘密的許可](encryption-kb.md#encryption-kb-3p)。

## 在資料擷取期間 AWS ， 管理暫時性資料儲存 AWS KMS 金鑰的許可
<a name="kb-permissions-kms-ingestion"></a>

若要允許在擷取資料來源的過程中建立暫時性資料儲存的 AWS KMS 金鑰，請將下列政策連接至您的 Amazon Bedrock 知識庫服務角色。以適當的值取代 *\$1\$1Region\$1*、*\$1\$1AccountId\$1* 和 *\$1\$1KeyId\$1*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/${KeyId}"
            ]
        }
    ]
}
```

------

## AWS 管理來自其他使用者帳戶之資料來源的許可 AWS 。
<a name="kb-permissions-otherds"></a>

若要允許存取另一個使用者帳戶 AWS ，您必須建立角色，允許跨帳戶存取另一個使用者帳戶中的 Amazon S3 儲存貯體。以適當的值取代 *\$1\$1BucketName\$1*、*\$1\$1BucketOwnerAccountId\$1* 和 *\$1\$1BucketNameAndPrefix\$1*。

**知識庫角色所需的許可**

在知識庫建立 `createKnowledgeBase` 期間提供的知識庫角色，需要下列 Amazon S3 許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

如果 Amazon S3 儲存貯體使用 AWS KMS 金鑰加密，則還需要將下列項目新增至知識庫角色。以適當的值取代 *\$1\$1BucketOwnerAccountId\$1* 和 *\$1\$1Region\$1*。

```
{
        "Sid": "KmsDecryptStatement",
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${BucketOwnerAccountId}:key/${KeyId}"
        ],
        "Condition": {
        "StringEquals": {
            "kms:ViaService": [
                "s3.${Region}.amazonaws.com"
            ]
        }
        }
    }
```

**跨帳戶 Amazon S3 儲存貯體政策所需的許可**

其他帳戶中的儲存貯體需要下列 Amazon S3 儲存貯體政策。以適當的值取代 *\$1\$1KbRoleArn\$1*、*\$1\$1BucketName\$1* 和 *\$1\$1BucketNameAndPrefix\$1*。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "ListBucket",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
      },
      {
         "Sid": "GetObject",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:GetObject"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
      }
   ]
}
```

------

**跨帳戶 AWS KMS 金鑰政策所需的許可**

如果跨帳戶 Amazon S3 儲存貯體使用該帳戶中的 AWS KMS 金鑰加密，則 AWS KMS 金鑰的政策需要下列政策。以適當的值取代 *\$1\$1KbRoleArn\$1* 和 *\$1\$1KmsKeyArn\$1*。

```
{
    "Sid": "Example policy",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "${KbRoleArn}"
        ]
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "${KmsKeyArn}"
}
```

# 在 Amazon Bedrock 中為 Amazon Bedrock Flows 建立服務角色
<a name="flows-permissions"></a>

若要在 Amazon Bedrock 中建立及管理流程，您必須使用具有此頁面所述必要許可的服務角色。您可以使用 Amazon Bedrock 在主控台中自動為您建立的服務角色，或使用您自己自訂的服務角色。

**注意**  
如果您使用 Amazon Bedrock 在主控台中自動為您建立的服務角色，則當您將節點新增至流程並儲存流程時，它會動態連接許可。不過，如果您移除節點，則不會刪除許可，因此您必須刪除不再需要的許可。若要管理為您建立之角色的許可，請遵循《IAM 使用者指南》中[修改角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)的步驟。

若要為 Amazon Bedrock Flows 建立自訂服務角色，請依照建立角色[以將許可委派給 AWS服務中的步驟來建立 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。然後，將下列許可連接到角色。
+ 信任政策
+ 下列身分型許可：
  + 存取流程將使用的 Amazon Bedrock 基本模型。將流程中使用的每個模型新增至 `Resource` 清單。
  + 如果您使用佈建輸送量調用模型，則存取和調用佈建模型的許可。將流程中使用的每個模型新增至 `Resource` 清單。
  + 如果您調用自訂模型，則存取和調用自訂模型的許可。將流程中使用的每個模型新增至 `Resource` 清單。
  + 根據您新增至流程之節點的許可：
    + 如果您包含使用提示管理提示的提示節點，則需要存取提示的許可。將流程中使用的每個提示新增至 `Resource` 清單。
    + 如果您包含知識庫節點，則需要查詢知識庫的許可。將流程中查詢的每個知識庫新增至 `Resource` 清單。
    + 如果您包含代理程式節點，則需要調用代理程式別名的許可。將流程中調用的每個代理程式新增至 `Resource` 清單。
    + 如果您包含 S3 擷取節點，則需要存取要從中擷取資料的 Amazon S3 儲存貯體的許可。將要從中擷取資料的每個儲存貯體新增至 `Resource` 清單。
    + 如果您包含 S3 儲存節點，則需要許可才能寫入要儲存輸出資料的 Amazon S3 儲存貯體。新增將資料寫入 `Resource` 清單的每個儲存貯體。
    + 如果您包含知識庫節點或提示節點的防護機制，則需要在流程中套用防護機制的許可。將流程中使用的每個防護機制新增至 `Resource` 清單。
    + 如果您包含 Lambda 節點，則需要調用 Lambda 函數的許可。新增每個需要調用到 `Resource` 清單的 Lambda 函數。
    + 如果您包含 Amazon Lex 節點，則需要使用 Amazon Lex 機器人的許可。新增每個需要用於 `Resource` 清單的機器人別名。
    + 如果您加密流程中調用的任何資源，則需要解密金鑰的許可。將每個金鑰新增至 `Resource` 清單。
+ 如果您加密流程，則也需要將金鑰政策連接至您用來加密流程的 KMS 金鑰。

**注意**  
最近已實作下列變更：  
先前，使用 Amazon Bedrock 服務主體叫用 AWS Lambda和 Amazon Lex 資源。 Amazon Lex 對於在 2024-11-22 之後建立的流程，此行為正在變更，Amazon Bedrock Flows 服務角色將用於叫用 AWS Lambda和 Amazon Lex 資源。如果您在 2024-11-22 之前建立任何使用其中一個資源的流程，您應該使用 AWS Lambda和 Amazon Lex 許可來更新 Amazon Bedrock Flows 服務角色。
先前，提示管理資源是使用 `bedrock:GetPrompt` 動作所轉譯。對於在 2024-11-22 之後建立的流程，此行為正在變更，而 `bedrock:RenderPrompt` 動作將用於轉譯提示資源。如果您在 2024-11-22 之前建立任何使用提示資源的流程，則應該使用 `bedrock:RenderPrompt` 許可更新 Amazon Bedrock Flows 服務角色。
如果您是使用 Amazon Bedrock 在主控台中自動為您建立的服務角色，則 Amazon Bedrock 會在您儲存流程時動態附加修正的許可。

**Topics**
+ [信任關係](#flows-permissions-trust)
+ [流程服務角色的身分型許可。](#flows-permissions-identity)

## 信任關係
<a name="flows-permissions-trust"></a>

將下列信任政策連接至流程執行角色，以允許 Amazon Bedrock 擔任此角色及管理流程。視需要取代這些*值*。政策包含 `Condition` 欄位中的選用條件索引鍵 (請參閱 [Amazon Bedrock 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)和[AWS全域條件內容索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys))，建議您將其用作安全最佳實務。

**注意**  
最佳實務是，在建立之後，將 *\$1* 取代為流程 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "FlowsTrustBedrock",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:flow/*"
                }
            }
        }
    ]
}
```

------

## 流程服務角色的身分型許可。
<a name="flows-permissions-identity"></a>

連接下列政策以提供服務角色的許可，並視需要取代這些*值*。政策包含以下陳述式。如果陳述式不適用於您的使用案例，請省略該陳述式。政策包含 `Condition` 欄位中的選用條件索引鍵 (請參閱 [Amazon Bedrock 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)和[AWS全域條件內容索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys))，建議您將其用作安全最佳實務。
+ 存取流程將使用的 Amazon Bedrock 基本模型。將流程中使用的每個模型新增至 `Resource` 清單。
+ 如果您使用佈建輸送量調用模型，則存取和調用佈建模型的許可。將流程中使用的每個模型新增至 `Resource` 清單。
+ 如果您調用自訂模型，則存取和調用自訂模型的許可。將流程中使用的每個模型新增至 `Resource` 清單。
+ 根據您新增至流程之節點的許可：
  + 如果您包含使用提示管理提示的提示節點，則需要存取提示的許可。將流程中使用的每個提示新增至 `Resource` 清單。
  + 如果您包含知識庫節點，則需要查詢知識庫的許可。將流程中查詢的每個知識庫新增至 `Resource` 清單。
  + 如果您包含代理程式節點，則需要調用代理程式別名的許可。將流程中調用的每個代理程式新增至 `Resource` 清單。
  + 如果您包含 S3 擷取節點，則需要存取要從中擷取資料的 Amazon S3 儲存貯體的許可。將要從中擷取資料的每個儲存貯體新增至 `Resource` 清單。
  + 如果您包含 S3 儲存節點，則需要許可才能寫入要儲存輸出資料的 Amazon S3 儲存貯體。新增將資料寫入 `Resource` 清單的每個儲存貯體。
  + 如果您包含知識庫節點或提示節點的防護機制，則需要在流程中套用防護機制的許可。將流程中使用的每個防護機制新增至 `Resource` 清單。
  + 如果您包含 Lambda 節點，則需要調用 Lambda 函數的許可。新增每個需要調用到 `Resource` 清單的 Lambda 函數。
  + 如果您包含 Amazon Lex 節點，則需要使用 Amazon Lex 機器人的許可。新增每個需要用於 `Resource` 清單的機器人別名。
  + 如果您加密流程中調用的任何資源，則需要解密金鑰的許可。將每個金鑰新增至 `Resource` 清單。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "InvokeModel",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/ModelId"
            ]
        },
        {
            "Sid": "InvokeProvisionedThroughput",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:GetProvisionedModelThroughput"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/ModelId"
            ]
        },
        {
            "Sid": "InvokeCustomModel",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:GetCustomModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:custom-model/ModelId"
            ]
        },
        {
            "Sid": "UsePromptFromPromptManagement",
            "Effect": "Allow",
            "Action": [
                "bedrock:RenderPrompt"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:prompt/PromptId"
            ]
        },
        {
            "Sid": "QueryKnowledgeBase",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "InvokeAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeAgent"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:agent-alias/AgentId/AgentAliasId"
            ]
        },
        {
            "Sid": "AccessS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "GuardrailPermissions",
            "Effect": "Allow",
            "Action": [
                "bedrock:ApplyGuardrail"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:guardrail/GuardrailId"
            ]
        },
        {
            "Sid": "LambdaPermissions",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:123456789012:function:FunctionId"
            ]
        },
        {
            "Sid": "AmazonLexPermissions",
            "Effect": "Allow",
            "Action": [
                "lex:RecognizeUtterance"
            ],
            "Resource": [ 
                "arn:aws:lex:us-east-1:123456789012:bot-alias/BotId/BotAliasId"
            ]
        },
        {
            "Sid": "KMSPermissions",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
             "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

# 模型評估任務的服務角色要求
<a name="model-evaluation-security-service-roles"></a>

若要建立模型評估任務，您必須指定服務角色。服務角色是服務擔任的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)，可代您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立角色以委派許可給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

所需的 IAM 動作和資源取決於您建立的模型評估任務類型。請參閱以下各節，以進一步了解所需的 Amazon Bedrock、Amazon SageMaker AI 和 Amazon S3 IAM 動作、服務主體和資源。您可以選擇性地選擇使用 AWS Key Management Service 加密資料。

**Topics**
+ [自動模型評估任務的服務角色要求](automatic-service-roles.md)
+ [人工模型評估任務的服務角色要求](model-eval-service-roles.md)
+ [建立使用判斷模型的模型評估任務所需的服務角色許可](judge-service-roles.md)
+ [知識庫評估任務的服務角色需求](rag-eval-service-roles.md)

# 自動模型評估任務的服務角色要求
<a name="automatic-service-roles"></a>

若要建立自動模型評估任務，您必須指定服務角色。您附加的政策授予 Amazon Bedrock 存取您帳戶中的資源的權限，並允許 Amazon Bedrock 代表您調用選取的模型。

您還必須使用 `bedrock.amazonaws.com` 將 Amazon Bedrock 定義為服務主體的信任政策。以下每個政策範例都會顯示根據自動模型評估任務中調用的每個服務所需的確切 IAM 動作。

若要建立自訂服務角色，請參閱《IAM 使用者指南》**中的[建立使用自訂信任政策的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)。

**必要的 Amazon S3 IAM 動作**  
下列政策範例授與儲存模型評估結果之 S3 儲存貯體的存取權，以及 (選用) 存取您已指定的任何自訂提示資料集。

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "AllowAccessToCustomDatasets",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::my_customdataset1_bucket",
            "arn:aws:s3:::my_customdataset1_bucket/myfolder",
            "arn:aws:s3:::my_customdataset2_bucket",
            "arn:aws:s3:::my_customdataset2_bucket/myfolder"
        ]
    },
    {
        "Sid": "AllowAccessToOutputBucket",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": [
            "arn:aws:s3:::my_output_bucket",
            "arn:aws:s3:::my_output_bucket/myfolder"
        ]
    }
]
}
```

------

**所需的 Amazon Bedrock IAM 動作**  
您還需要建立一個能讓 Amazon Bedrock 調用您計劃在自動模型評估任務中指定的模型的政策。若要進一步了解如何管理 Amazon Bedrock 模型的存取權，請參閱 [存取 Amazon Bedrock 基礎模型](model-access.md)。在政策的 `"Resource"` 區段中，您必須至少指定一個您也可以存取的模型 ARN。若要使用以客戶自管金鑰 KMS 金鑰加密的模型，您必須將必要的 IAM 動作和資源新增至 IAM 服務角色政策。您也必須將服務角色新增至AWS KMS金鑰政策。

------
#### [ JSON ]

****  

```
{
		    "Version":"2012-10-17",		 	 	 
            "Statement": [
        {
            "Sid": "AllowAccessToBedrockResources",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile", 
                "bedrock:ListInferenceProfiles",
                "bedrock:GetImportedModel",
                "bedrock:GetPromptRouter",
                "sagemaker:InvokeEndpoint"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:111122223333:inference-profile/*",
                "arn:aws:bedrock:*:111122223333:provisioned-model/*",
                "arn:aws:bedrock:*:111122223333:imported-model/*",
                "arn:aws:bedrock:*:111122223333:application-inference-profile/*",
                "arn:aws:bedrock:*:111122223333:default-prompt-router/*",
                "arn:aws:sagemaker:*:111122223333:endpoint/*",
                "arn:aws:bedrock:*:111122223333:marketplace/model-endpoint/all-access"
            ]
        }
    ]
}
```

------

**服務主體要求**  
您還必須指定將定義 Amazon Bedrock 為服務主體的信任政策。這允許由 Amazon Bedrock 擔任此角色。萬用字元 (`*`) 模型評估任務 ARN 是必要的，以便 Amazon Bedrock 可以在您的帳戶中建立模型評估任務AWS。

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [{
    "Sid": "AllowBedrockToAssumeRole",
    "Effect": "Allow",
    "Principal": {
        "Service": "bedrock.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "111122223333"
        },
        "ArnEquals": {
            "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:evaluation-job/*"
        }
    }
}]
}
```

------

# 人工模型評估任務的服務角色要求
<a name="model-eval-service-roles"></a>

若要建立使用人力評估員的模型評估任務，您必須指定兩個服務角色。

下列清單摘要說明必須在 Amazon Bedrock 主控台指定的每個必要服務角色的 IAM 政策要求。

**Amazon Bedrock 服務角色的 IAM 政策要求摘要**
+ 您必須連接將 Amazon Bedrock 定義為服務主體的信任政策。
+ 您必須允許 Amazon Bedrock 代表您調用選取的模型。
+ 您必須允許 Amazon Bedrock 存取存放您的提示資料集的 S3 儲存貯體，以及要儲存結果的 S3 儲存貯體。
+ 您必須允許 Amazon Bedrock 在您的帳戶中建立所需的人工迴圈資源。
+ (建議) 使用 `Condition` *區塊*來指定可以存取的帳戶。
+ (選用) 如果您已加密提示資料集儲存貯體，或想要儲存結果的 Amazon S3 儲存貯體，您必須允許 Amazon Bedrock 解密您的 KMS 金鑰。

**Amazon SageMaker AI 服務角色的 IAM 政策要求摘要**
+ 您必須連接將 SageMaker AI 定義為服務主體的信任政策。
+ 您必須允許 SageMaker AI 存取存放您的提示資料集的 S3 儲存貯體，以及要儲存結果的 S3 儲存貯體。
+ (選用) 如果您已加密提示資料集儲存貯體或您想要的結果的位置，則必須允許 SageMaker AI 使用客戶受管金鑰。

若要建立自訂服務角色，請參閱《IAM 使用者指南》**中的[建立使用自訂信任政策的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)。

**必要的 Amazon S3 IAM 動作**  
下列政策範例授與儲存模型評估結果之 S3 儲存貯體的存取權，以及存取您已指定的自訂提示資料集。您需要將此政策連接至 SageMaker AI 服務角色和 Amazon Bedrock 服務角色。

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "AllowAccessToCustomDatasets",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::custom-prompt-dataset"
        ]
    },
    {
        "Sid": "AllowAccessToOutputBucket",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": [
            "arn:aws:s3:::model_evaluation_job_output"
        ]
    }
]
}
```

------

**所需的 Amazon Bedrock IAM 動作**  
若要允許 Amazon Bedrock 調用您計劃在自動模型評估任務中指定的模型，請將下列政策連接至 Amazon Bedrock 服務角色。在政策的 `"Resource"` 區段中，您必須至少指定一個您也可以存取的模型 ARN。若要使用客戶受管金鑰 KMS 金鑰加密的模型，您必須將必要的 IAM 動作和資源新增至 IAM 服務角色。您還必須新增任何必要的 AWS KMS 金鑰政策元素。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToBedrockResources",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile", 
                "bedrock:ListInferenceProfiles",
                "bedrock:GetImportedModel",
                "bedrock:GetPromptRouter",
                "sagemaker:InvokeEndpoint"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:111122223333:inference-profile/*",
                "arn:aws:bedrock:*:111122223333:provisioned-model/*",
                "arn:aws:bedrock:*:111122223333:imported-model/*",
                "arn:aws:bedrock:*:111122223333:application-inference-profile/*",
                "arn:aws:bedrock:*:111122223333:default-prompt-router/*",
                "arn:aws:sagemaker:*:111122223333:endpoint/*",
                "arn:aws:bedrock:*:111122223333:marketplace/model-endpoint/all-access"
            ]
        }
    ]
}
```

------

**必要的 Amazon Augmented AI IAM 動作**  
您也必須建立政策，讓 Amazon Bedrock 建立與人工模型評估任務相關的資源。由於 Amazon Bedrock 會建立開始進行模型評估任務所需的資源，因此您必須使用 `"Resource": "*"`。您必須將本政策連接至 Amazon Bedrock 服務角色。

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "ManageHumanLoops",
        "Effect": "Allow",
        "Action": [
            "sagemaker:StartHumanLoop",
            "sagemaker:DescribeFlowDefinition",
            "sagemaker:DescribeHumanLoop",
            "sagemaker:StopHumanLoop",
            "sagemaker:DeleteHumanLoop"
        ],
        "Resource": "*"
    }
]
}
```

------

**服務主體要求 (Amazon Bedrock)**  
您還必須指定將定義 Amazon Bedrock 為服務主體的信任政策。這允許由 Amazon Bedrock 擔任此角色。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowBedrockToAssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:evaluation-job/*"
                }
            }
        }
    ]
}
```

------

**服務主體要求 (SageMaker AI)**  
您還必須指定將定義 Amazon Bedrock 為服務主體的信任政策。這允許 SageMaker AI 擔任該角色。

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "AllowSageMakerToAssumeRole",
  "Effect": "Allow",
  "Principal": {
    "Service": "sagemaker.amazonaws.com"
  },
  "Action": "sts:AssumeRole"
}
]
}
```

------

# 建立使用判斷模型的模型評估任務所需的服務角色許可
<a name="judge-service-roles"></a>

若要建立使用 LLM 做為判斷的模型評估任務，您必須指定服務角色。您附加的政策授予 Amazon Bedrock 存取您帳戶中的資源的權限，並允許 Amazon Bedrock 代表您調用選取的模型。

使用 `bedrock.amazonaws.com` 將 Amazon Bedrock 定義為服務主體的信任政策。以下每個政策範例都會顯示根據模型評估任務中調用的每個服務所需的確切 IAM 動作。

若要建立如下所述的自訂服務角色，請參閱《IAM 使用者指南》**中的[建立使用自訂信任政策的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)。

## 所需的 Amazon Bedrock IAM 動作
<a name="judge-service-roles-br"></a>

您需要建立一個能讓 Amazon Bedrock 調用您計劃在模型評估任務中指定的模型的政策。若要進一步了解如何管理 Amazon Bedrock 模型的存取權，請參閱 [存取 Amazon Bedrock 基礎模型](model-access.md)。在政策的 `"Resource"` 區段中，您必須至少指定一個您也可以存取的模型 ARN。若要使用以客戶自管金鑰 KMS 金鑰加密的模型，您必須將必要的 IAM 動作和資源新增至 IAM 服務角色政策。您也必須將服務角色新增至AWS KMS金鑰政策。

服務角色必須包含至少一個支援評估器模型的存取權。如需目前支援的評估工具模型清單，請參閱 [支援的模型](evaluation-judge.md#evaluation-judge-supported)。

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "BedrockModelInvoke",
			"Effect": "Allow",
			"Action": [
				"bedrock:InvokeModel",
				"bedrock:CreateModelInvocationJob",
				"bedrock:StopModelInvocationJob"
			],
			"Resource": [
				"arn:aws:bedrock:us-east-1::foundation-model/*",
				"arn:aws:bedrock:us-east-1:111122223333:inference-profile/*",
				"arn:aws:bedrock:us-east-1:111122223333:provisioned-model/*",
				"arn:aws:bedrock:us-east-1:111122223333:imported-model/*"
			]
		}
	]
}
```

------

## 必要的 Amazon S3 IAM 動作和資源
<a name="judge-service-roles-s3"></a>

您的服務角色政策需要包含存取要儲存模型評估任務輸出的 Amazon S3 儲存貯體，以及存取您在 `CreateEvaluationJob` 請求中或透過 Amazon Bedrock 主控台指定的提示資料集。

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "FetchAndUpdateOutputBucket",
			"Effect": "Allow",
			"Action": [
				"s3:GetObject",
				"s3:ListBucket",
				"s3:PutObject",
				"s3:GetBucketLocation",
				"s3:AbortMultipartUpload",
				"s3:ListBucketMultipartUploads"
			],
			"Resource": [
				"arn:aws:s3:::my_customdataset1_bucket",
	            "arn:aws:s3:::my_customdataset1_bucket/myfolder",
	            "arn:aws:s3:::my_customdataset2_bucket",
				"arn:aws:s3:::my_customdataset2_bucket/myfolder"
			]
		}
	]
}
```

------

# 知識庫評估任務的服務角色需求
<a name="rag-eval-service-roles"></a>

若要建立知識庫評估任務，您必須指定服務角色。您連接到角色的政策會將您帳戶中資源的存取權授予 Amazon Bedrock，並允許 Amazon Bedrock 執行下列動作：
+ 使用 `RetrieveAndGenerate` API 動作調用您為輸出產生選取的模型，並評估知識庫輸出。
+ 在您的知識庫執行個體上調用 Amazon Bedrock 知識庫 `Retrieve` 和 `RetrieveAndGenerate` API 動作。

若要建立自訂服務角色，請參閱《IAM 使用者指南》**中的[建立使用自訂信任政策的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)。

**Amazon S3 存取所需的 IAM 動作**  
以下範例策略會授予滿足以下兩個條件之 S3 儲存貯體的存取權：
+ 您會儲存知識庫評估結果。
+ Amazon Bedrock 會讀取您的輸入資料集。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Sid": "AllowAccessToCustomDatasets",
            "Effect": "Allow",
            "Action":
            [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource":
            [
                "arn:aws:s3:::my_customdataset1_bucket",
                "arn:aws:s3:::my_customdataset1_bucket/myfolder",
                "arn:aws:s3:::my_customdataset2_bucket",
                "arn:aws:s3:::my_customdataset2_bucket/myfolder"
            ]
        },
        {
            "Sid": "AllowAccessToOutputBucket",
            "Effect": "Allow",
            "Action":
            [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:GetBucketLocation",
                "s3:AbortMultipartUpload",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource":
            [
                "arn:aws:s3:::my_output_bucket",
                "arn:aws:s3:::my_output_bucket/myfolder"
            ]
        }
    ]
}
```

------

**所需的 Amazon Bedrock IAM 動作**  
您也需要建立一個政策以允許 Amazon Bedrock 執行下列動作：

1. 調用您計劃為了下列用途指定的模型：
   + 使用 `RetrieveAndGenerate` API 動作產生結果。
   + 評估結果。

   對於政策中的 `Resource` 金鑰，您必須指定至少一個您有權存取之模型的 ARN。若要使用以客戶受管 KMS 金鑰加密的模型，您必須將必要的 IAM 動作和資源新增至 IAM 服務角色政策。您也必須將服務角色新增至 AWS KMS 金鑰政策。

1. 呼叫 `Retrieve` 和 `RetrieveAndGenerate` API 動作。請注意，在控制台中自動建立角色時，我們都會授予對 `Retrieve` 和 `RetrieveAndGenerate` API 動作的許可，無論您選擇要為該任務評估哪個動作。如此一來，我們能為該角色提供更多的彈性和可重複使用性。不過，為了提高安全性，自動建立的角色會繫結至單一知識庫執行個體。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSpecificModels",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile",
                "bedrock:GetImportedModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/*",
                "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:imported-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/*"
            ]
        },
        {
            "Sid": "AllowKnowledgeBaseAPis",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id"
            ]
        }
    ]
}
```

------

**服務主體要求**  
您還必須指定將定義 Amazon Bedrock 為服務主體的信任政策。這允許由 Amazon Bedrock 擔任此角色。萬用字元 (`*`) 模型評估任務 ARN 是必要的，以便 Amazon Bedrock 可以在您的帳戶中建立模型評估任務 AWS 。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowBedrockToAssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:evaluation-job/*"
                }
            }
        }
    ]
}
```

------

# 設定對 Amazon S3 儲存貯體的存取權
<a name="s3-bucket-access"></a>

多個 Amazon Bedrock 功能需要存取存放在 Amazon S3 儲存貯體中的資料。若要存取此資料，您必須設定下列許可：


****  

| 使用案例 | 許可 | 
| --- | --- | 
| 從 S3 儲存貯體擷取資料的許可 | s3:GetObjects3:ListBucket | 
| 將資料寫入 S3 儲存貯體的許可 | s3:PutObject | 
| 將加密 S3 儲存貯體的 KMS 金鑰解密的許可 | kms:解密kms:描述金鑰 | 

您必須將上述許可連接至哪些身分或資源，取決於下列因素：
+ Amazon Bedrock 中的多個功能會使用[服務角色](security-iam-sr.md)。如果某個功能使用服務角色，您必須設定許可，讓該服務角色 (而非使用者的 IAM 身分) 可以存取 S3 資料。如果您使用 AWS 管理主控台，某些 Amazon Bedrock 功能會自動為您建立服務角色，並將必要的[身分型許可](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies.html#policies_id-based)連接到服務角色。
+ Amazon Bedrock 中的某些功能允許身分存取不同帳戶中的 S3 儲存貯體。如果需要從不同的帳戶存取 S3 資料，儲存貯體擁有者必須在連接到 S3 儲存貯體的 [S3 儲存貯體政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html)中，包含上述[資源型許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based)。

以下說明如何判斷何處需要連接必要許可才能存取 S3 資料：
+ IAM 身分許可
  + 如果您可以在主控台中自動建立服務角色，則系統會為該服務角色設定許可，因此您不需要自行設定。
  + 如果您偏好使用自訂服務角色，或者需要存取權的身分不是服務角色，請導覽至 [將許可連接至 IAM 身分，以允許其存取 Amazon S3 儲存貯體](#s3-bucket-access-identity)，了解如何建立具有適當許可的以身分為基礎政策。
+ 資源型許可
  + 如果身分需要存取相同帳戶中的 S3 資料，您不需要將 S3 儲存貯體政策連接到包含資料的儲存貯體。
  + 如果身分需要存取不同帳戶中的 S3 資料，請導覽至 [將儲存貯體政策連接至 Amazon S3 儲存貯體以供另一個帳戶存取](#s3-bucket-access-cross-account) 以了解如何建立具有適當許可的 S3 儲存貯體政策。
**重要**  
在 中自動建立服務角色會將適當的身分型許可AWS 管理主控台連接到角色，但如果需要存取該角色的身分位於不同的 中，您仍然必須設定 S3 儲存貯體政策AWS 帳戶。

如需詳細資訊，請參閱下列連結：
+ 若要進一步了解如何控制對 Amazon S3 中資料的存取權，請參閱 [Amazon S3 中的存取控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html)。
+ 若要進一步了解 Amazon S3 許可，請參閱 [Amazon S3 定義的動作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions)。
+ 若要進一步了解AWS KMS許可，請參閱 [定義的動作AWS Key Management Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions)。

繼續進行與使用案例相關的主題：

**Topics**
+ [將許可連接至 IAM 身分，以允許其存取 Amazon S3 儲存貯體](#s3-bucket-access-identity)
+ [將儲存貯體政策連接至 Amazon S3 儲存貯體以供另一個帳戶存取](#s3-bucket-access-cross-account)
+ [(進階安全性選項) 在陳述式中包含條件，以獲得更精細的存取權](#s3-bucket-access-conditions)

## 將許可連接至 IAM 身分，以允許其存取 Amazon S3 儲存貯體
<a name="s3-bucket-access-identity"></a>

本主題為政策提供一個範本以連接到 IAM 身分。此政策包含下列陳述式，以定義可將對 S3 儲存貯體的存取權授予 IAM 身分的許可：

1. 從 S3 儲存貯體擷取資料的許可。此陳述式也包含一個條件，此條件使用 `s3:prefix` [條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys)來限制存取儲存貯體中的特定資料夾。如需此條件的詳細資訊，請參閱[範例 2：取得儲存貯體中包含特定前綴的物件清單](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2)中的**使用者政策**一節。

1. (如果您需要將資料寫入 S3 位置) 將資料寫入 S3 儲存貯體的許可。此陳述式也包含使用 條件[金鑰](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount)來限制存取從特定 傳送之請求`aws:ResourceAccount`的條件AWS 帳戶。

1. (如果 S3 儲存貯體是使用 KMS 金鑰加密的) 將加密 S3 儲存貯體的 KMS 金鑰進行描述與解密的許可。
**注意**  
若已對 S3 儲存貯體啟用版本控制，使用此功能上傳的每個物件版本都會有自己的加密金鑰。您會負責追蹤針對哪個物件版本使用了哪個加密金鑰。

新增、修改和移除下列政策中的陳述式、資源和條件，並視需要取代 *\$1\$1values\$1*：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "DecryptKMSKey",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${KMSKeyId}"
        }
    ]
}
```

------

根據您的使用案例修改政策後，將其連接至需要存取 S3 儲存貯體的服務角色 (或 IAM 身分)。若要了解如何將許可連接到 IAM 身分，請參閱[新增和移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

## 將儲存貯體政策連接至 Amazon S3 儲存貯體以供另一個帳戶存取
<a name="s3-bucket-access-cross-account"></a>

本主題提供可連接至 S3 儲存貯體的資源型政策範本，以允許 IAM 身分存取儲存貯體中的資料。此政策包含下列陳述式，定義讓身分可存取儲存貯體的許可：

1. 從 S3 儲存貯體擷取資料的許可。

1. (如果您需要將資料寫入 S3 位置) 將資料寫入 S3 儲存貯體的許可。

1. (如果 S3 儲存貯體是使用 KMS 金鑰加密的) 將加密 S3 儲存貯體的 KMS 金鑰進行描述與解密的許可。
**注意**  
若已對 S3 儲存貯體啟用版本控制，使用此功能上傳的每個物件版本都會有自己的加密金鑰。您會負責追蹤針對哪個物件版本使用了哪個加密金鑰。

許可類似於 [將許可連接至 IAM 身分，以允許其存取 Amazon S3 儲存貯體](#s3-bucket-access-identity) 中所述的以身分為基礎許可。不過，每個陳述式也要求您在 `Principal` 欄位中指定要授予資源許可的身分。在 `Principal` 欄位中指定身分 (在 Amazon Bedrock 的大多數功能中，這是服務角色)。新增、修改和移除下列政策中的陳述式、資源和條件，並視需要取代 *\$1\$1values\$1*：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "DecryptKMSKey",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${KMSKeyId}"
        }
    ]
}
```

------

根據使用案例修改政策後，將其連接至 S3 儲存貯體。若要了解如何將儲存貯體政策連接至 S3 儲存貯體，請參閱[使用 Amazon S3 主控台新增儲存貯體政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)。

## (進階安全性選項) 在陳述式中包含條件，以獲得更精細的存取權
<a name="s3-bucket-access-conditions"></a>

若要更有效地控制可存取資源的身分，您可以在政策陳述式中包含條件。本主題中的政策提供使用下列條件索引鍵的範例：
+ `s3:prefix` – S3 條件索引鍵，會限制存取 S3 儲存貯體中的特定資料夾。如需此條件索引鍵的詳細資訊，請參閱[範例 2：取得儲存貯體中包含特定前綴的物件清單](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2)中的**使用者政策**一節。
+ `aws:ResourceAccount` – 全域條件金鑰，限制存取來自特定 的請求AWS 帳戶。

下列政策會限制對 *amzn-s3-demo-bucket* S3 儲存貯體中 *my-folder* 資料夾的讀取存取權，並將 *amzn-s3-demo-destination-bucket* S3 儲存貯體的寫入存取權限制為 ID AWS 帳戶為 *111122223333* 的 請求：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition" : {
                "StringEquals" : {
                    "s3:prefix": "my-folder" 
                }
            }
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket",
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "111122223333"
                }
            }
        }
    ]
}
```

------

若要進一步了解條件和條件索引鍵，請參閱下列連結：
+ 若要了解條件，請參閱《IAM 使用者指南》中的「[IAM JSON 政策元素：條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)」。
+ 若要了解 S3 特有的條件索引鍵，請參閱「服務授權參考」中的 [Amazon S3 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys)。
+ 若要了解跨 使用的全域條件索引鍵AWS 服務，請參閱[AWS全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount)。

# Amazon Bedrock 身分識別和存取權的疑難排解
<a name="security_iam_troubleshoot"></a>

請使用以下資訊來協助您診斷和修正使用 Amazon Bedrock 和 IAM 時可能遇到的常見問題。

**Topics**
+ [我未獲授權，不得在 Amazon Bedrock 中執行動作](#security_iam_troubleshoot-no-permissions)
+ [我未獲得執行 iam:PassRole 的授權](#security_iam_troubleshoot-passrole)
+ [我想要允許 以外的人員 AWS 帳戶 存取我的 Amazon Bedrock 資源](#security_iam_troubleshoot-cross-account-access)

## 我未獲授權，不得在 Amazon Bedrock 中執行動作
<a name="security_iam_troubleshoot-no-permissions"></a>

如果您收到錯誤，告知您未獲授權執行動作，您的政策必須更新，允許您執行動作。

下列範例錯誤會在`mateojackson` IAM 使用者嘗試使用主控台檢視一個虛構 `my-example-widget` 資源的詳細資訊，但卻無虛構 `bedrock:GetWidget` 許可時發生。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: bedrock:GetWidget on resource: my-example-widget
```

在此情況下，必須更新 `mateojackson` 使用者的政策，允許使用 `bedrock:GetWidget` 動作存取 `my-example-widget` 資源。

如果您需要協助，請聯絡您的 AWS 管理員。您的管理員提供您的簽署憑證。

## 我未獲得執行 iam:PassRole 的授權
<a name="security_iam_troubleshoot-passrole"></a>

如果您收到錯誤，告知您無權執行 `iam:PassRole` 動作，則您必須更新您的政策，才能將角色傳遞至 Amazon Bedrock。

有些 AWS 服務 可讓您將現有角色傳遞給該服務，而不是建立新的服務角色或服務連結角色。如需執行此作業，您必須擁有將角色傳遞至該服務的許可。

當名為 `marymajor` 的 IAM 使用者嘗試使用主控台在 Amazon Bedrock 中執行動作時，發生下列範例錯誤。但是，動作請求服務具備服務角色授予的許可。Mary 沒有將角色傳遞給服務的許可。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

在這種情況下，Mary 的政策必須更新，允許她執行 `iam:PassRole` 動作。

如果您需要協助，請聯絡您的 AWS 管理員。您的管理員提供您的簽署憑證。

## 我想要允許 以外的人員 AWS 帳戶 存取我的 Amazon Bedrock 資源
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以建立一個角色，讓其他帳戶中的使用者或您組織外部的人員存取您的資源。您可以指定要允許哪些信任物件取得該角色。針對支援基於資源的政策或存取控制清單 (ACL) 的服務，您可以使用那些政策來授予人員存取您的資源的許可。

如需進一步了解，請參閱以下內容：
+ 若要了解 Amazon Bedrock 是否支援這些功能，請參閱 [Amazon Bedrock 如何搭配 IAM 運作](security_iam_service-with-iam.md)。
+ 若要了解如何 AWS 帳戶 在您擁有的 資源之間提供存取權，請參閱《[IAM 使用者指南》中的在您擁有 AWS 帳戶 的另一個 IAM 使用者中提供存取權](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)。 **
+ 若要了解如何將資源的存取權提供給第三方 AWS 帳戶，請參閱《*IAM 使用者指南*》中的[將存取權提供給第三方 AWS 帳戶 擁有](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)。
+ 如需了解如何透過聯合身分提供存取權，請參閱《*IAM 使用者指南*》中的[將存取權提供給在外部進行身分驗證的使用者 (聯合身分)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)。
+ 如需了解使用角色和資源型政策進行跨帳戶存取之間的差異，請參閱《IAM 使用者指南》**中的 [IAM 中的跨帳戶資源存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

# 自訂模型匯入任務的 Amazon S3 儲存貯體跨帳戶存取權
<a name="cross-account-access-cmi"></a>

如果您要從 Amazon S3 儲存貯體匯入模型並使用跨帳戶 Amazon S3，則需要在匯入自訂模型之前，將存取儲存貯體的許可授予儲存貯體擁有者帳戶中的使用者。請參閱 [匯入自訂模型的先決條件](custom-model-import-prereq.md)。

## 設定 Amazon S3 儲存貯體的跨帳戶存取權
<a name="configure-cross-acct-access"></a>

本節將逐步解說步驟，說明如何為儲存貯體擁有者帳戶中的使用者建立政策以存取 Amazon S3 儲存貯體。

1. 在儲存貯體擁有者帳戶中，建立儲存貯體政策，為儲存貯體擁有者帳戶中的使用者提供存取權。

   以下範例儲存貯體政策由儲存貯體擁有者建立並套用至 `s3://amzn-s3-demo-bucket` 儲存貯體，會將存取權授予儲存貯體擁有者帳戶 `123456789123` 中的使用者。

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CrossAccountAccess",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/ImportRole"
               },           
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

------

1. 在使用者的 中 AWS 帳戶，建立匯入執行角色政策。對於`aws:ResourceAccount`指定儲存貯體擁有者的帳戶 ID AWS 帳戶。

   下列範例匯入執行角色政策位於使用者帳戶中，可讓儲存貯體擁有者的帳戶 ID `111222333444555` 存取 Amazon S3 儲存貯體 `s3://amzn-s3-demo-bucket`。

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
      "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringEquals": {
                   "aws:ResourceAccount": "123456789012"
               }
           }
       }
     ]
   }
   ```

------

## 設定跨帳戶存取使用自訂加密的 Amazon S3 儲存貯體 AWS KMS key
<a name="configure-cross-acct-access-kms"></a>

如果您有使用 custom AWS Key Management Service (AWS KMS) 金鑰加密的 Amazon S3 儲存貯體，您將需要從儲存貯體擁有者的帳戶授予使用者存取權。

設定跨帳戶存取使用自訂加密的 Amazon S3 儲存貯體 AWS KMS key

1. 在儲存貯體擁有者帳戶中，建立儲存貯體政策，為儲存貯體擁有者帳戶中的使用者提供存取權。

   以下範例儲存貯體政策由儲存貯體擁有者建立並套用至 `s3://amzn-s3-demo-bucket` 儲存貯體，會將存取權授予儲存貯體擁有者帳戶 `123456789123` 中的使用者。

------
#### [ JSON ]

****  

   ```
   { 
      "Version":"2012-10-17",		 	 	 
      "Statement": [
       {
           "Sid": "CrossAccountAccess",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::123456789012:role/ImportRole"
           },           
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ]
        }
      ]
   }
   ```

------

1. 在儲存貯體擁有者帳戶中，建立下列資源政策，以允許使用者的帳戶匯入角色進行解密。

   ```
   {
      "Sid": "Allow use of the key by the destination account",
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::"arn:aws:iam::123456789123:role/ImportRole"
       },
       "Action": [
             "kms:Decrypt",
             "kms:DescribeKey"
       ],
       "Resource": "*"
   }
   ```

1. 在使用者的 中 AWS 帳戶，建立匯入執行角色政策。對於`aws:ResourceAccount`指定儲存貯體擁有者的帳戶 ID AWS 帳戶。此外，提供用於加密儲存貯體 AWS KMS key 的 存取權。

   使用者帳戶中的下列範例匯入執行角色政策，可讓儲存貯體擁有者的帳戶 ID `111222333444555`存取 Amazon S3 儲存貯體`s3://amzn-s3-demo-bucket`和 AWS KMS key `arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
           "Effect": "Allow",
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringEquals": {
                   "aws:ResourceAccount": "123456789012"
               }
           }
        },
        {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:DescribeKey"
         ],
         "Resource": "arn:aws:kms:us-west-2:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
       }
     ]
    }
   ```

------

# Amazon Bedrock 的合規驗證
<a name="compliance-validation"></a>

若要了解 是否 AWS 服務 在特定合規計劃範圍內，請參閱[AWS 服務 合規計劃範圍內](https://aws.amazon.com/compliance/services-in-scope/)然後選擇您感興趣的合規計劃。如需一般資訊，請參閱[AWS 合規計劃](https://aws.amazon.com/compliance/programs/)。

您可以使用 下載第三方稽核報告 AWS Artifact。如需詳細資訊，請參閱[在 中下載報告 AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)。

您使用 時的合規責任 AWS 服務 取決於資料的機密性、您公司的合規目標，以及適用的法律和法規。如需使用 時合規責任的詳細資訊 AWS 服務，請參閱 [AWS 安全文件](https://docs.aws.amazon.com/security/)。

# Amazon Bedrock 中的事件回應
<a name="security-incident-response"></a>

安全是 AWS最重視的一環。作為 AWS Cloud [共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model)的一部分， 會 AWS 管理符合最安全敏感組織需求的資料中心、網路和軟體架構。 AWS 負責 Amazon Bedrock 服務本身的任何事件回應。此外，身為 AWS 客戶，您需共同負責維護雲端的安全性。這表示您可以從可存取的 AWS 工具和功能控制您選擇實作的安全性。此外您也需要負責處理自己這部分的共同責任模型事件回應。

建立安全基準以達到讓應用程式在雲端中執行的目標，您就可以偵測偏差並加以回應。為了協助您瞭解事件回應和您的選擇對公司目標的影響，建議您檢閱下列資源：
+ [AWS 安全事件回應指南](https://docs.aws.amazon.com/whitepapers/latest/aws-security-incident-response-guide/welcome.html)
+ [AWS 安全性、身分和合規的最佳實務](https://aws.amazon.com/architecture/security-identity-compliance)
+ [AWS 雲端採用架構 (CAF) 的安全觀點](https://docs.aws.amazon.com/whitepapers/latest/overview-aws-cloud-adoption-framework/security-perspective.html)白皮書

 [Amazon GuardDuty](https://aws.amazon.com/guardduty/) 是一項受管威脅偵測服務，會持續監控惡意或未經授權的行為，協助客戶保護 AWS 帳戶和工作負載，並在可疑活動升級到事件之前識別潛在的活動。此服務會監控活動，例如異常 API 呼叫或可能未經授權的部署，指出帳戶或資源可能遭惡意行為者入侵或偵察。例如，Amazon GuardDuty 能夠偵測 Amazon Bedrock API 中的可疑活動，例如從新位置登入的使用者，以及使用 Amazon Bedrock API 移除 Amazon Bedrock 防護機制，或變更模型訓練資料的 Amazon S3 儲存貯體集。

# Amazon Bedrock 的復原能力
<a name="disaster-recovery-resiliency"></a>

 AWS 全球基礎設施是以 AWS 區域 和 可用區域為基礎建置。 AWS 區域 提供多個實體分隔和隔離的可用區域，這些可用區域與低延遲、高輸送量和高備援聯網連接。透過可用區域，您可以設計與操作的應用程式和資料庫，在可用區域之間自動容錯移轉而不會發生中斷。可用區域的可用性、容錯能力和擴展能力，均較單一或多個資料中心的傳統基礎設施還高。

如需 AWS 區域 和可用區域的詳細資訊，請參閱 [AWS 全球基礎設施](https://aws.amazon.com/about-aws/global-infrastructure/)。

# Amazon Bedrock 的基礎設施安全性
<a name="infrastructure-security"></a>

Amazon Bedrock 是受管服務，受到 AWS 全球網路安全的保護。如需 AWS 安全服務以及如何 AWS 保護基礎設施的資訊，請參閱[AWS 雲端安全](https://aws.amazon.com/security/)。若要使用基礎設施安全的最佳實務來設計您的 AWS 環境，請參閱*安全支柱 AWS Well-Architected Framework* 中的[基礎設施保護](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)。

您可以使用 AWS 發佈的 API 呼叫，透過網路存取 Amazon Bedrock。使用者端必須支援下列專案：
+ Transport Layer Security (TLS)。我們需要 TLS 1.2 並建議使用 TLS 1.3。
+ 具備完美轉送私密(PFS)的密碼套件，例如 DHE (Ephemeral Diffie-Hellman)或 ECDHE (Elliptic Curve Ephemeral Diffie-Hellman)。現代系統(如 Java 7 和更新版本)大多會支援這些模式。

此外，請求必須使用存取金鑰 ID 和與 IAM 主體相關聯的私密存取金鑰來簽署。或者，您可以使用 [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) 以產生暫時安全憑證以簽署請求。

# 預防跨服務混淆代理人
<a name="cross-service-confused-deputy-prevention"></a>

混淆代理人問題屬於安全性問題，其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在 中 AWS，跨服務模擬可能會導致混淆代理人問題。在某個服務 (*呼叫服務*) 呼叫另一個服務 (*被呼叫服務*) 時，可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可，以其不應有存取許可的方式對其他客戶的資源採取動作。為了預防這種情況， AWS 提供的工具可協助您保護所有服務的資料，而這些服務主體已獲得您帳戶中資源的存取權。

若要限制 Amazon Bedrock 為資源提供另一項服務的許可，我們建議在資源政策中使用 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) 全域條件內容索引鍵。如果您想要僅允許一個資源與跨服務存取相關聯，則請使用 `aws:SourceArn`。如果您想要允許該帳戶中的任何資源與跨服務使用相關聯，請使用 `aws:SourceAccount`。

防範混淆代理人問題的最有效方法是使用 `aws:SourceArn` 全域條件內容索引鍵，以及資源的完整 ARN。如果不知道資源的完整 ARN，或者如果您指定了多個資源，請使用 `aws:SourceArn` 全域內容條件索引鍵搭配萬用字元 (`*`) 來表示 ARN 的未知部分。例如 `arn:aws:bedrock:*:123456789012:*`。

如果 `aws:SourceArn` 值不包含帳戶 ID (例如 Amazon S3 儲存貯體 ARN)，您必須使用這兩個全域條件內容索引鍵來限制許可。

`aws:SourceArn` 的值必須是 ResourceDescription。

下列範例示範如何使用 Bedrock 中的 `aws:SourceArn` 和 `aws:SourceAccount` 全域條件內容索引鍵，來預防混淆代理人問題。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-customization-job/*"
                }
            }
        }
    ] 
}
```

------

# Amazon Bedrock 中的組態與漏洞分析
<a name="vulnerability-analysis-and-management"></a>

組態和 IT 控制是客戶 AWS 與您之間的共同責任。如需詳細資訊，請參閱 AWS [共同的責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)。

# Amazon Bedrock 濫用偵測
<a name="abuse-detection"></a>

AWS 致力於負責任地使用 AI。為了防止潛在的濫用，Amazon Bedrock 實作自動濫用偵測機制，以識別 AWS[可接受的使用政策](https://aws.amazon.com/aup/) (AUP) 和服務條款，包括[負責任的 AI 政策](https://aws.amazon.com/machine-learning/responsible-ai/policy/)或第三方模型供應商 AUP 的潛在違規行為。

我們的濫用偵測機制是完全自動化的，因此沒有人工審查或存取使用者輸入或模型輸出。

自動濫用偵測包括：
+ **分類內容** — 我們使用分類器來偵測使用者輸入和模型輸出中的有害內容 (例如煽動暴力內容)。分類器是一種演算法，用於處理模型輸入和輸出，並指派傷害類型和可信度。我們可能會在 Titan 和第三方模型使用上執行這些分類器。這可能包括使用 Amazon Bedrock 模型自訂進行微調的模型。分類程序會自動執行，不涉及對使用者輸入或模型輸出進行人工審查。
+ **識別模式** — 我們使用分類器指標來識別潛在的違規行為和定期發生的行為。我們可能會進行編譯，並與第三方模型供應商共用匿名處理的分類器指標。Amazon Bedrock 不會儲存使用者輸入或模型輸出，也不會與第三方模型供應商共用這些輸入或模型輸出。
+ **偵測並封鎖兒童性虐待資料 (CSAM)** — 您要對您 (以及您的最終使用者) 上傳至 Amazon Bedrock 的內容負責，並且必須確保此內容不含非法影像。為了協助停止 CSAM 的傳播，Amazon Bedrock 可能會使用自動濫用偵測機制 (例如雜湊比對技術或分類器) 來偵測明顯的 CSAM。如果 Amazon Bedrock 在影像輸入中偵測到明顯的 CSAM，Amazon Bedrock 會封鎖請求，而且您會收到自動錯誤訊息。Amazon Bedrock 也可能向美國國家失蹤和受虐兒童中心 (NCMEC) 或相關機構提交報告。我們非常重視 CSAM，並將繼續更新我們的偵測、封鎖和報告機制。相關法律可能會要求您採取其他動作，而且您必須對這些動作負責。

一旦我們的自動濫用偵測機制識別出可能的違規行為，我們可能會索取有關您使用 Amazon Bedrock 的情況，以及遵循我們的服務條款或第三方供應商 AUP 規範的相關資訊。如果您沒有回應、不願意或無法遵守這些條款或政策， AWS 可能會暫停您對 Amazon Bedrock 的存取。如果我們的自動化測試偵測到模型回應與第三方模型提供者的授權條款和政策不一致，您可能還需要支付失敗的微調任務的費用。

如果您有其他問題，請聯絡 AWS Support。如需詳細資訊，請參閱 [Amazon Bedrock 常見問答集](https://aws.amazon.com/bedrock/faqs/?refid=6f95042b-28fe-493f-8858-601fe99cea89)。

# 提示注入安全性
<a name="prompt-injection"></a>

 根據[AWS 共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)， AWS 負責保護基礎雲端基礎設施，包括執行 AWS 服務的硬體、軟體、聯網和設施。不過，客戶必須負責保護其部署的應用程式、資料和資源 AWS。

在 Amazon Bedrock 的環境中， 會 AWS 處理基礎基礎設施的安全性，包括實體資料中心、聯網和 Amazon Bedrock 服務本身。不過，安全應用程式開發和防止如提示注入等漏洞的責任在於客戶。

提示注入是應用程式層級的安全問題，類似於資料庫應用程式中的 SQL Injection 隱碼攻擊。就像 Amazon RDS 和 Amazon Aurora 等 AWS 服務提供安全的資料庫引擎一樣，但客戶負責在其應用程式中防止 SQL 注入。Amazon Bedrock 為自然語言處理提供了安全的基礎，但客戶必須採取措施來防止程式碼中發生提示注入漏洞。此外， AWS 提供有關 Bedrock 和其他 AWS 服務的安全編碼實務的詳細文件、最佳實務和指導。

為了防止在使用 Amazon Bedrock 時出現提示注入和其他安全漏洞，客戶應遵循下列最佳實務：
+ **輸入驗證** – 在將所有使用者輸入傳遞至 Amazon Bedrock API 或字符化工具之前，驗證並淨化所有使用者輸入。這包括移除或逸出特殊字元，並確保輸入符合預期的格式。
+ **安全編碼實務** - 遵循安全編碼實務，例如使用參數化查詢、避免輸入字串串連，以及在授予資源存取權時練習最低權限原則。
+ **安全測試** – 使用滲透測試、靜態程式碼分析和動態應用程式安全測試 (DAST) 等技術，定期測試您的應用程式是否有提示注入和其他安全漏洞。
+ **保持更新** – 透過最新的安全修補程式和更新，讓您的 Amazon Bedrock SDK、程式庫和相依性保持最新狀態。監控 AWS 安全公告和公告是否有任何相關的更新或指引。 AWS 提供詳細的文件、部落格文章和範本程式碼，協助客戶使用 Bedrock 和其他 AWS 服務建置安全的應用程式。客戶應檢閱這些資源，並遵循建議的安全最佳實務，以保護其應用程式免受提示注入和其他漏洞的影響。

您可以使用 Amazon Bedrock 防護機制協助防範提示注入攻擊。如需詳細資訊，請參閱[使用 Amazon Bedrock 防護機制偵測提示攻擊](guardrails-prompt-attack.md)。

建立 Amazon Bedrock 代理人時，請使用下列技術來協助防範提示注入攻擊。
+ 將防護機制與代理程式建立關聯。如需詳細資訊，請參閱[透過將防護機制與代理程式建立關聯，為您的應用程式實作保護措施](agents-guardrail.md)。
+ 使用[進階提示](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html)來啟用預設的預先處理提示。每個代理程式都有您可以啟用的預設預先處理提示。這是輕量型提示，使用基礎模型來判斷是否可安全地處理使用者輸入。您可以使用其預設行為，或完全自訂提示以包含任何其他分類類別。或者，您可以在 [AWS Lambda](https://docs.aws.amazon.com/bedrock/latest/userguide/lambda-parser.html) 函數中編寫自己的基礎模型回應剖析器，以實作自己的自訂規則。

  如需詳細資訊，請參閱[Amazon Bedrock 代理程式的運作方式](agents-how.md)。
+ 使用進階提示功能更新系統提示。較新的模型會區分系統和使用者提示。如果您在代理程式中使用系統提示，建議您明確定義代理程式可執行和不可執行的操作範圍。此外，請檢查模型提供者自己的文件，以取得模型特定指引。若要了解 Amazon Bedrock 中的哪些無伺服器模型支援系統提示，請參閱 [基礎模型的推論請求參數和回應欄位](model-parameters.md)。