文章段落
AD 帳號登入 GCP 的方法有哪些?其實 AD 帳號資料只要透過 Cloud Identity 與 Google Cloud Directory Sync & Password Sync 就能同步到 GCP,讓 Active Directory 既有使用者不須購買 Google Workspace 帳號就能登入 GCP!想了解確切的執行方式嗎?快來看看以下的超詳盡教學吧。
為何要將 AD 帳號資料轉至 GCP?
許多使用微軟 Active Directory Domain Services(AD)作為內部身份認證系統的公司,在使用 GCP 進行雲端化部署作業的過程中,都會遇到一個同樣的問題:「如果想維持 AD 運作且不建立新的 Google Workspace 帳戶來避免複雜的管理問題,該怎麼做呢?」
這時 Cloud Identity 與 Google Cloud Directory Sync(GCDS)的組合就派上用場啦!Cloud Identity 讓非 Google Workspace 的使用者能進行免費的身份認證與管理服務,而 GCDS 則能將 AD 或 LDAP 伺服器的帳戶同步到您的Google帳戶中。
除了透過 GCDS 同步 AD 中的帳戶外,要讓 Cloud Identity 認證成功還需要讓用戶的密碼也同步才行,這邊可以利用 Google Cloud Password Sync(GCPS)來將 AD 中的密碼同步。這樣一來,我們就能輕易地透過現在使用中的公司信箱進行 GCP 帳戶認證並指派權限了!
AD 服務環境建制
在本次的 Demo 中,我們將透過 Google Compute Engine(GCE)創建一個 AD 測試環境執行帳戶管理系統的模擬,並逐步帶大家從創建一個 Windows server 、安裝並設定 AD 服務,到完成與 Google Cloud Identity 資料同步。
請先準備以下資源:
1. 一個用於 A Record 的 GCE External IP 的有效網域名稱。
2. 一個 GCP 帳戶(用來操作以下實作內容)。
在 GCP 上建立 Windows Server
我們先從創立一個 Windows Server VM 開始吧。首先打開 GCP Console,進入 Compute Engine 介面,還不會在 GCP 中設定 VM 的朋友可以參考《【GCP教學】第一次開 Google VM 就上手 – Compute Engine 操作簡介》。在輸入完基本 VM 內容之後,這裡有四個設定重點需要注意,讀者可參考進行設置:
重點注意事項:
1. 基於 Demo 用途,Machine type 可以選擇容量較小的機型,但考量到使用 Windows Server 與安裝 AD 的消耗,這裡選用 n1-standard-2,使運算資源與存儲資源能良好運作,讀者可自行選擇適合的機型。
2. 在本 Demo 中,我們選用 Windows Server 2016 Datacenter 版本的作業系統,以取得方便接下來操作的圖像化介面。
3. 由於我們之後會於下篇文章帶領大家使用不同的方法同步身份驗證,需要使用到 SSL 加密憑證,所以這裡可以先把防火牆規則 Allow HTTPS traffic 打勾。
4. 最後,考量到避免操作過程中有VM暫停或需重新啟動產生 External IP Address 重新分配的狀況,這裡建議大家於 Networking 創建一個 Static IP 來維持固定的 IP,並於讀者的網域註冊平台新增一個 A Record 來指向這個 IP。
透過 Remote Desktop 進入 Windows Server
接續上步驟完成 VM 的設定後,GCP 即為我們創建 Windows Server VM 並顯示於 Instance 列表上,這時我們可以點選右側 RDP 連線方式旁的向下箭頭來開啟下拉選單,並點擊 Set windows password 來創建登入用戶與密碼,接著按下 Download the RDP file 來下載 Remote Desktop 的連結檔。
我們可以透過 Microsoft Remote Desktop 來啟動連結,並輸入上一步驟創建的用戶帳號及密碼來遠端登入 VM。尚未安裝Microsoft Remote Desktop的朋友可於App Store( Mac 用戶)、網頁( PC 用戶),或是參考這篇文章( Linux 用戶)進行下載。
透過 Server Manager 安裝 Active Directory Domain Services
順利進行遠端登入後,預設會為我們打開 Server Manager Dashboard 介面,我們可以在下方的 ROLES AND SERVER GROUPS 區域看到目前僅有 File and Storage Services 在進行運作。我們可以透過 Quick start 介面上的 Add roles and features 開啟安裝選單來新增服務。
前三個步驟我們都可以直接按下下一步鍵快速設定,而後於 Server Roles 分頁勾選 Active Directory Domain Services,並於彈出視窗按下 Add Features 鍵。接著一路按下一步進行安裝即可。在經歷過一小段時間的等待後,我們就可以在 Dashboard 介面看到 AD DS 的服務啟動了。
設置 Promote Domain Controller 與 DNS 服務
在安裝完基本的 AD 服務後,我們接著需要把這臺主機提升為 Domain Controller 來作為用戶管理中心,在這個設置過程中,我們會將先前用以指向這台主機 IP 的網域名稱作為 AD 的根目錄,進而建立一個內部的 DNS 伺服器來管理帳戶路徑,最後將當前主機的管理帳戶提升為 Domain Controller 的管理帳戶(這裡需要提前為主機 Administrator 帳戶設置一組密碼,不然後續會出現錯誤提示,大家可參考這篇文章進行設置),設置步驟如下:
Domain Controller 設置步驟:
1. 於 Server Manager 介面點選左側 AD DS 標籤。
2. 於上方 Warning 警示條點選 More… 連結。
3. 於 Action 欄位點選 Promote this server to a domain controller 連結。
4. 於 Deployment Configuration 選擇 Add a new forest,並於 Root domain name 填入準備的網域名稱。
5. 設置恢復模式(DSRM)所需要的密碼。
6. 一路向下點選下一步進行安裝即可。
7. 可以看到服務清單出現 DNS 服務即代表設置完成。
同步 Active Directory 與 Cloud Identity
上面的步驟帶領大家創建了一個基礎的 AD 伺服器,但到這裡其實都還只是在建立用來測試的環境而已。接下來才是我們今天的重頭戲,透過 Google 研發的 GCDS 與 GCPS 工具,將 AD 所管理的帳戶資料同步至 Cloud Identity 中。以下就帶領大家逐步解析操作流程。
創建 Cloud Identity 私人網域管理帳戶
我們要能同步 AD 資料進入 Cloud Identity,最重要的動作是什麼呢?首先當然就是要有一個 Cloud Identity 的組織帳戶啦(廢話)!我們可以開啟無痕視窗並進入 Cloud Identity 的註冊頁面註冊免費的組織管理帳戶。在建立帳戶時,我們需要使用到先前那個設定於 AD 使用的網域作為組織網域,並驗證網域的所有權。以下列出幾個重點事項:
Cloud Identity 註冊重點:
1. 設定組織名稱並選擇 2-9 位員工。
2. 於 Business domain name 填入於 AD 使用之網域名稱。
3. 設定admin帳戶名稱、信箱與密碼。
4. 透過 CName 設置驗證網域所有權,這裡使用 GoDaddy 網域商有自動驗證的功能。
5. 完成帳戶設置,進入 Google Admin 控制台。
創建同步帳戶使用者並開通權限
在上面我們完成了 Cloud Identity 的帳戶設置,代表這時候我們已經擁有屬於自己命名網域的 Google Workspace 組織帳戶,可以用來操作 GCP 相關的免費內容了!接下來我們要創建一個用來管理 AD 同步權限的管理帳戶,讓以後從 AD 同步過來的帳戶都會以這個管理權限進行新用戶的建立。操作步驟如下:
AD 同步權限帳戶建立步驟:
1. 從左側 Directory 標籤下拉選擇 Users 標籤開啟用戶管理介面。
2. 點選上方 Add new user 開啟新增用戶選單。
3. 填寫相關用戶資料,並設定密碼,而後完成建立用戶作業。
4. 回到 Users 管理界面點擊新建立的用戶名稱連結,開啟用戶設定頁面。
5. 於用戶設定頁面右側下拉至 Admin roles and privileges 點選 ASSIGN ROLES。
6. 點選 Super admin 的 Assigned state 拉桿來打開權限。
7. 點選 SAVE 鈕來完成權限設定。
安裝並設置 GCDS 以同步帳戶資訊
在完成了 Cloud Identity 的帳戶與權限設定後就是萬事俱備只缺東風,我們只剩下把 AD 的帳戶資訊同步過去就行了。這裡我們要來使用 GCDS 將 AD 目錄內的用戶資料同步至 Cloud Identity,而所謂同步就是要將 AD 內的資料讀取並傳送至 Cloud Identity 中,而我們要達成這個目的,就必須同時擁有 AD 帳戶的讀取權限與 Cloud Identity 的帳戶建立、修改權限。前者是我們前面建立的 Domain Controller 管理帳戶,後者則是我們於上一步驟建立的 Cloud Identity Super Admin 帳戶。相關的操作如下:
GCDS 安裝與設定步驟 Part-1:
1. 於 AD 主機下載 GCDS 安裝檔。
2. 安裝 GCDS 套件,不需要額外設定。
3. 搜尋 Configuration Manager 點擊開啟 GCDS 設定介面。
4. 於 Primary Domain Name 填入您的組織網域名稱。
5. 按下 Authorize Now 鍵,於彈出視窗登入前面設定的 Super Admin 帳戶進行權限授權。
6. 點選左側 LDAP Configuration 標籤頁。
7. Server Type 選擇 Ms Active Directory。
8. Connection Type 選擇 Standard LDAP。
9. Host Name 填入 localhost。
10. Port 填入 3268。
11. Authentication Type 選擇 Simple。
12. Authorized User 填入 Domain Controller 管理帳戶與密碼。
13. 這時可以點選下方的 Test connection 鍵測試是否與 Cloud Identity 連線成功。
14. 於 General Settings 標籤頁確認勾選 『User Account』。
GCDS 安裝與設定步驟 Part-2:
15. 切換至 User Account 標籤頁。
16. Email Address Attribute 填入 mail。
17. Unique Identifier Attribute 填入 objectGUID。
18. 從上方標籤頁切換至 Additional User Attributes。
19. Given Name Attribute(s) 填入 givenName。
20. Family Name Attribute(s) 填入 sn。
21. 切換至 Sync 標籤頁點選 Sync & apply changes,完成帳戶同步。
22. 點選左上角 File > Save As 來將設定進行儲存,於下次開啟 GCDS 時匯入使用。
到這裡 GCDS 的同步設定就算完成了,特別需要注意的一點是,每次重新開啟 Configuration Manager 時,設定都會還原成初始狀態,需要手動匯入前面儲存的設定檔來進行同步作業。而每一次的帳戶新增及調整,都需要手動進行 Sync & apply changes 的動作,我們可以透過 CLI 指令進行同步,從而創建排程來定時同步帳戶資訊。
下面附上用於同步的指令碼,使用時記得於 GCDS 安裝目錄中執行(sync-cmd.exe執行檔位置),並將 <CONFIG FILE PATH> 替換成存放 GCDS 設定檔的路徑。這裡 -a 對應 apply,也就是確認同步至 Cloud Identity 的意思,-c 對應 config 也就是設定檔的指定。所以如果在不確定同步結果的情況下,可以直接使用 -c 而不使用 -a 來做同步測試,確認結果符合預期後再搭配 -a 作同步的動作。附上說明文件供大家參考。
sync-cmd -a -c <CONFIG FILE PATH>
創建測試用 AD 帳戶
接下來我們來試著創建一個用戶帳號,並試著用 GCDS 來同步帳戶資訊。首先我們從安裝程式搜尋 Active Directory Users and Computers,開啟後,從左側展開網域名稱並且於 Users 目錄按下右鍵,點選 New > User 來開啟創建用戶視窗。操作如下:
創建 AD 用戶步驟:
1. 填寫用戶名稱
2. User logon name填入於 AD 使用之帳號名稱(在這裡的並不是用於同步的名稱)。
3. 輸入密碼,並取消勾選 User must change password at next logon。
4. 確認資訊以完成用戶創建。
5. 回到 Users 目錄找到新建立的用戶,,點擊右鍵選擇 Properties 開啟內容視窗。
6. 於 General 標籤的 E-mail 輸入同樣的帳戶名稱並使用您的網域名稱。(這裡的 Email 就是於 Cloud Identity 創建的用戶帳號名稱。)
7. 回到 Configuration Manager 點擊 Sync & apply changes。
8. 使用剛剛創建的 AD 帳號進行 Google Account 登入。
我們這時可以透過 Cloud Workspace Admin Console 來看帳戶是否同步成功,我們可以看到新創的用戶出現在 Users 介面。再使用新建用戶登入 Google Account ,會看到畫面顯示帳號是有辨識到的,但在輸入密碼時會發現出現密碼錯誤提示訊息。這是因為目前我們只有透過 GCDS 同步帳戶資訊而已,密碼還沒同步過去呢!
安裝並設置 GCPS 以同步帳戶密碼
終於到了最後一個步驟,經過前面複雜的設定後,我們現在只要在最後進行簡單的安裝與設定,就可以讓 AD 與 Cloud Identity 進行完整的同步了!首先我們要於 AD 主機下載 GCPS 安裝檔,並進行安裝作業。完成後,我們從安裝程式搜尋 Password Sync 並點擊打開,進行最後的三個設置步驟,詳述如下:
GCPS 設定步驟:
1. 於 Step 1 將 Cloud Identity 的 Super User 帳戶填入 Admin Email Address 中。
2. 選擇 3-legged OAuth 並點擊 Authorize Now 進行帳戶認證。
3. 於 Step 2 的 Authorization access method 選擇 User Credentials ,並填入 Domain Controller 的管理帳戶與密碼。
4. Base DN 保持預設,Mail Attribute 填入 mail。
5. 於 Step 3 確認服務正常運行,並結束設置。
6. 重新回到 Active Directory Users and Computers 選擇新建立的帳戶,並點擊右鍵重設密碼。
最後我們之所以要重新設定新建立帳戶的密碼,是因為與 GCDS 手動服務方式不同,GCPS 是以事件驅動的方式來同步 AD 帳戶的密碼。每當我們創建或修改用戶密碼時,GCPS 便會為我們自動的同步密碼至 Cloud Identity 帳戶中。在這裡特別要注意一點,不管是 GCDS 或是 GCPS 的服務皆是單向的,我們不用擔心於 Cloud Identity 中的任何調整會影響到既有的 AD 服務。
以上就是透過 GCDS 與 GCPS 將 AD 帳戶資訊同步至 Cloud Identity 的教學。在這裡我們發現這個方法是讓 GCPS 將用戶的密碼複製到 Cloud Identity 中,但如果不想將資料複製過去是否有其他方法呢?其實是有的!所以下一篇我們就要帶大家使用外部身分認證來進行登入。大家對上述文章內容如有任何問題歡迎免費報名 11/19(五)的線上研討會, 有其他疑問或需求也歡迎聯絡我們喔!
▋延伸閱讀:
・AD 帳號登入 GCP 方法攻略!運用 ADFS 作為 GCP 外部身分認證
・【GCP教學】第一次開 Google VM 就上手 – Compute Engine 操作簡介
・GCP上如何建立Organization ? 透過Cloud Identity Free 幫你實現
・什麼是 Cloud IAM