Managed Active Directory 使用入门

1. 概览

托管式 Active Directory 是一项以服务形式提供的高可用性 Microsoft Active Directory 网域,托管在 Google Cloud 上。

在本教程中,您将设置新的代管式 Active Directory,创建新的 Windows 虚拟机并将其加入新网域。您将了解如何使用您熟悉的管理工具设置网络、安全功能和管理网域。

学习内容

  • 如何在 Google Cloud 上创建 Managed Active Directory
  • 如何将 Windows 虚拟机加入网域
  • 如何在受管理的 Active Directory 中管理用户和计算机

所需条件:

  • 一个浏览器,例如 Chrome 或 Firefox
  • 安装了 gcloud 工具的机器

您打算如何使用本教程?

仅阅读教程内容 阅读并完成练习

您如何评价自己在 Google Cloud Platform 方面的经验水平?

新手水平 中等水平 熟练水平

2. 设置和要求

自定进度的环境设置

  1. 登录 Cloud 控制台,然后创建一个新项目或重复使用现有项目。 (如果您还没有 Gmail 或 G Suite 账号,则必须创建一个。)

dMbN6g9RawQj_VXCSYpdYncY-DbaRzr2GbnwoV7jFf1u3avxJtmGPmKpMYgiaMH-qu80a_NJ9p2IIXFppYk8x3wyymZXavjglNLJJhuXieCem56H30hwXtd8PvXGpXJO9gEUDu3cZwci9Oe6PgnbNuSYlMyvbXF1JdQyiHoEgnhl4PlV_MFagm2ppzhueRkqX4eLjJllZco_2zCp0V0bpTupUSKji9KkQyWqj11pqit1K1faS1V6aFxLGQdkuzGp4rsQTan7F01iePL5DtqQ8-tA_Lheyo8SscAVKrGii2coplQp2_D1Iosb2ViABY0UUO1A8cimXUu6Wf1R9zJIRExL5OB2j946aIiFtyKTzxDcNnuznmR45vZ2HMoK3o67jxuoUJCAnqvEX6NgPGFjCVNgASc-lg

请记住项目 ID,它在所有 Google Cloud 项目中都是唯一的名称(上述名称已被占用,您无法使用,抱歉!)。它稍后将在此 Codelab 中被称为 PROJECT_ID。

  1. 接下来,您需要在 Cloud 控制台中启用结算功能,才能使用 Google Cloud 资源。

运行此 Codelab 应该不会产生太多的费用(如果有费用的话)。请务必按照“清理”部分中的所有说明操作,该部分介绍了如何关停资源,以免产生超出本教程范围的结算费用。Google Cloud 的新用户符合参与 $300 USD 免费试用计划的条件。

启动 Cloud Shell

虽然您可以通过笔记本电脑对 Google Cloud 进行远程操作,但在此 Codelab 中,您将使用 Google Cloud Shell,这是一个在 Google Cloud 中运行的命令行环境。

激活 Cloud Shell

  1. 在 Cloud Console 中,点击激活 Cloud ShellH7JlbhKGHITmsxhQIcLwoe5HXZMhDlYue4K-SPszMxUxDjIeWfOHBfxDHYpmLQTzUmQ7Xx8o6OJUlANnQF0iBuUyfp1RzVad_4nCa0Zz5LtwBlUZFXFCWFrmrWZLqg1MkZz2LdgUDQ。

zlNW0HehB_AFW1qZ4AyebSQUdWm95n7TbnOr7UVm3j9dFcg6oWApJRlC0jnU1Mvb-IQp-trP1Px8xKNwt6o3pP6fyih947sEhOFI4IRF0W7WZk6hFqZDUGXQQXrw21GuMm2ecHrbzQ

如果您以前从未启动过 Cloud Shell,将看到一个中间屏幕(在折叠下面),描述它是什么。如果是这种情况,请点击继续(您将永远不会再看到它)。一次性屏幕如下所示:

kEPbNAo_w5C_pi9QvhFwWwky1cX8hr_xEMGWySNIoMCdi-Djx9AQRqWn-__DmEpC7vKgUtl-feTcv-wBxJ8NwzzAp7mY65-fi2LJo4twUoewT1SUjd6Y3h81RG3rKIkqhoVlFR-G7w

预配和连接到 Cloud Shell 只需花几分钟时间。

pTv5mEKzWMWp5VBrg2eGcuRPv9dLInPToS-mohlrqDASyYGWnZ_SwE-MzOWHe76ZdCSmw0kgWogSJv27lrQE8pvA5OD6P1I47nz8vrAdK7yR1NseZKJvcxAZrPb8wRxoqyTpD-gbhA

