GoogleCloudPlatform / GoogleCloudPlatform/cloud-sql-python-connector

Make user optional when passing enable_iam_auth

Đang mở
#310 2 bình luận 2 reaction 1 người được giao Được giao cho @hessjcg Xem trên GitHub
priority: p2 type: feature request
Ngôn ngữ chính
Python
Star
344
Fork
89
Merge trung bình
5 giờ 33 phút
Pull request đã merge (30 ngày)
2

Mô tả

## Feature Description

If I'm using this in an environment like cloud run, there really only is one account - the currently active service account. I think the default assumption is that the user that is going to be doing the proxying is also the one that is being logged in, so it's quite redundant to have to get the current service account, and then chop off the `gserviceaccount.com` as required.

A cleaner API would be to simply no longer have user required when enable_iam_auth is passed, and have the connector correctly detect service account emails and appropriately chop them, cleanly abstracting away the internals.

That would take the common use case from
```
account = detect_account()
if account.endswith(".iam.gserviceaccount.com"):
account = account.replace(".gserviceaccount.com", "")
connector.connect(MY_DB_STR, "pg8000", user=account, db=MY_DB, enable_iam_auth=True)
```
to the extremely elegant `connector.connect(MY_DB_STR, "pg8000", db=MY_DB, enable_iam_auth=True)`

## Alternatives Considered
We could continue to keep this redundant, but it's forcing the calling code to still be dealing with GCP internals.

Thank you for your consideration :P

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.