通过启用 IAM 登录的云 sql-代理从云 运行 连接到云 SQL
Connecting to Cloud SQL from Cloud Run via cloud-sql-proxy with IAM login enabled
我想使用服务帐户从云 运行 连接到云 SQL 实例。该连接过去是在 VPC 内创建的,我们只需向我们的 PostgreSQL 客户端提供一个带有 user
和 password
的连接字符串。但现在我们希望身份验证由 Google Cloud IAM 管理,服务帐户与 Cloud 运行 服务关联。
在我的机器上,我可以使用 enable_iam_login
参数来使用我自己的服务帐户。 运行 云 SQL 代理的命令如下所示:
./cloud_sql_proxy -dir=/cloudsql -instances=[PROJECT-ID]:[REGION]:[INSTANCE] \
-enable_iam_login -credential_file=${HOME}/.config/gcloud/application_default_credentials.json
问题是我似乎无法找到一种方法来使用 IAM 身份验证方法来 运行 Cloud SQL 来自 Cloud 运行 的代理,我只能提供实例名称。有人遇到过这个问题吗?
遗憾的是,无法配置 Cloud 运行 对 Cloud SQL 代理的使用来为您执行此操作。
如果您使用 Java、Python 或 Go,there are language specific connectors you can use from Cloud Run. 这些都可以选择使用 IAM DB AuthN 作为其中的一部分。
对于在云端使用 NodeJS 的任何人 运行 :
- 您无法在 Cloud 运行 中启用
-enable_iam_login
选项(参见已接受的答案),这意味着您必须使用连接器。
- 据我所知,目前没有 NodeJS 连接器。
这意味着您有 2 个选择:
- 自己写一个连接器(祝你好运)或等待 Google 完成
- 现在使用内置数据库身份验证。
我想使用服务帐户从云 运行 连接到云 SQL 实例。该连接过去是在 VPC 内创建的,我们只需向我们的 PostgreSQL 客户端提供一个带有 user
和 password
的连接字符串。但现在我们希望身份验证由 Google Cloud IAM 管理,服务帐户与 Cloud 运行 服务关联。
在我的机器上,我可以使用 enable_iam_login
参数来使用我自己的服务帐户。 运行 云 SQL 代理的命令如下所示:
./cloud_sql_proxy -dir=/cloudsql -instances=[PROJECT-ID]:[REGION]:[INSTANCE] \
-enable_iam_login -credential_file=${HOME}/.config/gcloud/application_default_credentials.json
问题是我似乎无法找到一种方法来使用 IAM 身份验证方法来 运行 Cloud SQL 来自 Cloud 运行 的代理,我只能提供实例名称。有人遇到过这个问题吗?
遗憾的是,无法配置 Cloud 运行 对 Cloud SQL 代理的使用来为您执行此操作。
如果您使用 Java、Python 或 Go,there are language specific connectors you can use from Cloud Run. 这些都可以选择使用 IAM DB AuthN 作为其中的一部分。
对于在云端使用 NodeJS 的任何人 运行 :
- 您无法在 Cloud 运行 中启用
-enable_iam_login
选项(参见已接受的答案),这意味着您必须使用连接器。 - 据我所知,目前没有 NodeJS 连接器。
这意味着您有 2 个选择:
- 自己写一个连接器(祝你好运)或等待 Google 完成
- 现在使用内置数据库身份验证。