如何授予连接只读访问gcp云sql



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

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

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

云SQL客户端(对云SQL实例的连接访问(-这是否允许用户编辑数据库记录?如果是,有没有一种方法可以在没有写权限的情况下访问连接?

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

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

点击此处查看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 ]

首先让我们看看用户拥有什么:显示db_user 的拨款

让我们撤销所有:取消所有特权,授予db_user选项刷新权限

现在,让我们只向用户提供所需的:在数据库名称上授予选择。*到数据库用户

或者您也可以提供:在db_name上授予SELECT、UPDATE、INSERT、DELETE。*到db_user

再次冲洗:刷新权限

并再次检查:显示db_user 的拨款

相关内容

  • 没有找到相关文章

最新更新