title: How to access someone else's AWS S3 'bucket' with Boto3 and Username?
body: <p>I'm trying to download AWS S3 content using Python/Boto3.</p>
  
  <p>A third-party is uploading a data, and I need to download it.
  They provided credentials like this:</p>
  
  <ul>
  <li>Username : <code>MYUser</code></li>
  <li>aws_access_key_id : <code>SOMEKEY</code></li>
  <li>aws_secret_access_key : <code>SOMEOTHERKEY</code></li>
  </ul>
  
  <p>Using a popular Windows 10 app CyberDuck, my 'Username' is added to the application's path settings, <code>third-party/MYUser/myfolder</code></p>
  
  <p>Nothing I'm given here is <em>my bucket</em>.</p>
  
  <pre><code>my_bucket = s3.Bucket('third-party/MYUser')
  ParamValidationError: Parameter validation failed:
  Invalid bucket name 'third-party/MYUser': Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$"
  
  my_bucket = s3.Bucket('third-party')
  ClientError: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
  
  my_bucket = s3.Bucket('MYStuff')
  NoSuchBucket: An error occurred (NoSuchBucket) when calling the ListObjects operation: The specified bucket does not exist
  </code></pre>
  
  <p>From what I've read, <code>third-party</code> is the AWS S3 bucket name, but I can't find an explanation for how to access a sub-directory of someone else's bucket.</p>
  
  <p>I'm see <code>Bucket()</code> has some <em>user</em> parameters. I read elsewhere about <em>roles</em>, and <em>access control lists</em>. But I'm not finding a simple example.</p>
  
  <p><strong>How do I access someone else's bucket on AWS S3 given Username?</strong></p>