Tous les produits
Search
Centre de documentation

:Résolution de l'erreur « MNS The OwnerId that your Access Key Id associated to is forbidden »

Dernière mise à jour :Aug 10, 2026

Le message d'erreur suivant s'affiche lorsque vous appelez des opérations d'API ou utilisez des SDK pour accéder à Simple Message Queue (formerly MNS) : code d'état HTTP 403, code d'erreur AccessDenied et message d'erreur « The OwnerId that your Access Key Id identified to is forbidden for this operation ». Ce problème peut survenir pour l'une des raisons suivantes : 1. Vous tentez d'accéder à des files d'attente situées dans d'autres régions. 2. L'ID de propriétaire spécifié n'est pas valide. 3. La stratégie d'autorisation associée à l'utilisateur RAM n'est pas valide.

Problème

Le message d'erreur suivant s'affiche lorsque vous utilisez un SDK SMQ ou appelez une opération d'API SMQ :

[Error Code]:403 AccessDenied [Message]:The OwnerId that your Access Key Id associated to is forbidden for this operation.

Cause

Les causes suivantes peuvent être à l'origine de ce problème :

  • La file d'attente SMQ à laquelle vous souhaitez accéder se trouve dans une région différente de celle où votre service SMQ est activé.

    • Si vous utilisez un endpoint de file d'attente privé, les producteurs et consommateurs de messages doivent être déployés sur des instances Elastic Compute Service (ECS) dans la même région. Dans le cas contraire, ce problème survient.

    • Si vous utilisez un endpoint de file d'attente public, les producteurs et consommateurs de messages peuvent être déployés sur des serveurs locaux ou sur des instances ECS disposant d'un accès Internet et situées dans la même région.

  • La valeur du paramètre OwnerId n'est pas valide. Le paramètre OwnerId spécifie l'ID d'un compte Alibaba Cloud. Connectez-vous à la console Simple Message Queue (formerly MNS), placez le curseur de la souris sur l'avatar à droite et récupérez l'ID du compte dans la fenêtre contextuelle qui s'affiche.

    image

  • L'utilisateur RAM n'est pas valide ou ses autorisations ne sont pas valides.

  • Lorsque vous appelez des opérations d'API basées sur HTTP, l'URL de requête spécifiée ne correspond pas à la syntaxe de l'en-tête de requête. Pour plus d'informations, consultez la section Références.

  • Un SDK tiers est utilisé.

Solution

Pour résoudre ce problème, procédez comme suit :

  1. Connectez-vous à la console Simple Message Queue (formerly MNS). Sélectionnez la région où réside la file d'attente SMQ que vous souhaitez utiliser, puis cliquez sur Queues. Sur la page Queues, localisez la file d'attente. Dans la colonne Actions, cliquez sur Details. Dans la section Endpoint de la page Queue Details, consultez les informations relatives à l'endpoint SMQ requis.

    Remarque

    Dans l'endpoint SMQ, la sous-chaîne commençant par un chiffre correspond à la valeur du paramètre OwnerId.

    image

    image

  2. Vérifiez si l'endpoint SMQ et la valeur du paramètre OwnerId utilisés par les producteurs et les consommateurs sont valides.

  3. Vérifiez si les producteurs et les consommateurs remplissent les conditions suivantes. Si ce n'est pas le cas, modifiez leurs configurations.

    • Si vous utilisez un endpoint de file d'attente privé, les producteurs et consommateurs de messages doivent être déployés sur des instances Elastic Compute Service (ECS) dans la même région.

    • Si vous utilisez un endpoint de file d'attente public, les producteurs et consommateurs de messages peuvent être déployés sur des serveurs locaux ou sur des instances ECS disposant d'un accès Internet et situées dans la même région.

  4. Si vous utilisez un utilisateur RAM pour accéder à la file d'attente SMQ, vérifiez si les configurations de l'utilisateur RAM dans le compte Alibaba Cloud correspondant sont valides. Par exemple, la stratégie suivante est attachée à un utilisateur RAM d'un compte Alibaba Cloud. Vous souhaitez utiliser cet utilisateur RAM pour accéder à /queues/busi-msn/messages. Dans ce cas, le problème survient car vous ne disposez pas des autorisations nécessaires sur les ressources auxquelles vous souhaitez accéder. Pour plus d'informations sur la configuration d'un utilisateur RAM, consultez la rubrique Créer un utilisateur RAM.

    "Resource": [
    "acs:mns:*:*:/queues",
    "acs:mns:*:*:/queues/busi-test",
    "acs:mns:*:*:/queues/busi-test/*"
  5. Si le problème persiste après avoir effectué les étapes précédentes, cela peut être dû à l'utilisation d'un SDK tiers ou au fait que l'URL de requête spécifiée ne correspond pas à la syntaxe de l'en-tête de requête lors de l'appel d'une opération d'API basée sur HTTP. Pour plus d'informations, consultez la section Références.

Références

Le service SMQ était nommé MQS avant sa commercialisation. Les endpoints du service avant et après sa commercialisation sont différents. Exemples :

  • Avant la commercialisation de SMQ, un endpoint peut être http://y9g.mqs-cn-beijing.aliyuncs.com/.

  • Après la commercialisation de SMQ, un endpoint peut être http://44404.mns.cn-beijing.aliyuncs.com/.

Remarque

Les endpoints mentionnés ci-dessus sont donnés à titre d'exemple. Pour consulter les endpoints réels, accédez à la console SMQ. Dans les sections suivantes, http://y9g.mqs-cn-beijing.aliyuncs.com/ est désigné comme un ancien endpoint et http://44404.mns.cn-beijing.aliyuncs.com/ comme un nouvel endpoint.

Après la commercialisation de SMQ, le service SMQ prend en charge la dernière version de l'API tout en restant compatible avec la version précédente. L'en-tête HTTP x-mns-version est utilisé par SMQ pour identifier la version de l'API.

  • Si une requête inclut l'en-tête x-mns-version: 2015-06-06, SMQ traite la requête selon la syntaxe de la dernière version de l'API.

  • Si une requête inclut un en-tête au format x-mqs-version: xxxx-xx-xx, SMQ traite la requête selon la syntaxe de la version précédente de l'API.

Lorsque vous utilisez SMQ, vous devez respecter les règles suivantes :

  • Lorsque vous appelez des opérations d'API basées sur HTTP, vous devez spécifier les URL de requête en fonction de la version de l'API. Si vous utilisez un nouvel endpoint et qu'un en-tête est au format x-mqs-version: xxxx-xx-xx, une erreur se produit.

  • Si vous souhaitez utiliser un SDK tiers, celui-ci peut ne pas distinguer correctement un ancien endpoint d'un nouvel endpoint. L'utilisation d'un nouvel endpoint peut alors provoquer une erreur. Les SDK officiels sont plus fiables que les SDK tiers. Ils offrent également de meilleures performances pour le traitement des messages. Par exemple, vous pouvez utiliser les opérations BatchSendMessage et BatchReceiveMessage pour gérer plusieurs messages simultanément. Si vous ne souhaitez pas modifier le code existant et tenez à utiliser un SDK tiers non recommandé, nous vous conseillons de contacter le support technique d'Alibaba Cloud pour obtenir un ancien endpoint.