这个虚拟机已加载了您需要的所有开发工具。它提供了一个持久的 5GB 主目录,并且在 Google Cloud 中运行,大大增强了网络性能和身份验证。只需使用一个浏览器或 Google Chromebook 即可完成本 Codelab 中的大部分(甚至全部)工作。

在连接到 Cloud Shell 后,您应该会看到自己已通过身份验证,并且相关项目已设置为您的项目 ID:

  1. 在 Cloud Shell 中运行以下命令以确认您已通过身份验证:
gcloud auth list

命令输出

 Credentialed Accounts
ACTIVE  ACCOUNT
*       <my_account>@<my_domain.com>

To set the active account, run:
    $ gcloud config set account `ACCOUNT`
gcloud config list project

命令输出

[core]
project = <PROJECT_ID>

如果不是上述结果,您可以使用以下命令进行设置:

gcloud config set project <PROJECT_ID>

命令输出

Updated property [core/project].

3. 初始化

初始化的 GCP 项目将用于托管所有加入网域的 Windows 虚拟机和托管式 Active Directory 之间的 VPC 网络。

我们将设置几个变量,以便稍后更轻松地编写脚本。

  • 确定域名(例如:ad.yourcompany.com)
  • 确定要为受管网域创建网域控制器的区域
  • 确定虚拟机名称、防火墙规则和网络名称。

目前支持以下地区:

  1. “us-west1”
  2. “us-west2”
  3. “us-central1”
  4. “us-east1”
  5. “us-east4”
  6. “europe-north1”
  7. “europe-west1”
  8. “europe-west4”
  9. “asia-east1”
  10. “asia-southeast1”

设置变量

如果是在 Linux 上运行,请键入:

$ PROJECT_ID="YOUR_PROJECT_ID"
$ VPC="adtutorialvpc"
$ FIREWALL_VPC_RULE="adtutorialvpcrule"
$ REGION="us-west1"
$ ZONE="us-west1-a"
$ DOMAIN_NAME="ad.tutorial"
$ VM_NAME="tutorial1"

如果是在 Windows 上运行,请在 PowerShell 终端中输入:

PS> $PROJECT_ID=YOUR_PROJECT_ID
PS> $VPC=adtutorialvpc
PS> $FIREWALL_VPC_RULE=adtutorialvpcrule
PS> $REGION=us-west1
PS> $ZONE=us-west1-a
PS> $DOMAIN_NAME=ad.tutorial
PS> $VM_NAME=tutorial1

设置当前项目 ID,以便所有后续操作都在正确的云项目上下文中进行:

$ gcloud config set project $PROJECT_ID

启用 Cloud API

如需启用受管 Active Directory,我们需要启用两个 API:DNS 和受管身份。

启用 DNS API:

$ gcloud services enable dns.googleapis.com

启用 Managed Identities API:

$ gcloud services enable managedidentities.googleapis.com

4. 创建虚拟私有云网络

为了在受管理的 Active Directory 域控制器和 Windows 虚拟机之间建立连接,我们需要创建虚拟私有云网络。

创建 VPC 网络

$ gcloud compute networks create $VPC --subnet-mode=auto --bgp-routing-mode=global

创建防火墙规则,以允许 Windows 虚拟机与网域控制器之间建立连接

$ gcloud compute firewall-rules create $FIREWALL_VPC_RULE --network $VPC --allow tcp,udp,icmp --source-ranges=0.0.0.0/0

5. 创建网域控制器

我们设置了将托管式 AD 与项目中的资源(虚拟机)连接起来的 VPC。现在,您可以设置受管理的网域控制器了。

创建 Managed Active Directory

(此操作预计需要大约 1 小时)

$ gcloud active-directory domains create $DOMAIN_NAME --reserved-ip-range=10.0.1.0/24 --region=$REGION --authorized-networks=projects/$PROJECT_ID/global/networks/$VPC

在部署期间或任何时候,您都可以验证网域的配置状态。

支持以下 3 种状态:

正在创建

已开始创建 AD 网域,正在进行中。

准备就绪

AD 网域创建完成,网域已可供使用。

维护中

AD 网域仍然可用,但正在进行更新(升级网域控制器、添加区域等)

验证部署状态:

$ gcloud active-directory domains describe $DOMAIN_NAME

网域创建完成后,您应该会看到此命令报告 READY 状态。

6. 将 Windows 虚拟机添加到受管理的网域

