用户组或角色
大多数数据库管理系统 (DBMS) 都根据用户对数据访问的需求,为管理员提供多种将用户分组和将权限分配到组的方法。这样就可以减少更改每个用户权限所花费的时间。因此,可以根据用户的常用功能,利用组(也称为角色、类型或者基于 DBMS 的机构)来授予用户权限。
与系统管理员在操作系统中使用组一样(方法相同,原因也相同),您可以在数据库中使用角色,从而简化大量用户的大量权限管理。
用户的公共目录或公共组是指那些查看、编辑和创建数据的用户。有关这些组所需的具体权限类型的详细信息,请参阅每个 DBMS 中的用户权限主题。阅读所使用的 DBMS 中的用户权限主题。
大多数情况下,在企业级地理数据库中,为组授予权限并不妨碍为单个用户授予权限。例如,可将在数据库中创建数据所需的最低权限授予数据创建者组(该组也可能包括地理数据库管理员),然后将其他权限仅授予地理数据库管理员用户。每个 DBMS 处理权限的优先级都不同,因此,有关 DBMS 中角色和单个用户的权限行为的详细信息,请参阅 DBMS 文档。
此外,许多 DBMS 产品提供了预定义组。其中一种预定义组为 PUBLIC 角色,对其介绍如下。有关其他特定于 DBMS 的预定义组介绍,请参阅相应的 DBMS 文档。
PUBLIC 角色
所有数据库管理系统中都有一个默认存在的组 - PUBLIC 组或 PUBLIC 角色。PUBLIC 基本上是一个同等对待所有连接到该数据库的用户的变量,因此,授予 PUBLIC 的权限也授予了每个连接到数据库的用户。在某些情况下,所有用户都需要一个特定的权限。例如,若要连接到 SQL Server 数据库,用户必须具有 CONNECT 权限。由于每个人都需要该权限,SQL Server 会默认将其授予 PUBLIC 角色。
有时,在创建数据库时,会默认为 PUBLIC 授予高级别权限。然而,出于安全原因,仅应在绝对必要时才为 PUBLIC 授予权限。