Quero resolver o erro AccessDeniedException ou ValidationException que recebo quando chamo a API InvokeModel no Amazon Bedrock.
Resolução
Os erros AccessDeniedException e ValidationException ocorrem quando a API InvokeModel não consegue acessar o modelo básico que está invocando. Os erros também podem ocorrer se sua conta da AWS não tiver as permissões necessárias do AWS Identity and Access Management (AWS IAM) para executar a operação.
Erros de acesso ao modelo
Se você não tiver acesso ao modelo que a API tentou invocar, receberá uma mensagem de erro semelhante aos exemplos a seguir:
“An error occurred (AccessDeniedException) when calling the InvokeModel operation: Your account is not authorized to invoke this API operation.”
-ou-
“An error occurred (AccessDeniedException) when calling the InvokeModel operation: You don't have access to the model with the specified model ID.”
Para resolver esse problema, verifique as seguintes configurações:
Erros de permissões do IAM
Se o usuário ou o perfil do IAM que invocou a API não tiver as permissões necessárias, você receberá uma mensagem de erro semelhante aos exemplos a seguir:
“AccessDeniedException: An error occurred (AccessDeniedException) when calling the InvokeModel operation: User: username is not authorized to perform: bedrock:InvokeModel on resource: resourcename with an explicit deny in an identity-based policy.”
-ou-
“AccessDeniedException: An error occurred (AccessDeniedException) when calling the InvokeModel operation: User: username is not authorized to perform: bedrock:InvokeModel on resource: resourcename because no identity-based policy allows the bedrock:InvokeModel action.”
Para resolver esse problema, confirme se o usuário ou o perfil do IAM que invoca a API tem as seguintes permissões necessárias:
{ "Version": "2012-10-17",
"Statement": {
"Sid": "AllowInference",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": "arn:aws:bedrock:*::foundation-model/model-id"
}
}
Erro de SCP
Se uma política de controle de serviços (SCP) tiver restrições específicas em sua conta, você receberá a seguinte mensagem de erro:
“User: username is not authorized to perform: bedrock:InvokeModel on resource: username with an explicit deny in a service control policy”
O erro anterior ocorre mesmo se você tiver fornecido as permissões necessárias para o perfil do IAM que invocou a API. Normalmente, esse erro ocorre quando você usa a interferência entre regiões que roteia a chamada para uma região que a SCP bloqueia.
Para resolver o problema, verifique em seus eventos do AWS CloudTrail a chamada de API e a região para a qual ela é direcionada. Em seguida, verifique se a SCP restringe ações dessa API ou região. Além disso, verifique outras restrições da SCP, como as restrições em um ID de modelo específico.
Erro de ação da API
Se você usou a ação de API incorreta, receberá a seguinte mensagem de erro:
“ValidationException: An error occurred (ValidationException) when calling the InvokeModel operation: The requested operation is not recognized by the service.”
Para resolver o erro anterior, especifique bedrock-runtime como um serviço em sua chamada de API. Para mais informações, consulte BedrockRuntime no site do Boto3.
Além disso, é possível receber as seguintes mensagens de erro:
“An error occurred (ValidationException) when calling the InvokeModel operation: The provided model identifier is invalid”
-ou-
“ResourceNotFoundException: An error occurred (ResourceNotFoundException) when calling the InvokeModel operation: Could not resolve the foundation model from the provided model identifier.”
Os erros anteriores ocorrem devido a problemas de configuração. Para solucionar esse problema, verifique as seguintes configurações:
Erro de versão do SDK
Se você usar uma versão incompatível do AWS SDK para Python (Boto3) para chamar a API InvokeModel, receberá a seguinte mensagem de erro:
“UnknownServiceError: Unknown service: ‘bedrock-runtime”
Para resolver esse problema, atualize o SDK para a versão mais recente. Para ver a versão mais recente do SDK, consulte boto3/CHANGELOG.rst no site do GitHub.
Erro de restrição de conta
Se a conta tiver uma restrição de segurança, você receberá o seguinte erro:
“An error occurred (ValidationException) when calling the InvokeModel operation: Operation not allowed”
Para resolver esse problema, você deve abrir um caso de suporte.