title: unable to locate credentials for boto3.client both locally, and on lambda
body: <p>What I understand is that, in order to access AWS applications such as <code>redshift</code>, the way to do it is</p>
  <pre><code>client = boto3.client(&quot;redshift&quot;, region_name=&quot;someRegion&quot;, aws_access_key_id=&quot;foo&quot;, aws_secret_access_key=&quot;bar&quot;)
  
  response = client.describe_clusters(ClusterIdentifier=&quot;mycluster&quot;)
  
  print(response)
  </code></pre>
  <p>This code runs fine for both locally through pycharm, as well as on AWS lambda.</p>
  <p>However, am I correct that this <code>aws_access_key_id</code> and <code>aws_secret_access_key</code> are both from me? IE: my IAM user security access keys. Is this supposed to be the case? Or am I suppose to create a different user / role in order to access <code>redshift</code> via <code>boto3</code>?</p>
  <p>The more important question is, how do I properly store &amp; retrieve <code>aws_access_key_id</code> and <code>aws_secret_access_key</code>? I understand that this could potentially be done via <code>secrets manager</code>, but I am still faced with the problem that, if I run the below code, I get an error saying that it is unable to locate credentials.</p>
  <pre><code>client = boto3.client(&quot;secretsmanager&quot;, region_name=&quot;someRegion&quot;)
  # Met with the problem that it is unable to locate my credentials. 
  </code></pre>