给新创建的Oracle数据库用户授予角色。

0

【以下的问题经过翻译处理】 大家好,

目前我正在研究aws rds oracle实例中角色的使用。根据我的研究,我不能简单地将DBA角色添加给一个新创建的用户,让他们与我一起管理实例。我的问题是,如何授予新创建的用户角色,以便他们具有与创建数据库的主用户相同的访问权限,或至少类似于其他SQL实例中的db_owner角色权限。

谢谢。

profile picture
专家
已提问 8 个月前48 查看次数
1 回答
0

【以下的回答经过翻译处理】 当您创建Amazon RDS for Oracle数据库实例时,会创建默认的主用户,并授予该用户在一些限制下对DB实例的最大用户权限。

对于RDS Oracle,该用户具有以下特权和角色:

1-系统特权:ALTER DATABASE LINK、ALTER PUBLIC DATABASE LINK、DROP ANY DIRECTORY、EXEMPT ACCESS POLICY、EXEMPT IDENTITY POLICY、GRANT ANY OBJECT PRIVILEGE、RESTRICTED SESSION、EXEMPT REDACTION POLICY。

2-数据库角色:AQ_ADMINISTRATOR_ROLE、AQ_USER_ROLE、CONNECT、CTXAPP、DBA、EXECUTE_CATALOG_ROLE、RECOVERY_CATALOG_OWNER、RESOURCE、SELECT_CATALOG_ROLE。

如果您希望拥有具有相同特权的其他用户,则可以向新用户授予上述特权和角色。

SQL> GRANT ALTER DATABASE LINK, ALTER PUBLIC DATABASE LINK, DROP ANY DIRECTORY, EXEMPT ACCESS POLICY, EXEMPT IDENTITY POLICY, GRANT ANY OBJECT PRIVILEGE, RESTRICTED SESSION, EXEMPT REDACTION POLICY TO newuser;

此外,如果您希望向用户授予单个特权,可以使用以下命令:"rdsadmin.rdsadmin_util.grant_sys_object"。

begin
	rdsadmin.rdsadmin_util.grant_sys_object(
		p_obj_name  => '<OBJECT_NAME>',
		p_grantee   => '<USER>',
		p_privilege => '<PRIVILAGE>');
end;

有关主用户特权的详细信息,请参阅以下文档。

[+]主用户账户特权-https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.MasterAccounts.html

[+]授予SYS对象SELECT或EXECUTE特权-https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.System.html#Appendix.Oracle.CommonDBATasks.TransferPrivileges

[+]如何在我的Amazon RDS for Oracle DB实例中管理用户特权和角色?-https://repost.aws/knowledge-center/rds-oracle-user-privileges-roles

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则