我想解决在调用 InvokeModel API 时遇到的 AccessDeniedException 或 ValidationException 错误。
解决方法
当您在 Amazon Bedrock 中调用 InvokeModel API 时,可能会遇到“访问被拒绝” 或 “验证” 错误。当 API 无法访问其尝试调用的基础模型时,就会发生这些错误。如果您的账户没有运行该操作所需的权限,也可能会出现该错误。
模型访问错误
Error: "An error occurred (AccessDeniedException) when calling the InvokeModel operation: Your account is not authorized to invoke this API operation."
-或-
Error: "An error occurred (AccessDeniedException) when calling the InvokeModel operation: You don't have access to the model with the specified model ID."
这些错误表明您无权访问您尝试使用 API 调用的模型。
要解决此问题,请完成以下步骤:
- 确保该模型在您调用 API 的同一 AWS 区域中提供。有关更多信息,请参阅 AWS 区域的模型支持。
- 验证访问状态是否设置为 “已授予”。有关更多信息,请参阅添加模型访问权限。
**注意:**这是 AWS 区域的一次性设置。
AWS Identity and Access Management(IAM)权限错误
Error: "AccessDeniedException: An error occurred (AccessDeniedException) when calling the InvokeModel operation: User: <> is not authorized to perform: bedrock:InvokeModel on resource: <> with an explicit deny in an identity-based policy."
-或-
Error: "AccessDeniedException: An error occurred (AccessDeniedException) when calling the InvokeModel operation: User: <> is not authorized to perform: bedrock:InvokeModel on resource: <> because no identity-based policy allows the bedrock:InvokeModel action."
这些错误表明尝试调用 API 的 IAM 用户或角色缺乏所需的权限。
要解决错误,请验证是否满足以下条件:
-
用于调用此 API 的 IAM 用户或角色具有必要的 ALLOW 操作,如下所示。有关详细信息,请参阅 Amazon Bedrock 如何与 IAM 协同工作。
{
"Version": "2012-10-17",
"Statement": {
"Sid": "AllowInference",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": "arn:aws:bedrock:*::foundation-model/model-id"
}
}
-
确认您的 AWS Organizations 级别的服务控制策略 (SCP) 中没有指定显式 DENY 操作。DENY 操作可能会影响权限。
API 操作错误
Error: "ValidationException: An error occurred (ValidationException) when calling the InvokeModel operation: The requested operation is not recognized by the service."
使用错误的 API 操作时,就会出现此错误。
要解决此问题,请在 API 调用中将 bedrock-runtime 指定为服务。有关更多信息,请参阅 Actions 和 BedrockRuntime。
SDK 版本错误
Error: "UnknownServiceError: Unknown service: 'bedrock-runtime"
使用不兼容的 Boto3 SDK 版本调用 InvokeModel API 时,就会出现此错误。
要解决此问题,请将 boto3/botocore SDK 升级到最新版本。有关更多信息,请参阅 GitHub 网站上的 boto3/CHANGELOG.rst。
账户限制错误
Error: "An error occurred (ValidationException) when calling the InvokeModel operation: Operation not allowed"
当您的 AWS 账户有安全限制时,就会出现该错误。
要解决此问题,请在 AWS Support 中打开支持案例。有关更多信息,请参阅创建支持案例。