aws / aws/amazon-redshift-python-driver
Support inline role_arn for IAM Role authentication
- Dominant language
- Python
- Stars
- 220
- Forks
- 86
- PR merge metrics
- No merged PRs in 30d
Description
See this issue for context : https://github.com/dbt-labs/dbt-redshift/issues/842
The connector need to be able to support IAM Role via inline parameters in addition to via an AWS profile, the same way it does for IAM Users.
If I open a connection with `role_arn`, `source_access_key_id`, and `source_secret_access_key`, currently it ignores `role_arn` and uses the access key to open an IAM user connection.
What I need instead is to leverage the access key to assume the role - see [boto3 credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#assume-role-provider), we're in the [assume role provider chapter](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#assume-role-provider), particularly:
> If MFA authentication is not enabled then you only need to specify a role_arn and a source_profile.
What I need is to pass all the parameters inline, not a `source_profile`.
Contributor guide
Research direction
Start by reading the connector's handling of inline IAM credentials and AWS profile selection, then compare the requested behavior with the linked boto3 assume-role provider documentation and the dbt-redshift context issue. Done means role_arn is honored with source_access_key_id and source_secret_access_key to assume the role, rather than opening an IAM user connection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- authentication, cloud, database
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100