Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建策略引擎
策略引擎是一组策略的集合,用于评估和授权智能体工具的调用。在与网关关联时,策略引擎会拦截所有智能体请求,并根据定义的策略决定是允许还是拒绝各个操作。
先决条件
在创建策略引擎之前,请先设置网关。有关更多信息,请参阅设置 Amazon Bedrock AgentCore 网关。
创建策略引擎
下面显示了如何创建策略引擎。
策略引擎名称必须匹配[A-Za-z][A-Za-z0-9_]*且最多 48 个字符。它以字母开头,之后只允许使用字母、数字和下划线。连字符无效,因此请使用my_policy_engine而不是。my-policy-engine同样的规则适用于策略名称。
例
- AgentCore CLI
-
-
在 AgentCore 项目中,将策略引擎添加到项目配置中:
agentcore add policy-engine \
--name my_policy_engine \
--description "My Policy Engine" \
--attach-to-gateways my-gateway \
--attach-mode LOG_ONLY
-
部署项目以在您的账户中创建它:
agentcore deploy --yes
agentcore add只记录引擎agentcore/agentcore.json;才agentcore deploy是创造它的原因。部署输出包括引擎 ID 和 ARN。 --attach-to-gateways然后在同一步骤中将引擎--attach-mode连接到网关 — 首先LOG_ONLY,没有策略的引擎不会拒绝实时流量。要使用您自己的 KMS 密钥加密引擎,请添加--encryption-key-arn;请参阅自定义策略引擎的加密。
- Amazon CLI
-
-
在终端中运行以下代码,使用 Amazon CLI 创建策略引擎:
aws bedrock-agentcore-control create-policy-engine \
--name my_policy_engine \
--description "My Policy Engine"
响应中同时包含policyEngineId和policyEngineArn。两者兼而有之 — 它们在不同的地方使用,如中所述之后你需要的标识符。
- Amazon Python SDK (Boto3)
-
-
以下 Python 代码展示了如何使用 P Amazon ython SDK (Boto3) 创建策略引擎:
import boto3
client = boto3.client('bedrock-agentcore-control')
response = client.create_policy_engine(
name='my_policy_engine',
description='My Policy Engine'
)
print(f"Policy Engine ID: {response['policyEngineId']}")
print(f"Policy Engine ARN: {response['policyEngineArn']}")
之后你需要的标识符
创建引擎会返回两个标识符,它们不可互换:
-
policyEngineId
-
由每个策略操作 — CreatePolicy、、ListPoliciesUpdatePolicy、DeletePolicy — 以及在 AgentCore CLI --engine 中使用。它看起来像my_policy_engine-a1b2c3d4e5:你的名字,加上生成的十个字符的后缀。在需要提供 ID 的地方传递 ARN 会被当作验证错误而被拒绝。
-
policyEngineArn
-
用于将引擎连接到网关,例如policyEngineConfiguration.arn在CreateGateway或UpdateGateway旁边ENFORCE。mode LOG_ONLY当你通过--attach-to-gateways时, AgentCore CLI 会为你解决这个问题。
有关创建策略的更多信息,请参阅创建策略。有关连接引擎和切换模式的信息,请参阅策略实施模式。