返回

2 页 权限的工作原理以及谁可以分配权限

用户级安全机制可以识别两种类型的权限:显式权限和隐式权限。显式权限是指直接授予用户帐户的权限;不会影响其他用户。隐式权限是指授予组帐户的权限。将一个用户添加到组中便会向该用户授予该组的权限;而将一个用户从组中删除便会取消该用户具有的该组的权限。

当用户尝试对启用安全功能的数据库对象执行一项操作时,该用户的权限集合即为其显示和隐式权限的交集。用户的安全级别通常对该用户的显式权限及该用户所属的任何和所有组的权限的限制最小。因此,管理工作组最简单的方式是创建新组并为该组分配权限,而不是为单个用户分配权限。然后,可以通过向该组添加用户或从中删除用户来更改单个用户的权限。另外,在需要授予新权限时,通过一项操作即可将该权限授予组中的所有成员。

可以更改数据库对象的权限的人员包括:

创建数据库时使用的工作组信息文件的 Admins 组成员。
对象所有者。
任何具备该对象的“管理员”权限的用户。
即使用户当前可能无法执行某项操作,但是他们可以授予自己执行此操作的权限。如果用户是 Admins 组的成员,或者是对象的所有者,便可以这样做。

创建表、查询、窗体、报表或宏的用户便是该对象的所有者。另外,可以更改数据库中权限的用户组同样可以更改这些对象的所有权或者重新创建这些对象,而这两项操作均可以更改对象的所有权。要重新创建对象,可以制作对象的副本,或者从另一个数据库导入对象或将对象导出到另一个数据库。这是转让对象(包括数据库本身)所有权的最简单的方式。

注释 复制、导入或导出不会更改将 RunPermissions 属性设置为“属于所有者”的查询的所有权。只有查询的 RunPermissions 属性设置为“属于用户的”时,才可以更改查询的所有权。

3、安全帐户
Access 2003 工作组信息文件包含下列预定义帐户。


实际上,Access 2003 和更低版本的 Access 中的安全机制始终是有效的。在您激活工作组的登录过程之前,所有用户会在 Access 启动时使用空密码的默认 Admin 用户帐户隐式登录。在后台,Access 使用 Admin 帐户作为工作组的管理员帐户。对于创建的所有数据库、表、查询、窗体、报表和宏,除了创建这些对象的所有者(组或用户)帐户外,Access 还使用 Admin 帐户。

管理员和所有者非常重要,因为他们拥有不可撤消的权限:

管理员(Admins 组成员)始终可以获得工作组中创建的对象的完全权限。
拥有表、查询、窗体、报表或宏的帐户始终可以获得该对象的完全权限。
拥有数据库的帐户始终可以打开该数据库。
因为对于 Access 的每个副本,Admin 用户帐户完全相同,所以帮助保护数据库安全的第一步是定义管理员和所有者用户帐户(或使用单个用户帐户作为管理员和所有者帐户),然后从 Admins 组删除 Admin 用户帐户。否则,所有拥有 Access 副本的用户都可以使用 Admin 帐户登录到您的工作组,并具备对工作组的表、查询、窗体、报表和宏的完全权限。

您可以根据需要向 Admins 组分配任意数量的用户帐户,但是只有一个用户帐户可以拥有数据库,拥有数据库的帐户是指在执行以下操作时活动的用户帐户:创建数据库,或通过创建新数据库并将一个数据库的所有对象导入到该新数据库来转让所有权。但是,组帐户也可以拥有数据库中的表、查询、窗体、报表和宏。

组织安全帐户时需要注意的事项
只有用户帐户可以登录到 Access;您无法使用组帐户来登录。
为数据库用户创建的帐户必须存储在这些用户使用该数据库时将加入的工作组信息文件中。如果使用不同的文件创建数据库,那么应在创建帐户前更改该文件。
确保为管理员和用户帐户创建唯一密码。可以使用管理员帐户登录的用户始终可以获得在工作组中创建的所有表、查询、窗体、报表和宏的完全权限。可以使用所有者帐户登录的用户始终可以获得所拥有对象的完全权限。
创建了用户和组帐户后,可以查看和打印它们之间的关系。Access 可以打印工作组中帐户的报表,其中显示每个用户所属的组以及属于每个组的用户。

如果使用的是在 Microsoft Access 2.0 中创建的工作组信息文件,则必须以 Admins 组成员的身份登录才能打印用户和组信息。如果工作组信息文件是在 Microsoft Access 97 或更高版本的 Access 中创建的,那么工作组中的所有用户都可以打印用户和组信息。