安全性
使用层次名称格式在 ACL 中添加名称可以提高安全性。例如:
Randi Bowker/Sales/FactoryCo
ACL 项目的类型
通配符项目
要允许对数据库进行一般的访问,可以在 ACL 中输入带有通配符 (*) 的层次名称。可以在公用名称和组织单元组件中使用通配符。
尚未在 ACL 中指定用户或群组名项目,并且其层次名称中包含带通配符组件的用户和/或服务器,将获得匹配的每个通配符项目指定的最高级别的访问权限。
下面是一个通配符格式的 ACL 项目:
Michael Bowling/Illustration/Production/Acme/US
Alan Nelson/Acme/US
Karen Richards/Illustration/East/Acme/US
用户名
对于具有经过验证的 Notes 用户标识符的任何个人名称,或使用名称和口令或 SSL 客户机验证进行验证的 Internet 用户的名称,可以将其添加到 ACL 中。
注意 可以在用户名域中输入许多别名并且可以使用这些别名进行验证,但是,只能使用列表中的第一个名称来进行安全授权检查。这是应该在所有的 Domino 数据库 ACL、“服务器”文档中的安全设置以及 .ACL 文件中使用的名称。
服务器名称
可以向 ACL 中添加服务器的名称以控制数据库从数据库复本中接收更改。为了保证更严格的安全性,应使用服务器完整的层次名称,如 Server1/Sales/Acme,而无需考虑添加的服务器的名称与存储数据库的服务器是否在不同的层次组织中。
群组名
可以向 ACL 中添加群组名(如 Training)代表要求相同存取级别的多个用户或服务器。用户必须在群组中列出并且有一个主层次名或等价名。群组中也可以包含使用通配符的项目。在 ACL 中使用群组名之前,必须在下列任一目录中创建该群组:Domino 目录、辅助 Domino 目录,或者外部 LDAP 目录(在“目录服务”数据库中已经对群组授权进行了配置)。
提示 数据库的管理者应使用单独的名称而不是群组名。这样,当用户选择“创建”“其他”“给数据库管理者发送便笺”时,就可以知道自己在向谁发信。
群组提供了管理数据库 ACL 的便捷方法。在 ACL 中使用群组有如下优点:
终止群组 当雇员离开组织时,应该从 Domino 目录的所有群组里删除他们的姓名并将其添加到“仅拒绝列表”群组中,以拒绝他们对服务器的访问。“服务器”文档中的禁止存取列表里包含了不再具有访问 Domino 服务器权限的 Notes 用户名和群组名。同时,对于已经离开的雇员,必须确保在组织里所有数据库的 ACL 中删除该雇员的姓名。在 Domino 目录中删除某人时,如果已经创建了“仅拒绝列表”群组,用户就可以看到“将已删除的用户添加到拒绝访问群组”选项。(如果该群组不存在,对话框将显示“没有选定或可用的拒绝访问群组”。)
有关“仅拒绝列表”群组的详细信息,请参阅创建和修改群组主题。
有关禁止存取列表的详细信息,请参阅禁止存取列表主题。
等价名
等价名是可选的别名,由管理员分配给已注册的 Notes 用户。可以向 ACL 中添加等价名。等价名提供的安全性级别与用户的主层次名称相同。如果某用户的主名称为 Sandra Brown/West/Sales/Acme,则其等价名的格式可以为 Sandy Smith/ANWest/ANSales/ANAcme,其中 AN 表示等价名。
有关等价名的详细信息,请参阅向用户标识符中添加等价语言和等价名主题。
LDAP 用户
可以使用辅助 LDAP 目录来验证 Internet 用户。然后将这些 Internet 用户的姓名添加到数据库的 ACL,中以控制这些用户对数据库的访问。
还可以在包含这些 Internet 用户名的辅助 LDAP 目录中创建群组,然后将这些群组作为项目添加到 Notes 数据库的 ACL中。例如,某个 Internet 用户可能尝试访问 Domino Web 服务器上的数据库。如果这个 Web 服务器验证了该用户,并且 ACL 中包含了名为“Web”群组,则服务器除了在主 Domino 目录中查找项目以外,还能够在位于外部 LDAP 目录的“Web”群组中查找该 Internet 用户名。注意,要使这种情况成为可能,Web 服务器上的“目录服务”数据库必须包含针对于 LDAP 目录的一个“LDAP Directory Assistance”文档,并且启用了“群组扩展”选项。还可以使用此功能来查找存储在外部 LDAP 目录群组中的 Notes 用户姓名,作为数据库 ACL 检查的一部分。
将 LDAP 目录中的用户名和群组名添加到数据库 ACL 中时,应对名称使用 LDAP 格式,但使用正斜杠(/)而不是逗号(,)作为分隔符。例如,如果 LDAP 目录中的用户名如下所示:
例如,如果在 ACL 中输入以下名称:
注意 Note 如果 LDAP 名称中包含反斜杠,并且反斜杠后跟着另外一个字符,则在数据库的 ACL 中指定该名称时,应省略反斜杠。
任何没有首先进行验证而访问服务器的用户或服务器都被该服务器认为是“Anonymous”。匿名数据库访问权限授予 Internet 用户以及没有在服务器上进行验证的 Notes 用户。
匿名访问常在一般公众可以使用的服务器上的数据库中使用。在存取控制列表中输入“Anonymous”名称并分配相应的存取级别,即可控制授予匿名用户或服务器的数据库存取级别。通常,可以指定“Anonymous”用户对数据库具有“读者”存取级别。
下表描述了不同情形下匿名用户访问数据库时所具有的访问权限:
提示 如果希望所有用户都针对数据库进行验证,必须确保数据库 ACL 中的“Anonymous”具有“不能存取者”存取级别,并且确保未启用“读取公用文档”和“写入公用文档”。应将 Internet 用户名添加到 ACL 中并赋予所希望的存取级别。
Domino 服务器使用单独的群组名称“Anonymous”进行存取控制检查。例如,如果“Anonymous”在数据库 ACL 中具有“作者”存取级别,则用户的真实姓名会出现在这些文档的“作者”域中。在文档的“作者”域中,Domino 服务器只能显示匿名 Notes 用户的真实姓名,而不能显示匿名 Internet 用户的真实姓名。不管是否使用了匿名访问,“作者”域都不具有安全功能。如果为了安全起见需要验证作者名的有效性,那么应对文档进行签名。
复本标识符
要允许一个数据库中的代理使用 @DbColumn 或 @DbLookup 检索另一个数据库中的数据,应在要检索的数据所在的数据库的 ACL 中输入包含该代理的数据库的复本标识符。包含代理的数据库对要检索数据所在的数据库必须至少具有“读者”存取级别。这两个数据库还必须在同一个服务器上。数据库 ACL 中的复本标识符可以为 85255B42:005A8fA4 所示。可以用大写或小写字母输入复本标识符,但是不要将其用引号括起来。
如果没有向存取控制列表中添加复本标识符,但数据库“-Default-”项目的存取级别为“读者”或更高级别时,则其他数据库仍然可以检索数据。
ACL 项目的评估顺序
Notes 以特定的顺序评估 ACL 项目以决定应授予试图访问数据库的验证用户什么样的存取级别。如果用户不能通过服务器的验证,而服务器又允许用户访问,则即使用户名为“Anonymous”,系统仍将评估用户的访问权限。
注意 如果仅在 ACL 中输入公用名称(如 Sandra E Smith),则仅当用户名和数据库服务器在同一个网络域层次中时该项目才会进行匹配。例如,如果用户为 Sandra E Smith,其层次名称为 Sandra E Smith/West/Acme,数据库服务器为 Manufacturing/FactoryCo,则项目 Sandra E Smith 将不会获得服务器 Manufacturing/FactoryCo 上 ACL 中正确的存取级别。要使用户获得其他网络域服务器上 ACL 中正确的存取级别,必须按照完整的层次格式输入用户名。
注意 如果用户与 ACL 中的某个确切项目匹配,并且还是 ACL 中列出的某个群组的成员,那么该用户将始终被授予该确切项目的存取级别,即使群组的存取级别可能更高。