blaze / blaze/odo

boto not using the temporary IAM credentials contained in EC2 instance metadata

Open
#598 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1k
Forks
131
PR merge metrics
No merged PRs in 30d

Description

boto, when called by odo, is not using the temporary IAM credentials contained in EC2 instance metadata and fails with an authentication error when attempting to access S3.

Steps to reproduce:

1. Attach an EC2 Role with 'AmazonS3FullAccess' permissions to an EC2 instance.
2. Start python from shell running in EC2 instance, and use boto to list the AWS account's associated buckets:
```
>>> import boto
>>> c = boto.connect_s3()
>>> rs = c.get_all_buckets()
>>> rs
```
This succeeds.
`[]`
3. Attempt to load a CSV file in S3 into a pandas dataframe:
```
>>> df = odo('s3://.../dummy_data.csv', pd.DataFrame)
```
yields
```
...
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
...
```

It appears that, when called from odo, boto is not using the temporary IAM credentials contained in the EC2 instance metadata.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.