在 Google Compute Engine 上创建新的 Windows 虚拟机

$ gcloud beta compute instances create $VM_NAME --zone=$ZONE --machine-type=n1-standard-2 --subnet=$VPC --network-tier=PREMIUM --scopes=https://www.googleapis.com/auth/cloud-platform --image=windows-server-2016-dc-v20181009 --image-project=windows-cloud --boot-disk-size=50GB --boot-disk-type=pd-standard

创建一条防火墙规则,以允许远程桌面连接到 Windows 虚拟机:

$ gcloud compute firewall-rules create allow-rdp --allow tcp:3389

在连接到虚拟机并将其添加到网域之前,我们需要确定两位用户及其凭据:

  • 虚拟机上的本地管理员 - 这是在虚拟机加入网域之前能够远程连接到虚拟机的必要条件
  • 受管理的网域管理员用户 - 需要此用户才能将虚拟机加入网域,以及执行所有网域管理操作

7. 获取受管网域管理员凭据

确定受管理的网域管理员用户名:

$ gcloud active-directory domains describe $DOMAIN_NAME

此操作将输出管理员用户名。默认情况下,它称为 miadmin。

重置受管网域管理员的密码:

$ gcloud active-directory domains reset-managed-identities-admin-password $DOMAIN_NAME

您必须确认 (Y/N) 该操作,因为该操作会以明文形式显示密码。在终端中。

保存用户和密码,我们稍后会用到。

8. 加入网域

生成 Windows 本地用户和密码

您需要提供 Windows 本地用户和密码,才能远程连接到您创建的虚拟机。您可以使用 gcloud 生成这些文件。

$ gcloud compute reset-windows-password --user=usr1 $VM_NAME

此命令将创建一个名为“usr1”的本地用户并生成其密码

使用 Chrome RDP 连接到 Windows 实例

在新浏览器窗口中打开以下网址:https://console.cloud.google.com/compute/instancesDetail/zones/your-zone/instances/your-vm-name?project=your-project-name

点击 RDP 打开 ChromeRDP:

d0bd7a5329d27723.png

输入本地用户和密码。这样您即可连接到您创建的 Windows 虚拟机。

23fbff0f7c180f62.png

在虚拟机上,使用 PowerShell 打开提升权限的命令提示符:

c5c876d4424217e7.png

在提升权限的 PowerShell 中,输入:

$ add-computer –domainname your-domain -Credential your-domain\miadmin -restart –force

系统会要求您提供受管管理员密码,然后虚拟机会加入您的受管网域并重启。等待 2 分钟,然后继续执行下一步。

此时,您的虚拟机已加入网域,但您无权使用托管网域管理员用户连接到该虚拟机。您需要将受管理的网域管理员用户添加为相应虚拟机的本地管理员。

使用本地管理员用户再次连接到虚拟机(与上述说明相同)。

b2c98b9784dd421e.png

如果出现这种情况,请按照警告说明操作。这是因为我们将虚拟机加入了网域。

尝试使用本地管理员用户再次连接,并打开提升权限的 PowerShell 命令提示符。

添加托管网域管理员用户,使其成为虚拟机上的本地管理员

$ net localgroup administrators /add your-domain-name\miadmin

现在,您可以断开与虚拟机的连接了。

9. Active Directory 工具

虚拟机加入网域后,您可以使用熟悉的 Active Directory 工具来管理用户、群组、计算机和组策略。

使用受管网域管理员的凭据连接到虚拟机(方法与上文所述相同)。打开提升权限的 PowerShell 命令提示符:

$ Install-WindowsFeature -Name "RSAT-AD-Tools" -IncludeAllSubFeature -IncludeManagementTools -Confirm

系统会要求您确认,然后安装 Active Directory 管理工具。

安装完成后,您可以使用 dsa.msc(Active Directory 用户和计算机)和其他熟悉的 Active Directory 工具来管理“客户 OU”下的网域

3e548e3c8f88dbc1.png

10. 恭喜!

恭喜,您已成功在 Google Cloud Platform 上创建新的 Managed Active Directory。

后续步骤

。

11. 清理

您可以删除 Windows 虚拟机和 VPC 网络。

删除 Windows 虚拟机

  • 在 GCP Console 中,前往虚拟机实例页面。
  • 点击要删除的实例旁边的复选框
  • 点击页面顶部的“删除”按钮以删除实例。

删除 VPC 网络

  • 在 GCP 控制台中,前往 VPC 网络页面
  • 选择您创建的 VPC 网络
  • 点击页面顶部的“删除”按钮。