安全性


ACL 中可接受的项目
ACL 中可接受的项目包括:
每个 ACL 项目最多可以有 255 个字符。

使用层次名称格式在 ACL 中添加名称可以提高安全性。例如:


有关创建层次名称架构的详细信息,请参阅创建层次名称架构主题。

ACL 项目的类型

通配符项目

要允许对数据库进行一般的访问,可以在 ACL 中输入带有通配符 (*) 的层次名称。可以在公用名称和组织单元组件中使用通配符。

尚未在 ACL 中指定用户或群组名项目,并且其层次名称中包含带通配符组件的用户和/或服务器,将获得匹配的每个通配符项目指定的最高级别的访问权限。

下面是一个通配符格式的 ACL 项目:


该项目将选定的存取级别授予:
而不将选定的存取级别授予:
只能在 ACL 项最左边的部分使用一个通配符。例如,不能使用如下所示的项目:
来表示这些项目:
当使用带通配符的 ACL 项目时,应将用户类型设置为“未指定”、“混合群组”或“个人群组”。

用户名

对于具有经过验证的 Notes 用户标识符的任何个人名称,或使用名称和口令或 SSL 客户机验证进行验证的 Internet 用户的名称,可以将其添加到 ACL 中。


有关为 Internet 用户设置最高存取级别的详细信息,请参阅 Internet 用户的最大权限主题。

服务器名称

可以向 ACL 中添加服务器的名称以控制数据库从数据库复本中接收更改。为了保证更严格的安全性,应使用服务器完整的层次名称,如 Server1/Sales/Acme,而无需考虑添加的服务器的名称与存储数据库的服务器是否在不同的层次组织中。

群组名

可以向 ACL 中添加群组名(如 Training)代表要求相同存取级别的多个用户或服务器。用户必须在群组中列出并且有一个主层次名或等价名。群组中也可以包含使用通配符的项目。在 ACL 中使用群组名之前,必须在下列任一目录中创建该群组:Domino 目录、辅助 Domino 目录,或者外部 LDAP 目录(在“目录服务”数据库中已经对群组授权进行了配置)。

提示 数据库的管理者应使用单独的名称而不是群组名。这样,当用户选择“创建”“其他”“给数据库管理者发送便笺”时,就可以知道自己在向谁发信。

群组提供了管理数据库 ACL 的便捷方法。在 ACL 中使用群组有如下优点:


提示 还可以使用群组授予某些用户对数据库的控制访问权限,而无需授予他们“管理者”或“设计者”访问权限。例如,可以在 Domino 目录中为每个需要的数据库存取级别创建群组、将此群组添加到 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 中输入以下内容:
如果要在 ACL 中输入非层次的 LDAP 目录群组的名称,只需输入属性值而不是属性名。例如,如果 LDAP 群组名的非层次名称如下所示:
则只需在 ACL 中输入以下内容:
如果要输入层次群组名称,请在 ACL 项目中包括 LDAP 属性名。例如,如果群组的层次名称如下所示:
则在 ACL 输入以下内容:
请注意,如果指定的属性名恰好与 Notes 中使用的属性名 (cn, ou, o, c ) 一致,则 ACL 将不显示这些属性。

例如,如果在 ACL 中输入以下名称:


由于这些属性恰好与 Notes 使用的属性一致,因此名称在 ACL 中的显示如下所示:
LDAP 用户可接受的 ACL 项目
LDAP DNACL 项目
cn=Scott Davidson+ id=1234, ou=Sales,o=Acmecn=Scott Davidson+id=1234/ou=Sales/o=Acme
cn=Scott Davidson,o=Acme\, Inccn=Scott Davidson/o=Acme, Inc

注意 Note 如果 LDAP 名称中包含反斜杠,并且反斜杠后跟着另外一个字符,则在数据库的 ACL 中指定该名称时,应省略反斜杠。

uid=smd12345,dc=Acme,dc=Comuid=smd12345/dc=Acme/dc=Com
uid=Sandra Smith,o=Acme,c=USuid=Sandra Smith/o=Acme/c=US

