GRANT APPLICATION ROLE¶
为账户角色或其他应用程序角色分配应用程序角色。
此命令在应用程序角色和被授予该角色的角色之间创建“父子”关系,也称为角色层次结构。
请注意,不能直接向用户授予应用程序角色。
有关更多详细信息,请参阅 访问控制概述。
语法¶
GRANT APPLICATION ROLE <name> TO { ROLE <parent_role_name> | APPLICATION ROLE <application_role> | APPLICATION <application_name>}
参数¶
name
指定要授予的应用程序角色的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
ROLE parent_role_name
将应用程序角色授予指定的账户角色。
APPLICATION ROLE application_role
将应用程序角色授予指定的应用程序角色。此授权创建应用程序角色的角色层次结构。
可以将应用程序角色授予同一应用程序中的账户角色或其他应用程序角色。如果父角色是应用程序角色,并且未以
application_name.application_role_name
形式完全限定标识符,则该命令将在会话的当前数据库中查找应用程序角色。APPLICATION ROLE application_name
将应用程序角色授予指定的应用程序。
访问控制要求¶
权限或角色 |
对象 |
备注 |
---|---|---|
ACCOUNTADMIN |
应用程序角色 |
具有此角色的用户可以将 预算应用程序角色 授予自定义角色。 |
OWNERSHIP |
角色 |
授予账户角色或其他应用程序角色的角色。但是,应用程序所有者可以将应用程序角色授予另一个应用程序角色或账户角色。OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
只有应用程序所有者才能将应用程序角色授予其他角色。Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
将应用程序角色授予另一个应用程序角色只能在已安装应用程序的上下文中执行,例如在应用程序安装脚本中。
示例¶
GRANT APPLICATION ROLE app_role to APPLICATION ROLE other_app_role;