1. 總覽
Managed Active Directory 是在 Google Cloud 上託管的高可用性 Microsoft Active Directory 網域即服務。
在本教學課程中,您將設定新的受管理 Active Directory、建立新的 Windows VM,並將其加入新網域。您會瞭解如何使用熟悉的管理工具設定網路、安全性及管理網域。
課程內容
- 如何在 Google Cloud 中建立受管理 Active Directory
- 如何將 Windows VM 加入網域
- 如何管理 Managed Active Directory 中的使用者和電腦
事前準備:
您會如何使用本教學課程?
你對 Google Cloud Platform 的使用體驗滿意嗎?
2. 設定和需求條件
自修實驗室環境設定
請記住專案 ID,這是所有 Google Cloud 專案中不重複的名稱 (上述名稱已遭占用,因此不適用於您,抱歉!)。本程式碼研究室稍後會將其稱為 PROJECT_ID。
- 接著,您必須在 Cloud 控制台中啟用帳單,才能使用 Google Cloud 資源。
完成本程式碼研究室的費用應該不高,甚至完全免費。請務必按照「清除」部分的指示操作,瞭解如何停用資源,避免在本教學課程結束後繼續產生帳單費用。Google Cloud 新使用者可參加價值$300 美元的免費試用計畫。
啟動 Cloud Shell
雖然您可以透過筆電遠端操作 Google Cloud,但在本程式碼研究室中,您會使用 Google Cloud Shell,這是 Google Cloud 中執行的指令列環境。
啟用 Cloud Shell
- 在 Cloud 控制台,點選「啟用 Cloud Shell」 圖示
。
如果您是首次啟動 Cloud Shell,系統會顯示中繼畫面 (摺疊式螢幕下方),說明這個指令列環境。點選「繼續」後,這則訊息日後就不會再出現。以下是這個初次畫面的樣子:
佈建並連至 Cloud Shell 預計只需要幾分鐘。
這部虛擬機器搭載各種您需要的開發工具,並提供永久的 5GB 主目錄,而且可在 Google Cloud 運作,大幅提升網路效能並強化驗證功能。本程式碼研究室幾乎所有工作都可在瀏覽器或 Chromebook 上完成。
連線至 Cloud Shell 後,您應會發現自己通過驗證,且專案已設為您的專案 ID。
- 在 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. Initialize
初始化的 GCP 專案會用於代管所有已加入網域的 Windows VM 和受管理 Active Directory 之間的虛擬私有雲網路。
我們會設定幾個變數,方便稍後編寫指令碼。
- 決定網域名稱 (例如:ad.yourcompany.com)
- 決定要在哪個區域為代管網域建立網域控制站
- 決定 VM 名稱、防火牆規則和網路名稱。
目前支援的地區如下:
- 「us-west1」
- 「us-west2」
- 「us-central1」
- 「us-east1」
- 「us-east4」
- 「europe-north1」
- 「europe-west1」
- 「europe-west4」
- 「asia-east1」
- 「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
如要啟用 Managed Active Directory,我們需要啟用 DNS 和 Managed Identities 這兩項 API。
啟用 DNS API:
$ gcloud services enable dns.googleapis.com
啟用代管的身分識別 API:
$ gcloud services enable managedidentities.googleapis.com
4. 建立虛擬私有雲網路
如要在代管的 Active Directory 網域控制站和 Windows VM 之間建立連線,我們需要建立虛擬私有雲網路。
建立虛擬私有雲網路
$ gcloud compute networks create $VPC --subnet-mode=auto --bgp-routing-mode=global
建立防火牆規則,允許 Windows VM 與網域控制站之間的連線
$ gcloud compute firewall-rules create $FIREWALL_VPC_RULE --network $VPC --allow tcp,udp,icmp --source-ranges=0.0.0.0/0
5. 建立網域控制站
我們設定的虛擬私有雲會將受管理 AD 與專案中的資源 (VM) 連接起來。現在請設定受管理網域控制站。
建立 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 VM 新增至代管網域
在 Google Compute Engine 上建立新的 Windows VM
$ 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 VM:
$ gcloud compute firewall-rules create allow-rdp --allow tcp:3389
連線至 VM 並將其加入網域前,我們需要判斷兩位使用者及其憑證:
- VM 的本機管理員 - 必須具備這項權限,才能在 VM 加入網域前遠端連線至 VM
- 受管理網域管理員使用者 - 這是將 VM 加入網域,以及執行所有網域管理作業的必要條件
7. 取得代管網域管理員憑證
找出代管網域管理員的使用者名稱:
$ gcloud active-directory domains describe $DOMAIN_NAME
這項作業會輸出管理員使用者名稱。預設名稱為 miadmin。
重設受管理網域管理員的密碼:
$ gcloud active-directory domains reset-managed-identities-admin-password $DOMAIN_NAME
您必須確認 (Y/N) 這項作業,因為系統會以純文字顯示密碼。在終端機中。
儲存使用者名稱和密碼,稍後會用到。
8. 加入網域
產生 Windows 本機使用者和密碼
如要遠端連線至您建立的 VM,必須提供 Windows 本機使用者名稱和密碼。您可以使用 gcloud 產生這些檔案。
$ gcloud compute reset-windows-password --user=usr1 $VM_NAME
這會建立名為「usr1」的本機使用者,並產生密碼
使用 Chrome 遠端桌面連線至 Windows 執行個體
開啟新的瀏覽器視窗,然後前往:https://console.cloud.google.com/compute/instancesDetail/zones/your-zone/instances/your-vm-name?project=your-project-name
按一下「RDP」開啟 ChromeRDP:

