Support 'external_id' for temporary credentials
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- aws, python
- Área
- authentication, cloud, databases
Línea de trabajo
Comienza con el ejemplo de redshift_connector.connect y sigue cómo se obtienen las credenciales de role_arn. Revisa el flujo solicitado de boto3.Session y AssumeRole, incluidos external_id y la actualización de credenciales al reconectarse. Se considera completado cuando el conector acepta external_id para credenciales temporales y funciona el flujo de reproducción documentado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Python
- Estrellas
- 220
- Forks
- 86
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de aws/amazon-redshift-python-driver
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 74/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
aws/amazon-redshift-python-driver#268 · 2 reacciones ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
aws/amazon-redshift-python-driver#265 · 1 comentario · 4 reacciones ·
-
VARBYTE is decoded into utf-8 Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Todos los issues de aws/amazon-redshift-python-driver
Issues similares
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
open-webui/open-webui#30750 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100