2013-11-27 20 views
15

Ich arbeite derzeit an einer Website mit Symfony2 entwickelt und ich muss Nachrichten in einem Amazon SQS senden. Um das zu tun, dass ich hinzugefügt, um meine composer.json:Zugriff verweigert für SQS über AWS SDK

"aws/aws-sdk-php": "2.4.*" 

Dann, wenn ich versuche, eine Warteschlange oder Liste Warteschlangen erstelle ich einen 403-Fehler haben zu sagen:

Zugriff auf die Ressource https://sqs.us-west-2.amazonaws.com/ ist abgelehnt.

EDIT: hinzugefügt, um die vollständige Fehlermeldung

AWS Fehlercode: AccessDenied, Statuscode: 403, AWS Anfrage-ID: 2fe34c11-7af8-5445-a768-070159a0953e, AWS Fehler Typ: Client, AWS Fehlermeldung:. der Zugriff auf die Ressource https://sqs.us-west-2.amazonaws.com/ verweigert wird, User-Agent: aws-sdk-PHP2/2.4.11 Guzzle/3.7.4 curl/7.25.0 PHP/5.4.3

Hier ist ein Beispielcode von dem, was ich tue:

$aws = Aws::factory(array(
    'key' => 'my-key', 
    'secret' => 'my-secret', 
    'region' => 'us-west-2' 
)); 

$sqs = $aws->get('sqs'); 

return new Response(var_dump($sqs->listQueues())); 

Was ich falsch machen diesen Fehler zu bekommen?

+0

Ich stellte sicher, dass es kein Proxy-Problem war, indem ich curl-Optionen in das config-Array hinzufügte. – SupaCoco

Antwort

37

Nach dem Graben entdeckte ich, dass das Konto, das ich verwendete, nicht den Zugriff auf SQS-Dienst gewährt wurde.

Um einen SQS-Zugang zu einem Konto zu gewähren, müssen Sie zur Amazon Management-Konsole gehen. Dann klicke auf IAM. Klicken Sie in diesem Bereich auf Benutzer und dann können Sie die Berechtigungen für jedes von Ihnen erstellte Konto verwalten.

+0

BINGO !! Ich hatte das gleiche Problem mit Zugriffsrechten für Benutzer Danke Supa – Logicalj

+0

Wenn alle anderen Dienste mit Standardbenutzer verbunden werden können, warum würde es eine separate Notwendigkeit für SQS Benutzer geben? – Babu