GRANT APPLICATION ROLE

将应用程序角色分配给账户角色、另一个应用程序角色、应用程序或用户。

此命令在应用程序角色和被授予该角色的角色之间创建“父子”关系,也称为角色层次结构。

有关更多详细信息,请参阅 访问控制概述

另请参阅:

ALTER APPLICATION ROLECREATE APPLICATION ROLEREVOKE APPLICATION ROLESHOW APPLICATION ROLES

语法

GRANT APPLICATION ROLE <name> TO  { ROLE <parent_role_name> | APPLICATION ROLE <application_role> | APPLICATION <application_name> | USER <user_name> }
Copy

参数

name

指定要授予的应用程序角色的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

ROLE parent_role_name

将应用程序角色授予指定的账户角色。

APPLICATION ROLE application_role

将应用程序角色授予指定的应用程序角色。此授权创建应用程序角色的角色层次结构。

可以将应用程序角色授予同一应用程序中的账户角色或其他应用程序角色。如果父角色是应用程序角色,并且未以 application_name.application_role_name 形式完全限定标识符,则该命令将在会话的当前数据库中查找应用程序角色。

APPLICATION application_name

将应用程序角色授予指定的应用程序。

USER user_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.

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

将应用程序角色授予另一个应用程序角色只能在已安装应用程序的上下文中执行,例如在应用程序安装脚本中。

示例

将应用程序角色 app_role 授予不同的应用程序角色 other_app_role

GRANT APPLICATION ROLE app_role to APPLICATION ROLE other_app_role;
Copy

将应用程序角色 app_role 授予用户 user1

GRANT APPLICATION ROLE app_role to USER user1;
Copy
语言: 中文