InvokeModel API を呼び出したときに表示される AccessDeniedException や ValidationException といったエラーを解決したいと考えています。
解決方法
InvokeModel API を Amazon Bedrockで呼び出すと、アクセス拒否エラーまたは検証エラーが発生することがあります。このようなエラーは、呼び出そうとしているベースモデルに API からアクセスできない場合に発生します。このエラーは、オペレーションを実行するのに要求されるアクセス権限がアカウントにない場合にも表示されることがあります。
モデルアクセスエラー
Error: "An error occurred (AccessDeniedException) when calling the InvokeModel operation: Your account is not authorized to invoke this API operation."
-or-
Error: "An error occurred (AccessDeniedException) when calling the InvokeModel operation: You don't have access to the model with the specified model ID."
このようなエラーは、API で呼び出そうとしているモデルにアクセスできないことを示しています。
この問題を解決するには、次の手順を実行します。
- モデルの提供元の AWS リージョンが API の呼び出し元と同じであるようにします。詳細については、「AWS リージョン別のモデルサポート」を参照してください。
- アクセスステータスが [Granted] に設定されていることを確認します。詳細については、「モデルアクセスを追加する」を参照してください。
注: これは 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."
-or-
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"
}
}
-
明示的な DENY アクションが AWS Organizations レベルのサービスコントロールポリシー (SCP) に指定されていないことを確認します。DENY アクションはアクセス権限に影響します。
API アクションエラー
Error: "ValidationException: An error occurred (ValidationException) when calling the InvokeModel operation: The requested operation is not recognized by the service."
このエラーは、誤った API アクションを使用した場合に表示されます。
この問題を解決するには、bedrock-runtime をサービスとして API コールに指定します。詳細については、「アクションと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 サポートでサポートケースを開きます。詳細については、「サポートケースの作成」を参照してください。