aws / aws/amazon-redshift-python-driver

RS Connector requiring a valid aws identity to connect to Redshift, when that shouldn't be required

オープン
#244 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
220
フォーク
86
PR マージ指標
30日以内にマージされた PR はありません

説明

## Driver version
2.0.0

## Redshift version
PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.76832

## Client Operating System
macos ventura 13.6 (22G120)

## Python version
Python 3.12.4

## Table schema
n/a

## Problem description
redshift_connector is trying to grab a valid aws identity when just doing a simple connect to Redshift. This is causing issues for us as we have users that do not have a valid aws identity, that need to connect to Redshift. Importantly, they are able to connect to Redshift using various SQL clients, the same behavior should be expected with Redshift connector.

## Python Driver trace logs
would prefer to not post this

## Reproduction code
def get_redshift_connection_robotic():
try:
conn = redshift_connector.connect(
iam=True,
ssl=True,
host='',
port=5439,
database='',
cluster_identifier='',
region='us-east-1',
partner_sp_id='',
idp_host='',
credentials_provider='PingCredentialsProvider',
user='',
password=''
)
conn.autocommit = True
cursor = conn.cursor()
cursor.execute('SELECT 1;')
print(cursor.fetchall())
except Exception as error:
logging.error("Error connecting to Redshift:", exc_info=True)

if __name__ == "__main__":
get_redshift_connection_robotic()

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start with the get_redshift_connection_robotic reproduction and trace the IAM and PingCredentialsProvider connection path. Compare the connector's identity requirement with the reported SQL-client behavior; done means a user without a valid AWS identity can connect to Redshift with the shown configuration and SELECT 1 succeeds.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
aws, python
領域
databases
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。