匿名

任何没有首先进行验证而访问服务器的用户或服务器都被该服务器认为是“Anonymous”。匿名数据库访问权限授予 Internet 用户以及没有在服务器上进行验证的 Notes 用户。

匿名访问常在一般公众可以使用的服务器上的数据库中使用。在存取控制列表中输入“Anonymous”名称并分配相应的存取级别,即可控制授予匿名用户或服务器的数据库存取级别。通常,可以指定“Anonymous”用户对数据库具有“读者”存取级别。

下表描述了不同情形下匿名用户访问数据库时所具有的访问权限:
对 Internet 协议启用的匿名访问对 Internet 协议禁用的匿名访问
数据库 ACL 中启用的匿名访问用户以“Anonymous”项目的存取级别访问数据库。例如,如果“Anonymous”的访问权限设置为“只读”,则访问该数据库的匿名用户将被授予“只读”访问权限。用户试图访问服务器上的任何资源时都需要进行身份验证。如果数据库中未列出用户(既未通过群组项目或通配符项目列出,也未明确列出),则用户将以“-Default-”项目的存取级别访问数据库。
数据库 ACL 中被授予“不能存取者”权限的“Anonymous”如果“Anonymous”已被授予“不能存取者”存取级别(并且未启用读取/写入公用文档权限),则不允许匿名用户访问该数据库,并且会提示匿名用户进行验证。验证期间,会在数据库 ACL 检查该名称,以确定应授予用户的数据库存取级别。
在数据库 ACL 中没有列出“Anonymous”匿名用户以“-Default-”项目的存取级别访问数据库。例如,如果将“-Default-”的存取级别设置为“读者”,并且 ACL 中没有“Anonymous”项目,那么访问数据库的匿名用户将被授予“读者”存取级别。
当匿名用户(无论是以“Anonymous”项目还是以“-Default-”项目的存取级别访问数据库的用户)想在数据库中进行一些其存取级别所不允许的操作时,服务器将会要求他们进行验证。例如,如果“Anonymous”设置为“读者”,当某匿名用户试图新建一个文档时,服务器将会提示该用户使用名称和口令进行验证。

提示 如果希望所有用户都针对数据库进行验证,必须确保数据库 ACL 中的“Anonymous”具有“不能存取者”存取级别,并且确保未启用“读取公用文档”和“写入公用文档”。应将 Internet 用户名添加到 ACL 中并赋予所希望的存取级别。

Domino 服务器使用单独的群组名称“Anonymous”进行存取控制检查。例如,如果“Anonymous”在数据库 ACL 中具有“作者”存取级别,则用户的真实姓名会出现在这些文档的“作者”域中。在文档的“作者”域中,Domino 服务器只能显示匿名 Notes 用户的真实姓名,而不能显示匿名 Internet 用户的真实姓名。不管是否使用了匿名访问,“作者”域都不具有安全功能。如果为了安全起见需要验证作者名的有效性,那么应对文档进行签名。

复本标识符

要允许一个数据库中的代理使用 @DbColumn 或 @DbLookup 检索另一个数据库中的数据,应在要检索的数据所在的数据库的 ACL 中输入包含该代理的数据库的复本标识符。包含代理的数据库对要检索数据所在的数据库必须至少具有“读者”存取级别。这两个数据库还必须在同一个服务器上。数据库 ACL 中的复本标识符可以为 85255B42:005A8fA4 所示。可以用大写或小写字母输入复本标识符,但是不要将其用引号括起来。

如果没有向存取控制列表中添加复本标识符,但数据库“-Default-”项目的存取级别为“读者”或更高级别时,则其他数据库仍然可以检索数据。

ACL 项目的评估顺序

Notes 以特定的顺序评估 ACL 项目以决定应授予试图访问数据库的验证用户什么样的存取级别。如果用户不能通过服务器的验证,而服务器又允许用户访问,则即使用户名为“Anonymous”,系统仍将评估用户的访问权限。


另请参阅