Comment résoudre et prévenir les problèmes d'accès à la file d'attente Amazon SQS lors de l'utilisation d'une politique de refus de file d'attente ?

Date de la dernière mise à jour : 29/07/2021

J'ai perdu l'accès à ma file d'attente Amazon Simple Queue Service (Amazon SQS) en raison d'une politique de refus de file d'attente. Comment puis-je retrouver l'accès à ma file d'attente Amazon SQS et comment puis-je éviter de perdre à nouveau l'accès ?

Brève description

Si vous perdez l'accès à une file d'attente Amazon SQS en raison d'une politique de refus de file d'attente, vous pouvez essayer d'accéder à la file d'attente à l'aide des informations d'identification de l'utilisateur racine du compte AWS. Vous pouvez également essayer d'accéder à la file d'attente à l'aide d'entités exclues de la politique, le cas échéant.

Il existe également certaines bonnes pratiques que vous pouvez suivre pour éviter la perte d'accès à la file d'attente Amazon SQS lors de l'utilisation des politiques de refus de file d'attente.

L'exemple de politique de refus suivant interdit l'accès à toutes les entités IAM à toutes les actions de file d'attente Amazon SQS :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "deny-sqs-actions",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "SQS:*",
      "Resource": "queueName"
    }
  ]
}

Résolution

Résoudre les problèmes d'accès à la file d'attente Amazon SQS

Si vous perdez l'accès à votre file d'attente Amazon SQS lorsque vous utilisez une politique de refus dans la stratégie d’accès Amazon SQS, procédez comme suit :

  1. Utilisez vos informations d'identification d'utilisateur racine pour accéder à la file d'attente. Les informations d'identification de l'utilisateur racine du propriétaire du compte donnent un accès complet à toutes les ressources du compte. Cela inclut la suppression d'une politique de refus de toutes les ressources associée à la file d'attente Amazon SQS.
  2. Si la politique de refus est limitée à des entités spécifiques, essayez d'accéder à la file avec les entités exclues de la politique. Remarque : vérifiez que les entités exclues disposent des autorisations requises pour accéder à la file d'attente.

Si vous ne pouvez pas utiliser les informations d'identification de l'utilisateur racine, ou si vous ne savez pas quelles entités ont été exclues de la politique de refus, contactez AWS Support. Créez un dossier de support et incluez les informations suivantes :

  1. Confirmez que vous avez tenté d'accéder à la file d'attente Amazon SQS à l'aide des informations d'identification de l'utilisateur racine. Incluez la raison pour laquelle vous ne pouvez pas utiliser les informations d'identification de l'utilisateur racine, ou pourquoi l'utilisation des informations d'identification de l'utilisateur racine n'a pas résolu le problème.
  2. Confirmez que vous êtes le propriétaire de la file d'attente.
  3. Donnez une raison exhaustive expliquant pourquoi vous avez besoin d'accéder à la file d'attente.

Éviter de perdre l'accès à votre file d'attente Amazon SQS

Pour éviter de perdre l'accès à votre file d'attente Amazon SQS, suivez ces bonnes pratiques lorsque vous utilisez une politique de refus dans la stratégie d’accès à la file d'attente.

  1. Ne refusez pas explicitement le compte d'utilisateur racine, car vous risquez de perdre entièrement l'accès à la file d'attente.
  2. Utilisez une politique d'autorisation conjointement à celle de refus pour vous assurer qu'une entité peut toujours accéder à la file d'attente. Remarque : une politique d'autorisation peut remplacer une de refus qui inclut un refus explicite. Pour plus d'informations, consultez la section Autorisation.

Exemple de politique incluant les instructions d'autorisation et de refus :

{
   "Version": "2012-10-17",
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_Allow_Access",
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::111122223333:user/User1"},
      "Action": “sqs:*",
      "Resource": "queueName"
   }, {
      "Sid":"Queue1_Deny_Access",
      "Effect": "Deny",
      “NotPrincipal": {"AWS": "arn:aws:iam::111122223333:user/User1"},
      "Action": "sqs:*",
      "Resource": "queueName"
   }]
}

Cet exemple de politique permet d'atteindre les objectifs suivants :

  • Permettre à un utilisateur IAM spécifique (Utilisateur1) d'accéder à toutes les actions Amazon SQS de la file d'attente Amazon SQS spécifiée.
  • Refuser l'accès à la file d'attente à tous les mandataires, à l'exception de l'utilisateur IAM spécifié (Utilisateur1).

« NotPrincipal » (non mandataire) dans la politique de refus exclut le mandataire spécifié. Toutefois, l'instruction d'autorisation s'avère également nécessaire pour accorder des autorisations d'accès au mandataire exclu.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?