2016-12-13 1 views
0

J'ai du mal à faire fonctionner une politique IAM pour ma file d'attente SQS, mais j'ai essayé le simulateur de politique IAM. Peu importe comment je fais ma politique, il dit toujours que c'est refusé.La règle IAM la plus simple possible est refusée. Pourquoi?

La politique ci-dessous est destinée à permettre toute action sur n'importe quelle ressource SQS. C'est une politique que j'attache à un utilisateur spécifique, c'est pourquoi le Principal n'est pas spécifié.

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Action": "sqs:*", 
     "Effect": "Allow", 
     "Resource": "arn:aws:sqs:::*" 
    } 
    ] 
} 

Lorsque je tente de tourner ceci dans le simulateur de politique pour une action listQueues, je reçois refusé: Implicitement refusé (pas statments correspondant). Comment cette déclaration pourrait-elle ne pas correspondre?

Here'a une capture d'écran de que le refus de l'éditeur de stratégie:

enter image description here

Répondre

2

Ce n'est pas la plus simple possible la politique IAM. C'est:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Action": "*", 
      "Effect": "Allow", 
      "Resource": "*" 
     } 
    ] 
} 

Cliquez-vous sur "Appliquer" en bas de l'éditeur de politique avant d'exécuter la simulation?

+0

Vous avez raison. Changer la clause Ressource à ce que vous avez fait a résolu le problème. Voir ma réponse pour plus de détails. – davidgyoung

2

Par défaut, le simulateur de stratégie IAM définit l'ARN de la ressource que vous simulez en accédant à *. Pour une raison quelconque, cela ne correspond pas à une clause Resource de "Resource": "arn:aws:sqs:*:*:*"

Une fois que j'ai développé la partie ressource du simulateur (voir capture d'écran ci-dessous) et que j'ai collé dans l'ARN pour une ressource SQS valide, la stratégie a été mise en correspondance. Voir le bas de la capture d'écran ci-dessous.

Une autre chose que j'ai trouvé corrigé le problème était ce que @ Mark-B a suggéré. Modification de la clause Resource en "Resource": "*". correspondait à la ressource par défaut du Simulateur de stratégie, à savoir *, alors que "Resource": "arn:aws:sqs:*:*:*" ne l'était pas.

enter image description here