title: Can't access Amazon SQS - InvalidClientTokenId
body: <p>I have an SQS queue set up in AWS. I can send and receive messages perfectly using the AWS CLI and my IAM credentials that I set up.</p>
  <p>What I would like to do is consume messages from the queue using Camel, configured via Spring. I tried out this example as it is very clear-cut and to the point:</p>
  <p><a href="https://github.com/christian-posta/camel-sqs-example" rel="noreferrer">https://github.com/christian-posta/camel-sqs-example</a></p>
  <p>However, I get the following exception:</p>
  <pre><code>com.amazonaws.AmazonServiceException: Status Code: 403, AWS Service: AmazonSQS, 
  AWS Request ID: 115057f8-3c4f-5ec6-8fe9-18ea097b2730, AWS Error Code: 
  InvalidClientTokenId, AWS Error Message: The security token included in the 
  request is invalid.
  </code></pre>
  <p>Amazon provides the most unhelpful documentation:</p>
  <blockquote>
  <p><strong>InvalidClientTokenId</strong></p>
  <p>The X.509 certificate or AWS access key ID provided does not exist in our records.</p>
  <p>HTTP Status Code: 403</p>
  </blockquote>
  <p>I have double-checked that I am using the exact same IAM credentials as I used through the CLI and that IAM user has a policy allowing read/write access to the queue. I have also toyed around with sending the additional URL params <em>accessKey</em>, <em>secretKey</em>, <em>amazonSQSEndpoint</em> and <em>region</em> as <a href="http://camel.apache.org/aws-sqs.html" rel="noreferrer">documented by Camel</a>.</p>
  <p>Why is Amazon saying that the access key is invalid or doesn't exist in their records and how can I fix my request?</p>