1. 什么是域
Microsoft 的Active Directory 是企业界的支柱。它简化了企业环境中设备和用户的管理
想象一下您正在管理一个只有五台计算机和五名员工的小型企业网络。在如此小的网络中,您可能能够毫无问题地单独配置每台计算机。您将手动登录每台计算机,为使用它们的人员创建用户,并为每个员工的帐户进行特定配置。如果用户的计算机停止工作,您可能会去他们的地方并现场修复计算机。虽然这听起来像是一种非常轻松的生活方式,但让我们假设您的业务突然增长,现在拥有 157 台计算机和分布在四个不同办公室的 320 名不同用户。您是否仍然能够将每台计算机作为单独的实体进行管理,为网络上的每个用户手动配置策略并为每个人提供现场支持?答案很可能是否定的。
so? 针对多个计算机我们该怎么办呢?
为了克服这些限制,我们可以使用 Windows 域。简而言之,Windows 域是给定企业管理下的一组用户和计算机。域背后的主要思想是将 Windows 计算机网络的常见组件的管理集中到称为 Active Directory (AD) 的单个存储库中。运行 Active Directory 服务的服务器称为域控制器 (DC)
1.1 优点:
配置 Windows 域的主要优点是:
- Centralised identity management: All users across the network can be configured from Active Directory with minimum effort.
集中身份管理:网络上的所有用户都可以轻松地从 Active Directory 进行配置。 - Managing security policies: You can configure security policies directly from Active Directory and apply them to users and computers across the network as needed.
管理安全策略:您可以直接从 Active Directory 配置安全策略,并根据需要将它们应用到网络上的用户和计算机。
1.2 使用
在学校/大学网络中,您通常会获得一个用户名和密码,您可以在校园内的任何计算机上使用它们。您的凭据对所有计算机都有效,因为每当您在计算机上输入它们时,它都会将身份验证过程转发回 Active Directory,并在其中检查您的凭据。借助 Active Directory,您的凭据无需存在于每台计算机中,并且可以在整个网络中使用。权限控制:***Active Directory 也是允许您的学校/大学限制您访问学校/大学计算机上的控制面板的组件。策略通常会部署在整个网络中,以便您对这些计算机没有管理权限
2. 组成
任何 Windows 域的核心都是 Active Directory 域服务 (AD DS)。该服务充当目录,保存网络上存在的所有“对象”的信息。在AD支持的众多对象中,有用户、组、机器、打印机、共享等等。让我们看看其中的一些:
2.1 用户
用户是 Active Directory 中最常见的对象类型之一。用户是被称为安全主体的对象之一,这意味着他们可以通过域进行身份验证,并且可以被分配对文件或打印机等资源的权限。您可以说安全主体是一个可以对网络中的资源进行操作的对象。
**用户可以用来表示两种类型的实体:
- 人员:用户通常代表组织中需要访问网络的人员,例如员工。
- 服务:您还可以定义供 IIS 或 MSSQL 等服务使用的用户。每个服务都需要用户来运行,但服务用户与普通用户不同,因为他们只拥有运行特定服务所需的权限。
2.2 Machines 机器
机器是 Active Directory 中的另一种对象;对于加入 Active Directory 域的每台计算机,都会创建一个计算机对象。计算机也被视为“安全主体”,并像任何普通用户一样被分配一个帐户。该帐户在域本身内的权限有些有限。
计算机帐户本身是指定计算机上的本地管理员,除了计算机本身之外,通常不应该由任何人访问它们,但与任何其他帐户一样,如果您有密码,则可以使用它来登录。
注意:机器帐户密码会自动轮换,通常由 120 个随机字符组成。
识别机器帐户相对容易。它们遵循特定的命名方案。计算机帐户名称是计算机名称后跟美元符号。例如,名为 DC01
的计算机将有一个名为 DC01$
的计算机帐户。
2.3 Security Groups 安全组
如果您熟悉 Windows,您可能知道可以定义用户组,将文件或其他资源的访问权限分配给整个组而不是单个用户。这可以实现更好的可管理性,因为您可以将用户添加到现有组,并且他们将自动继承该组的所有权限。安全组也被视为安全主体,因此可以对网络上的资源拥有特权。
组可以同时包含用户和计算机作为成员。如果需要,组也可以包括其他组。
默认情况下,域中会创建多个组,可用于向用户授予特定权限。
Security Group 安全组 | Description 描述 |
Domain Admins 域管理员 | 该组的用户拥有整个域的管理权限。默认情况下,他们可以管理域中的任何计算机,包括 DC。 |
Server Operators 服务器运营商 | 该组中的用户可以管理域控制器。他们无法更改任何管理组成员身份。 |
Backup Operators 备份操作员 | 该组中的用户可以访问任何文件,但忽略其权限。它们用于在计算机上执行数据备份。 |
Account Operators 账户运营商 | 该组中的用户可以创建或修改域中的其他帐户。 |
Domain Users域用户 | 包括域中所有现有的用户帐户。 |
Domain Computers 域计算机 | 包括域中的所有现有计算机。 |
Domain Controllers 域控制器 | 包括域中所有现有的 DC。 |
2.3.1 Domain Admins 域管理员
域级权限:
- 作为 Domain Admins 组成员,Administrator 用户可以对整个域中的所有计算机和用户进行管理。
- 该用户可以创建、删除、修改域中的用户账户,管理组成员资格,修改权限,管理域内的所有资源(如文件夹共享和打印机),以及执行其他许多管理任务。
可以完全控制域控制器:
- 作为域管理员,Administrator 用户可以访问、配置、和管理所有的 域控制器(Domain Controllers)。
- 这意味着他可以更改域控制器的设置,查看所有用户的账户信息,甚至重置其他管理员账户的密码。
权限覆盖本地计算机权限:
- 由于 Administrator 是域管理员,Administrator 也可以通过域管理员的权限在域内的每台计算机上执行操作。
- 例如,他可以通过远程桌面、组策略、远程管理等方式,在域中的任何计算机上执行操作,无论计算机本身是加入域的本地管理员账户还是其它角色。
3. 组和服务
3.1 用户与组的关系
在 Active Directory(AD)中,用户通常会被添加到一个或多个 组 中。组用于管理对资源的访问权限。组本质上是一些用户的集合,能够集中控制哪些用户可以访问特定的资源或服务。
- 组的类型:
- 安全组(Security Group):用于控制访问权限。通过将用户添加到安全组中,可以将访问权限授予整个组,这样所有组成员都能访问该组所授权的资源。
- 分发组(Distribution Group):用于邮件列表等非安全目的,不涉及权限控制。
3.2 如何控制资源访问
- 在 AD 中,资源(如文件、文件夹、应用程序、网络共享等)通常会设置访问控制列表(ACLs),这些 ACLs 定义了哪些用户或组可以访问特定的资源。
- 例如,一个文件夹的权限可能设置为只允许
HR-Group
(人力资源组)中的成员读取文件,而其他用户无法访问。
通过将用户加入到 安全组,管理员能够灵活地管理访问控制。比如:
- HR 用户组(HR-Group)可能包含所有人力资源部门的员工。
- Finance 用户组(Finance-Group)可能包含所有财务部门的员工。
- 通过将资源权限分配给这些组,可以简单地控制谁有权访问特定的资源。
3.3 身份验证过程
当用户尝试访问某个受保护的资源时,通常会发生以下过程:
身份验证:用户在访问资源时需要提供 凭证(如用户名和密码)。AD 会对这些凭证进行验证,确认用户是否是有效用户。
- 这通常发生在 域控制器(DC) 上,域控制器会查验用户凭证是否正确,验证用户的身份。
授权:身份验证通过后,AD 会根据用户所属的 组 来决定是否授予访问权限。具体来说,AD 会检查用户所在的安全组,并查看资源的 访问控制列表(ACL),确定哪些组被授权访问该资源。
- 例如,若某文件夹的 ACL 中允许
HR-Group
组的成员读取该文件夹,而当前用户属于HR-Group
,则该用户可以访问该文件夹;如果用户不在该组中,则无法访问。
- 例如,若某文件夹的 ACL 中允许
3.4 访问服务的过程
在用户请求访问某个服务时,通常会经历以下步骤:
用户登录:用户首先登录到域(通过输入用户名和密码),这时 AD 会验证用户的身份,确保用户名和密码正确。
身份验证:当用户登录时,域控制器会检查他们的凭证并验证用户的身份。这个过程包括:
- 检查用户名是否存在。
- 验证密码是否正确。
- 验证用户是否有足够的权限进行当前操作(例如是否在正确的组中)。
获取组信息:在用户登录时,域控制器会返回用户所属的所有组信息。这些组决定了用户可以访问哪些资源。例如:
- 用户登录时,AD 会向客户端返回该用户所属的所有安全组,这些组信息将用于后续的授权过程。
授权访问:根据用户所属的组,系统会检查用户是否被授权访问特定的资源。例如,若一个文件夹的访问权限仅限于
HR-Group
,那么只有属于该组的用户才能访问文件夹。如果用户没有访问权限,系统会拒绝访问。
3.5 示例:
假设你有一个文件夹 \\server\hrdocs
,并且你希望只有人力资源部门的成员可以访问它:
- 创建一个安全组:
HR-Group
。 - 将所有人力资源部门的成员添加到
HR-Group
中。 - 在文件夹
\\server\hrdocs
上设置 ACL,允许HR-Group
组的成员具有读取权限。 - 当
HR-Group
组的成员登录并尝试访问该文件夹时,AD 会验证其身份,并通过查看组信息(即他们属于HR-Group
)来决定是否允许访问。