2016-12-13 7 views
0

SQSキューでIAMポリシーが機能しなくなったため、IAM Policy Simulatorを試しました。どんなに単純な私の方針をとっても、それは常に否定されていると言います。最も簡単なIAMポリシーが拒否されました。どうして?

以下のポリシーは、SQSリソースに対するアクションを許可するためのものです。私が特定のユーザーにアタッチしているポリシーで、プリンシパルが指定されていない理由です。

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

私がしようとlistQueuesアクションのポリシーシミュレータでこれを実行すると、私が拒否されます:暗黙的に(一致するたstatmentsを)否定しません。どのようにこのステートメントが一致しない可能性がありますか?

Here'aことがポリシーエディタ上で拒否さのスクリーンショット:

enter image description here

答えて

2

できるだけ簡単なIAMポリシーではありません。これは:

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

シミュレーションを実行する前にポリシーエディタの下部にある[適用]をクリックしていますか?

+0

あなたは正しいです。あなたが持っているものにリソース句を変更することで問題は解決されました。詳細は私の答えを見てください。 – davidgyoung

2

デフォルトでは、IAMポリシーシミュレータは、アクセスをシミュレートするリソースのARNを*に設定します。何らかの理由で、これが"Resource": "arn:aws:sqs:*:*:*"

のリソース節と一致しません(下記のスクリーンショットを参照)、ARNに有効なSQSリソースを貼り付けると、ポリシーは一致します。下のスクリーンショットの下部をご覧ください。

私が見つけたもう一つの問題は、@ Mark-Bが提案したものでした。リソース節を"Resource": "*"に変更します。ポリシーシミュレータのデフォルトリソース*と一致しましたが、"Resource": "arn:aws:sqs:*:*:*"は一致しませんでした。

enter image description here

関連する問題