在使用 RDS 的过程中,由于 superuser 不完全放开,因此我们建议您在使用数据库时遵循单独建立用户并通过 schema 管理您的私有空间。
操作步骤
[backcolor=transparent]说明: 本例中,myuser 是建立实例时创建的管理账号,newuser 是当前需要新建的账号。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云RDS(Relational Database Service)的使用中,确实推荐采用细粒度的权限管理来增强数据库的安全性。您提供的操作步骤很好地展示了如何在PostgreSQL类型的RDS实例中创建一个具有特定权限的新用户,并通过Schema来管理这个用户的私有空间。下面是对这些步骤的一个简要解析和补充说明:
创建新用户:
CREATE USER newuser LOGIN PASSWORD 'password';
这条命令创建了一个名为newuser的新用户,并为其设置了登录密码。确保选择一个强密码以增加安全性。
为新用户建立Schema:
CREATE SCHEMA newuser;
GRANT USAGE ON SCHEMA newuser TO newuser;
ALTER SCHEMA newuser OWNER TO newuser;
首先创建了一个与用户名相同的Schema(逻辑命名空间),然后授权该用户可以使用此Schema,并将其设置为Schema的所有者。注意,原示例中的GRANT newuser to myuser和后续的REVOKE操作可能有些误导,实际上应首先确保新用户能访问其自己的Schema,因此使用了GRANT USAGE ON SCHEMA newuser TO newuser;。
安全实践:
登录验证: 提供的命令展示了如何使用新创建的用户连接到RDS实例:
psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001
注意:这里的intranet4example.pg.rds.aliyuncs.com、端口号3433以及数据库名pg001需要根据您的实际RDS实例信息进行替换。此外,确保您的网络配置允许从当前环境访问RDS实例。
总结来说,遵循这样的步骤可以帮助您在阿里云RDS上实现更安全、有序的数据库用户管理。记得在操作前备份重要数据,并且在生产环境中实施任何更改前,在测试环境中先行验证。