本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 Amazon Bedrock 代理程式建立服務角色
若要為客服人員使用自訂服務角色,而非 Amazon Bedrock 自動建立的服務角色,請建立 IAM 角色,並依照建立角色以將許可委派給 AWS 服務中的步驟連接下列許可。
-
信任政策
-
包含下列身分型許可的政策:
-
存取 Amazon Bedrock 基礎模型。
-
存取 Amazon S3 物件,其中包含代理程式中動作群組的OpenAPI結構描述。
-
Amazon Bedrock 查詢您要連接到代理程式之知識庫的許可。
-
如果下列任何情況與您的使用案例相關,請將 陳述式新增至政策,或使用 陳述式將政策新增至服務角色:
-
(選用) 如果您啟用多重代理程式協同合作,則取得別名和呼叫代理程式協同合作者的許可。
-
(選用) 如果您將佈建輸送量與代理程式別名建立關聯,則使用該佈建輸送量執行模型調用的許可。
-
(選用) 如果您將護欄與您的代理程式建立關聯,則套用該護欄的許可。如果護欄使用 KMS 金鑰加密,則服務角色也需要解密金鑰的許可
-
(選用) 如果您使用 KMS 金鑰加密代理程式,則為解密金鑰的許可。
無論您是否使用自訂角色,您還需要將資源型政策連接至代理程式中動作群組的 Lambda 函數,以提供服務角色存取函數的許可。如需詳細資訊,請參閱以資源為基礎的政策,以允許 Amazon Bedrock 叫用動作群組 Lambda 函數。
信任關係
下列信任政策允許 Amazon Bedrock 擔任此角色,並建立和管理代理程式。視需要取代 ${values}
。政策包含 Condition
欄位中的選用條件金鑰 (請參閱 Amazon Bedrock 的條件金鑰和AWS 全域條件內容金鑰),建議您將其用作安全最佳實務。
基於最佳實務,請在建立特定代理程式 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
:agent/*
"
}
}
}
]
}
Agents 服務角色的身分型許可
連接下列政策以提供服務角色的許可,並視需要取代 ${values}
。政策包含下列陳述式。如果陳述式不適用於您的使用案例,請省略該陳述式。政策包含 Condition
欄位中的選用條件金鑰 (請參閱 Amazon Bedrock 的條件金鑰和AWS 全域條件內容金鑰),建議您將其用作安全最佳實務。
-
使用 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:::bucket/path/to/schema
"
],
"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/${key-id}
"
}
}
},
{
"Sid": "AgentPromptManagementConsole
",
"Effect": "Allow",
"Action": [
"bedrock:GetPrompt"
],
"Resource": [
"arn:aws:bedrock:us-east-1
:123456789012
:prompt/prompt-id
"
]
}
]
}
(選用) 身分型政策,以允許 Amazon Bedrock 搭配您的代理程式別名使用佈建輸送量
如果您將佈建輸送量與代理程式的別名建立關聯,請將下列身分型政策連接至服務角色,或將陳述式新增至 中的政策Agents 服務角色的身分型許可。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "UsePT
",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:GetProvisionedModelThroughput"
],
"Resource": [
"arn:aws:bedrock:us-east-1
:123456789012
:${provisioned-model-id}
"
]
}
]
}
(選用) 身分型政策,以允許 Amazon Bedrock 關聯和叫用代理程式協作者
如果您啟用多代理程式協同合作,請將下列身分型政策連接至服務角色,或將 陳述式新增至 中的政策Agents 服務角色的身分型許可。
- 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 搭配您的代理程式使用護欄
如果您將護欄與客服人員建立關聯,請將下列身分型政策連接至服務角色,或將陳述式新增至 中的政策Agents 服務角色的身分型許可。
- 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 存取檔案,以搭配程式碼解譯使用
如果您啟用 在 Amazon Bedrock 中啟用程式碼解譯,請將下列身分型政策連接至服務角色,或在 Agents 服務角色的身分型許可中將 陳述式新增至政策。
- 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 函數
請遵循使用 Lambda 的資源型政策中的步驟,並將下列資源型政策連接至 Lambda 函數,以允許 Amazon Bedrock 存取代理程式動作群組的 Lambda 函數,並視需要取代 ${values}
。政策包含 Condition
欄位中的選用條件索引鍵 (請參閱 Amazon Bedrock 的條件索引鍵和AWS 全域條件內容索引鍵),建議您將其用作安全最佳實務。
- 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}
"
}
}
}
]
}