Доступ запрещен к SQS через AWS SDK
В настоящее время я работаю над сайтом, разработанным с Symfony2, и мне нужно отправлять сообщения в SQS Amazon. Для этого я добавил в свой composer.json
:
"aws/aws-sdk-php": "2.4.*"
Затем, когда я пытаюсь создать очереди или очереди списка, у меня есть ошибка 403:
Доступ к ресурсу https://sqs.us-west-2.amazonaws.com/ отклонен.
EDIT:
добавлено полное сообщение об ошибке
AWS Код ошибки: AccessDenied, код состояния: 403, AWS Идентификатор запроса: 2fe34c11-7af8-5445-a768-070159a0953e, AWS Тип ошибки: клиент, AWS Сообщение об ошибке: доступ к ресурсу https://sqs.us-west-2.amazonaws.com/, User-Agent: aws-sdk-php2/2.4.11 Guzzle/3.7.4 curl/7.25.0 PHP/5.4.3
Вот пример кода, который я делаю:
$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()));
Что я делаю неправильно, чтобы получить эту ошибку?
Ответы
Ответ 1
После копания я обнаружил, что используемая вами учетная запись не была предоставлена для доступа к службе SQS.
Чтобы предоставить SQS доступ к учетной записи, вы должны перейти на консоль управления Amazon. Затем нажмите IAM. В этом разделе нажмите "Пользователи", а затем вы сможете управлять разрешением для каждой созданной вами учетной записи.