Postgresql CREATE GRANT - 限制对服务器上其他数据库的访问?
Postgresql CREATE GRANT - Limit Access to other Databases on Server?
我有 2 个 Postgresql 数据库,分别是 abc 和 xyz。我想为每个网站创建一个用户,所以我创建了一个用户,命令如下:
CREATE ROLE abc LOGIN PASSWORD 'abc';
然后我这样做是为了授予他们访问数据库的权限:
GRANT ALL PRIVILEGES ON DATABASE abc TO abc;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO abc;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO abc;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL on TABLES TO abc;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL on SEQUENCES TO abc;
此时 abc 用户可以访问这些表,我相信任何未来创建的表。
我注意到 abc 用户可以看到 xyz 数据库存在并实际进入它并在 pgAdmin 中查看模式、表,甚至表的结构。
我想阻止这种情况并锁定 abc 用户,以便尽可能多地了解 abc 数据库。
我在这个配置中哪里出错了,锁定它的最佳方法是什么?
谢谢!
您必须禁止用户连接到其他数据库。
有两种可能:
通过数据库权限:
-- by default, everybody can connect
REVOKE CONNECT ON DATABASE other FROM PUBLIC;
-- now you have to grant access to the legitimate users specifically
GRANT CONNECT ON DATABASE other TO other_users;
通过 pg_hba.conf
.
不要向文件添加允许 abc
连接到 other
的条目。
所以与其拥有
host all all 0.0.0.0/0 scram-sha-256
有像
这样的条目
host other +other_users 0.0.0.0/0 scram-sha-256
host abc abc 0.0.0.0/0 scram-sha-256
我有 2 个 Postgresql 数据库,分别是 abc 和 xyz。我想为每个网站创建一个用户,所以我创建了一个用户,命令如下:
CREATE ROLE abc LOGIN PASSWORD 'abc';
然后我这样做是为了授予他们访问数据库的权限:
GRANT ALL PRIVILEGES ON DATABASE abc TO abc;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO abc;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO abc;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL on TABLES TO abc;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL on SEQUENCES TO abc;
此时 abc 用户可以访问这些表,我相信任何未来创建的表。
我注意到 abc 用户可以看到 xyz 数据库存在并实际进入它并在 pgAdmin 中查看模式、表,甚至表的结构。
我想阻止这种情况并锁定 abc 用户,以便尽可能多地了解 abc 数据库。
我在这个配置中哪里出错了,锁定它的最佳方法是什么?
谢谢!
您必须禁止用户连接到其他数据库。
有两种可能:
通过数据库权限:
-- by default, everybody can connect REVOKE CONNECT ON DATABASE other FROM PUBLIC; -- now you have to grant access to the legitimate users specifically GRANT CONNECT ON DATABASE other TO other_users;
通过
pg_hba.conf
.不要向文件添加允许
abc
连接到other
的条目。所以与其拥有
host all all 0.0.0.0/0 scram-sha-256
有像
这样的条目host other +other_users 0.0.0.0/0 scram-sha-256 host abc abc 0.0.0.0/0 scram-sha-256