現在、Symfony2で開発されたWebサイトで作業しており、Amazon SQSでメッセージを送信する必要があります。そのために、composer.json
に追加しました:
"aws/aws-sdk-php": "2.4.*"
次に、キューまたはリストキューを作成しようとすると、403エラーが発生します。
リソースへのアクセス https://sqs.us-west-2.amazonaws.com/ は拒否されます。
EDIT:完全なエラーメッセージを追加
AWSエラーコード:AccessDenied、ステータスコード:403、AWSリクエストID:2fe34c11-7af8-5445-a768-070159a0953e、AWSエラータイプ:クライアント、AWSエラーメッセージ:リソースへのアクセス https://sqs.us -west-2.amazonaws.com/ は拒否されました。ユーザーエージェント: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()));
このエラーを取得するにはどうすればいいですか?
掘り下げた後、使用しているアカウントにSQSサービスへのアクセスが許可されていないことがわかりました。
アカウントへのSQSアクセスを許可するには、Amazon管理コンソールにアクセスする必要があります。次に、IAMをクリックします。このセクションで[ユーザー]をクリックすると、作成した各アカウントの権限を管理できます。