【问题标题】:How to grant connectivity read only access to gcp cloud sql如何授予对 gcp 云 sql 的连接只读访问权限
【发布时间】:2020-11-13 13:58:49
【问题描述】:

我想授予用户对 GCP(谷歌云)上的 postgres 云 sql 数据库的只读数据库访问权限。例如,我希望用户能够从 postico/pg admin 查看数据库表,但不能删除/更新/插入记录。

我授予用户以下角色 Cloud SQL 客户端(对 Cloud Sql 实例的连接访问) Cloud SQL 查看器(对 Cloud SQL 资源的只读访问权限)

我第一次尝试只 Coud SQL 查看器,但用户无法从本地计算机访问数据库。

Cloud SQL 客户端(对 Cloud Sql 实例的连接访问)- 这是否使用户能够编辑数据库记录?如果是这样,有没有办法在没有写入权限的情况下进行连接访问?

【问题讨论】:

    标签: google-cloud-platform google-cloud-sql


    【解决方案1】:

    因此,Cloud SQL 有两个权限概念。有实例(云)级访问和数据库级访问。

    您正在查看的 IAM 角色(Cloud SQL 客户端)处理实例级别。能不能连接Cloud SQL,能不能查看项目中的所有数据库等等。写入/更新/读取记录的能力是DB级别的。为此,您需要在连接到实例时使用 GRANT SQL 命令。

    在此处查看 GRANT 文档:https://www.postgresql.org/docs/9.0/sql-grant.html

    GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
        [,...] | ALL [ PRIVILEGES ] }
        ON { [ TABLE ] table_name [, ...]
             | ALL TABLES IN SCHEMA schema_name [, ...] }
        TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
    

    【讨论】:

    • 我们有不同的云用户通过同一用户访问云 sql 上的 postgres。有没有办法限制他们对表的读写更新访问?
    • 如果你能区分他们可以从哪里连接,你可以使用 GRANT @ 来限制主机 ip 的访问。如果他们从同一个 IP 连接,我不这么认为?
    猜你喜欢
    • 1970-01-01
    • 2021-02-25
    • 2021-11-23
    • 2011-04-23
    • 1970-01-01
    • 2017-04-07
    • 2021-03-16
    • 2019-10-03
    • 2020-01-17
    相关资源
    最近更新 更多