chb*_*chb 4 google-cloud-sql terraform-provider-gcp
我想限制向我通过 Google Terraform 提供商创建的任何给定用户提供的权限。默认情况下,创建的任何用户都会放置在该cloudsqlsuperuser组中,并且创建的任何新数据库都将该角色/组作为所有者。这使通过 GCP 控制台或google_sql_userTerraform 资源创建的任何用户可以完全控制以类似方式创建的任何数据库。
到目前为止,我们能想到的最好办法是通过单次运行的 k8s 作业创建和更改用户。这充其量看起来很迂回,特别是考虑到如果我们想通过 Terraform 管理该资源,则必须稍后手动导入该资源。
是否有更好的方法来创建权限仅限于单个特定于应用程序的数据库的用户?
小智 5
我也对这种行为感到困惑。这可能不是您想要的答案,但如果您可以使用 GCP IAM 帐户,则会在 PostgreSQL 实例中创建没有角色的用户。
您可以通过“gcloud sql users create”或 terraform 模块“google_sql_user”、“CLOUD_IAM_USER”、“CLOUD_IAM_SERVICE_ACCOUNT”或“BUILT_IN”创建 3 种类型的帐户
如果没有指定,默认是built_in类型。创建 CLOUD_IAM_USER 和 CLOUD_IAM_SERVICE_ACCOUNTS 时不使用任何角色。
我们使用这些是因为与 IAM 的集成在很多方面都很有用(在数据库级别无需管理密码是一个主要优点,尤其是与 SQL Auth 代理结合使用时)。
BUILT_IN 帐户(即旧学校需要 postgres 用户名和密码)出于某种原因被授予“cloudsqlsuperuser”角色。
在没有被允许在 GCP 上使用超级用户角色的情况下,这几乎是你所能获得的特权,所以对我(和你)来说,这似乎是一个奇怪的默认设置。
| 归档时间: |
|
| 查看次数: |
2890 次 |
| 最近记录: |