aws / aws/amazon-redshift-python-driver
RS Connector requiring a valid aws identity to connect to Redshift, when that shouldn't be required
- 主要语言
- 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()
贡献指南
调研方向
从复现 get_redshift_connection_robotic 开始,并跟踪 IAM 和 PingCredentialsProvider 的连接路径。将连接器的身份要求与报告的 SQL-client 行为进行比较;完成的标准是,没有有效 AWS 身份的用户可以使用所示配置连接到 Redshift,并且 SELECT 1 执行成功。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- aws, python
- 领域
- databases
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100