輸入本機使用者名稱和密碼。這樣就能連線至您建立的 Windows VM。

在 VM 中,使用 Powershell 開啟提升權限的命令提示字元:

在已啟用進階權限的 Powershell 中輸入:
$ add-computer –domainname your-domain -Credential your-domain\miadmin -restart –force
系統會要求您提供受管理管理員密碼,然後 VM 會加入受管理網域並重新啟動。請等待 2 分鐘,再進行下一個步驟。
此時 VM 已加入網域,但您沒有權限使用受管理網域管理員使用者連線至 VM。您必須將受管理網域管理員使用者新增為該 VM 的本機管理員。
使用本機管理員使用者再次連線至 VM (與上述操作相同)。

如有,請按照警告訊息的指示操作。這是因為我們已將 VM 加入網域。
請使用本機管理員使用者再次嘗試連線,並開啟已啟用進階權限的 PowerShell 命令提示字元。
將受管理網域管理員使用者新增為 VM 的本機管理員
$ net localgroup administrators /add your-domain-name\miadmin
現在可以中斷與 VM 的連線。
9. Active Directory 工具
VM 加入網域後,您可以使用熟悉的 Active Directory 工具管理使用者、群組、電腦和群組原則。
使用受管理網域管理員的憑證連線至 VM (方法與上述相同)。開啟提升權限的 Powershell 命令提示字元:
$ Install-WindowsFeature -Name "RSAT-AD-Tools" -IncludeAllSubFeature -IncludeManagementTools -Confirm
系統會要求確認,然後安裝 Active Directory 管理工具。
安裝完成後,您可以使用 dsa.msc (Active Directory 使用者和電腦) 和其他熟悉的 Active Directory 工具,管理「Customer OU」下的網域。

10. 恭喜!
恭喜!您已在 Google Cloud Platform 成功建立新的 Managed Active Directory。
後續步驟
- Managed Active Directory 說明文件
- 進一步瞭解如何在 GCP 上使用 Windows VM。
- 進一步瞭解如何連線至 Windows VM。
- 進一步瞭解如何在 GCP 上部署容錯 Active Directory
- 進一步瞭解 Google Cloud Platform 上的 .NET。
。
11. 清除
您可以刪除 Windows VM 和 VPC 網路。