要在应用程序中使用 Amazon Bedrock,您需要配置 AWS Identity and Access Management (IAM) 权限,以授予您的应用程序访问 Bedrock API 操作的权限。核心要求是一个 IAM 策略,允许执行诸如 bedrock:InvokeModel
的操作,这使得您的应用程序可以向 Bedrock 的基础模型 (FM) 发送请求。例如,如果您的应用程序使用 Claude v2 进行文本生成,您就需要调用该特定模型的权限。您可能还需要执行相关操作的权限,例如使用 bedrock:ListFoundationModels
来发现可用模型或使用 bedrock:GetFoundationModel
来检索有关模型的详细信息。这些权限被附加到应用程序承担的 IAM 角色(例如 EC2 实例角色或 Lambda 执行角色)上,确保应用程序可以进行身份验证并与 Bedrock 交互。
一个基本策略可能包括一个 Statement
,允许对特定模型 ARN 执行 bedrock:InvokeModel
操作。例如
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "bedrock:InvokeModel",
"Resource": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2"
}
]
}
这限制了在 us-east-1
区域对 Claude v2 的访问。如果您的应用程序需要更广泛的访问权限,您可以使用通配符(例如,*
表示所有模型),但最好遵循最小权限原则。您还可以添加条件,例如限制对特定 AWS 区域的访问或要求加密。如果您的应用程序在调用模型之前列出模型,则需要在更广泛的资源范围(例如,arn:aws:bedrock:*
)内包含 bedrock:ListFoundationModels
权限。
最后,确保 IAM 角色配置正确。例如,如果您的应用程序运行在 AWS Lambda 上,则角色的信任策略必须允许 lambda.amazonaws.com
承担该角色。不需要 Bedrock 特定的服务相关角色,但如果您的应用程序与其他服务交互(例如,从 S3 读取输入),则可能需要额外的权限。始终使用 IAM 策略模拟器等工具或在开发环境中运行最小代码片段来测试权限。这可以确保您的策略按预期工作,而不会过度分配访问权限。