使用安全主體的檔案共用通訊協定 (例如 SMB (CIFS)、NFSv3 (含擴充群組) 和 NFSv4) 會依賴外部目錄服務提供使用者身分資訊。NetApp Volumes 依賴 Microsoft Active Directory 提供目錄服務。Active Directory 提供 LDAP 伺服器等服務,可查詢物件 (例如使用者、群組、機器帳戶)、解析主機名稱的 DNS 伺服器,以及用於驗證的 Kerberos 伺服器。
詳情請參閱「在 Google Cloud 上執行 Active Directory 的最佳做法」。
NetApp Volumes 不支援 Google Cloud 的 Managed Microsoft Active Directory。
用途
NetApp Volumes 會在下列各節的情況下使用 Active Directory。
SMB 網域服務
Active Directory 是 SMB 的中央網域服務,SMB 用於使用者和群組的驗證和身分查閱。NetApp Volumes 會以成員身分加入網域,且不支援工作群組模式下的 SMB。
NFSv3 擴充群組支援
對於支援擴充群組的 NFSv3,Active Directory 會提供 LDAP 伺服器,用於查詢使用者、群組或機器帳戶等物件。具體來說,使用者 ID 和群組 ID 查詢作業需要符合 RFC2307bis 的 LDAP 伺服器。在建立集區時,系統會為儲存空間集區啟用 LDAP 支援。
擴充群組支援功能會忽略 NFS 用戶端在 NFS 呼叫中傳送的所有群組 ID;而是會擷取要求的使用者 ID,並從 LDAP 伺服器查詢指定使用者 ID 的所有群組 ID,以進行檔案權限檢查。
詳情請參閱「管理 LDAP RFC2307bis POSIX 屬性」。
NFSv4.x 安全性主體到使用者 ID 和群組 ID 的對應
對於 NFSv4.x,Active Directory 會用於將安全主體對應至使用者 ID 和群組 ID。NFSv4 採用以主體為基礎的驗證模型。在以主體為基礎的驗證中,使用者是由安全主體識別,形式為 user@dns_domain
(請參閱 https://www.rfc-editor.org/rfc/rfc7530.html#section-19),而非使用者 ID 和群組 ID。透過 NFSv4.x 通訊協定存取磁碟區時,如要將安全主體對應至使用者 ID 和群組 ID,NetApp Volumes 必須使用符合 RFC2307bis 的 LDAP 伺服器。系統僅支援 Active Directory LDAP 伺服器。建立集區時,系統會為儲存空間集區啟用 LDAP 支援。
如要使用安全主體,NFS 用戶端和伺服器必須連線至相同的 LDAP 來源,且用戶端必須設定 idmapd.conf 檔案。如要進一步瞭解如何設定 idmapd.conf 檔案,請參閱「Ubuntu Manpage: idmapd.conf - configuration file for libnfsidmap」。
Active Directory 網域名稱用於 dns_domain。使用者是 Active Directory 使用者的名稱。設定 LDAP POSIX 屬性時,請使用這些值。
如要使用 NFSv4.1,但不想設定 ID 對應,只想使用類似 NFSv3 的使用者 ID 和群組 ID,可以忽略安全主體,改用數字 ID。NetApp Volumes 支援數字 ID,且目前的 NFS 用戶端預設會使用數字 ID (如果未設定 ID 對應)。
搭配 Kerberos 的 NFSv4.x
如果您使用 Kerberos,就必須將 Active Directory 做為 LDAP 伺服器,以進行安全主體查詢。Kerberos 主體會做為安全 ID。Active Directory 也會做為 Kerberos 金鑰分配中心 (KDC)。如要啟用這項功能,您必須將含有 Kerberos 設定的 Active Directory 政策附加至集區,並在建立集區時啟用儲存空間集區的 LDAP 支援功能。
詳情請參閱「建立儲存空間集區」。
Active Directory LDAP 存取權
在 NFS 用例中,Active Directory 會做為 LDAP 伺服器。NetApp Volumes 預期會使用 RFC2307bis 架構的 ID 資料。Active Directory 已提供這個結構定義,但您必須確保填入使用者和群組的必要屬性。
NetApp Volumes 會使用 Active Directory 政策提供的憑證,透過 LDAP 簽署繫結 LDAP。
如果找不到使用者或群組,系統會拒絕存取。
屬性快取
NetApp Volumes 會快取 LDAP 查詢結果。下表說明 LDAP 快取的存留時間 (TTL) 設定。如果快取因您嘗試修正的設定錯誤而保留無效資料,您必須等到快取重新整理後,系統才會偵測到 Active Directory 中的變更。否則,NFS 伺服器會繼續使用舊資料驗證存取權,這可能會導致用戶端顯示權限遭拒訊息。TTL 期間過後,項目就會過期,避免過時的項目持續存在。系統會保留找不到的查詢要求一分鐘 TTL,以避免發生效能問題。
快取 | 預設逾時 |
---|---|
群組成員清單 | 24 小時存留時間 |
Unix 群組 (GID) | 24 小時存留時間,1 分鐘負存留時間 |
Unix 使用者 (UID) | 24 小時存留時間,1 分鐘負存留時間 |
Active Directory 網域控制站拓撲
成功連線至 Active Directory 網域控制器後,您可以使用下列檔案共用通訊協定:
- SMB
- 使用擴充群組的 NFSv3
- NFSv4
以下各節說明各種可能的拓樸。圖表僅顯示 NetApp Volumes 使用的網域控制站。只有在必要時,才會顯示相同網域的其他網域控制站。
Microsoft 建議至少部署兩個網域控制站 (DC),以確保備援和可用性。
與 NetApp Volumes 磁碟區位於相同區域的 Active Directory 網域控制器
下圖顯示最簡單的部署模式,也就是與 NetApp Volumes 磁碟區位於相同區域的網域控制站。
使用 AD 站台的跨多個區域 Active Directory 網域控制器
如果您在多個區域使用 NetApp Volumes 磁碟區,建議您在每個區域至少配置一個網域控制站。雖然服務會嘗試自動選擇要使用的最佳 DC,但建議您使用 AD 網站管理 DC 選項。
內部部署網路中的 Active Directory 網域控制站
系統支援透過 VPN 使用內部部署網域控制器,但可能會對使用者驗證和檔案存取效能造成負面影響。請務必不要在網路路徑中新增其他虛擬私有雲對等互連躍點。
地端 DC 的注意事項
與地端 DC 的連線會使用 TCP 和 IP。由於下列限制,這些連線通常會失敗:
虛擬私有雲對等互連:NetApp Volumes 只能連線至儲存集區虛擬私有雲上的 DC,或透過 VPN 連線至該虛擬私有雲。NetApp Volumes 無法連線至任何其他 VPC 中的 DC,包括與連線至儲存集區的 VPC 對等互連的 DC。
防火牆:您必須允許 NetApp Volumes 聯絡您的 DC。請參閱 Active Directory 存取權的防火牆規則。
位於不同 VPC 網路的 Active Directory 網域控制站
您無法將網域控制站放在其他虛擬私有雲中,因為 Google Cloud 虛擬私有雲對等互連不允許遞移轉送。或者,您也可以將 NetApp Volumes 附加至託管 Active Directory 網域控制器的共用 VPC 網路。如果將 NetApp Volumes 連接至共用虛擬私有雲網路,從架構來看,這個情境會變成前幾節中的其中一個情境。
使用 AD 網站管理 DC 選項
為盡可能貼近實際的資料中心位置、辦公室和網路拓撲,請將網域控制器放在與磁碟區相同的區域,並為該區域定義 Active Directory 網站。
將 NetApp Volumes 連線至網域時,服務會使用 DNS 探索功能尋找合適的網域控制站進行通訊。服務會根據探索結果維護有效 DC 的連線清單,並使用延遲時間最短的 DC。
在 NetApp Volumes 的 Active Directory 設定中指定網站時,您可以將 DC 清單限制為 AD 網站中指定的 DC。
如果自動選取 DC 失敗,使用 AD 網站有助於解決問題:
在 NetApp Volumes 區域中部署至少一個網域控制器,並將其連線至現有 Active Directory。
為 Google Cloud 區域建立 Active Directory 網站,並將適當的網域控制器放入該網站。
設定 Active Directory 連線時,請使用 Active Directory 網站。
如要手動驗證服務可用的潛在 DC 清單,請參閱「如何識別 NetApp Volumes 使用的 Active Directory 網域控制器」
詳情請參閱「Active Directory:設計考量事項和最佳做法」。