sparse-intern-71089
12/11/2023, 5:16 PMlimited-farmer-68874
12/12/2023, 6:54 PMprojects.IAMBinding(
f"cloud-sql-client-binding",
role="roles/cloudsql.client",
members=[
pulumi.Output.concat("serviceAccount:", sa.service_accounts[user].email)
for user in sql_users
],
project=project_id,
opts=pulumi.ResourceOptions(depends_on=sql_user_resources),
)
projects.IAMBinding(
f"cloud-sql-user-binding",
role="roles/cloudsql.instanceUser",
members=[
pulumi.Output.concat("serviceAccount:", sa.service_accounts[user].email)
for user in sql_users
],
project=project_id,
opts=pulumi.ResourceOptions(depends_on=sql_user_resources),
)
Then in your service/function code, you just make use of Google's Cloud SQL Connector library
e.g.
import os
from google.cloud.sql.connector import Connector
def create_connection():
with Connector() as connector:
return connector.connect(
os.getenv("CLOUD_SQL_CONNECTION_NAME"),
"pg8000",
db="my-db",
user=os.getenv("CLOUD_SQL_USER"),
enable_iam_auth=True,
)
miniature-computer-95401
12/12/2023, 9:36 PMlimited-farmer-68874
12/12/2023, 9:37 PMbillions-piano-69192
06/09/2024, 4:34 PMlimited-farmer-68874
06/09/2024, 6:01 PMbillions-piano-69192
06/09/2024, 8:00 PM