Support 'external_id' for temporary credentials
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 38/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- aws, python
- Lĩnh vực
- authentication, cloud, databases
Hướng nghiên cứu
Bắt đầu từ ví dụ redshift_connector.connect và truy vết cách lấy thông tin xác thực role_arn. Xem xét luồng boto3.Session và AssumeRole được yêu cầu, bao gồm external_id và việc làm mới thông tin xác thực khi kết nối lại. Được xem là hoàn tất khi connector chấp nhận external_id cho thông tin xác thực tạm thời và luồng tái hiện được ghi lại hoạt động đúng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Driver version
v2.0.907 Latest
Redshift version
N/A
Client Operating System
N/A
Python version
N/A
Table schema
N/A
Problem description
- Expected behaviour: Library is able to use EKS IRSA / AWS SSO to discovery credential, then use
AssumeRolewithrole_arnandexternal_idto receive current one. - Actual behaviour: No support for
external_id. - Error message/stack trace: N/A
- Any other details that can be helpful:
Partner Hosted Foundational Technical Review requires "CAA-002 - Use external ID with cross-account roles to access customer accounts."
Credential management is already supported. In my opinion, AWS SDK (in this scenario boto3) defines the credentials standard for IAM that is adopted for language in AWS. In my opinion, this library should only receive instance boto3.Session to build proper IAM credentials on its own. It allows use aws-assume-role-lib ( https://github.com/benkehoe/aws-assume-role-lib ) to automatically refresh credentials when reconnection happens (The fact that it is an external library is a separate problem in boto3 because JavaScript / Java ( https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/STSAssumeRoleSessionCredentialsProvider.html ) has the appropriate built-in credential provider.). Then a large amount of code - repeated in relation to boto3 - regarding the use of credential management will become redundant.
Python Driver trace logs
Reproduction code
import redshift_connector
# Connects to Redshift cluster using AWS credentials
conn = redshift_connector.connect(
host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
database='dev',
user='awsuser',
role_arn='aws:...',
external_id='...'
)
CC: @podpio
- Ngôn ngữ chính
- Python
- Star
- 220
- Fork
- 86
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của aws/amazon-redshift-python-driver
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 74/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
aws/amazon-redshift-python-driver#268 · 2 reaction ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
aws/amazon-redshift-python-driver#265 · 1 bình luận · 4 reaction ·
-
VARBYTE is decoded into utf-8 Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
Tất cả issue của aws/amazon-redshift-python-driver
Issue tương tự
-
bug confirmed issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
open-webui/open-webui#30750 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100