

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

# 為 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}"
                }
            }
        }
    ]
}
```

------