Je souhaite résoudre le problème d’erreur AccessDeniedException ou ValidationException que j’obtiens lorsque j’appelle l’API InvokeModel.
Résolution
Lorsque vous appelez l’API InvokeModel dans Amazon Bedrock, vous pouvez rencontrer le message d’erreur indiquant Accès refusé ou Erreur de validation. Ces erreurs se produisent lorsque l’API ne peut pas accéder au modèle de base qu’elle tente d’invoquer. L’erreur peut également apparaître si votre compte ne dispose pas des autorisations requises pour exécuter l’opération.
Erreurs d'accès aux modèles
Erreur : « An error occurred (AccessDeniedException) when calling the InvokeModel operation: Your account is not authorized to invoke this API operation. »
-ou-
Erreur : « An error occurred (AccessDeniedException) when calling the InvokeModel operation: You don't have access to the model with the specified model ID. »
Ces erreurs indiquent que vous n'avez pas accès au modèle que vous essayez d'invoquer avec l'API.
Pour résoudre ce problème, procédez comme suit :
- Assurez-vous que le modèle est proposé dans la même région AWS depuis laquelle vous invoquez avec l'API. Pour en savoir plus, consultez Prise en charge des modèles par la région AWS.
- Vérifiez que Statut de l’accès est défini sur Accordé. Pour en savoir plus, consultez Ajouter l’accès au modèle.
Remarque : il s'agit d'une configuration unique pour une région AWS.
Erreurs d’autorisation AWS Identity and Access Management (IAM)
Erreur : « 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. »
-ou-
Erreur : « 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. »
Ces erreurs indiquent que l'utilisateur ou le rôle IAM qui a tenté d'invoquer l'API ne dispose pas des autorisations requises.
Pour corriger l'erreur, vérifiez que les conditions suivantes sont remplies :
-
L’utilisateur ou le rôle IAM qui est utilisé pour invoquer cette API dispose bien de l’action ALLOW nécessaire comme indiqué ci-dessous. Pour plus d’informations, consultez la page Fonctionnement d’Amazon Bedrock avec IAM.
{
"Version": "2012-10-17",
"Statement": {
"Sid": "AllowInference",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": "arn:aws:bedrock:*::foundation-model/model-id"
}
}
-
Vérifiez qu'aucune action DENY explicite n'est spécifiée dans votre politique de contrôle des services (SCP) au niveau des AWS Organizations. Une action DENY peut affecter les autorisations.
Erreur d'action de l'API
Erreur : « ValidationException: An error occurred (ValidationException) when calling the InvokeModel operation: The requested operation is not recognized by the service. »
Ce message d’erreur apparaît lorsque vous utilisez la mauvaise action d'API.
Pour résoudre ce problème, spécifiez bedrock-runtime en tant que service dans votre appel d'API. Pour plus d'informations, consultez Actions et BedrockRuntime.
Erreur de version du kit SDK
Erreur : « UnknownServiceError: Unknown service: 'bedrock-runtime »
Ce message d’erreur apparaît lorsque vous utilisez une version incompatible du kit SDK Boto3 pour appeler l'API InvokeModel.
Pour résoudre ce problème, mettez à niveau le kit SDK boto3/botocore vers la version la plus récente. Pour plus d'informations, consultez boto3/CHANGELOG.rst sur le site Web de GitHub.
Erreur de restriction de compte
Erreur : « An error occurred (ValidationException) when calling the InvokeModel operation: Operation not allowed »
Le message d’erreur apparaît lorsque votre compte AWS est soumis à une restriction de sécurité.
Pour résoudre ce problème, ouvrez un ticket d’assistance dans AWS Support. Pour plus d'informations, consultez Création d'un ticket d’assistance.