檔案系統驗證與授權

已完成

瞭解工作負載的整體效能和流量特性之後,您必須考慮安全性層面。 您的數據可能十分敏感,例如病患放射影像。 基於許多原因,您可能會想要限制對數據的存取。 您可能想要為每位研究人員提供一個「主目錄」,以便從中載入數據並進行 HPC 分析和模擬。

當您選取雲端 HPC 記憶體時,請留意其如何與目前的安全性狀態整合。 瞭解文件系統用來驗證和授權檔案存取的方法。 請注意,強制執行是本地、遠端,或兩者兼有,並且驗證和授權是從哪裡獲得的。 如果您使用遠端共享檔案系統,則必須瞭解如何使用標準 NAS 做法來控制存取。 最後,如果您為使用者提供唯一的工作空間(主目錄),請瞭解如何配置該空間。

在此單元中,我們會檢查安全性考慮,以及它們如何影響您的記憶體架構。

驗證和授權概觀

驗證:當您提供文件系統的存取權時,您必須使用某些受信任的認證來驗證要求者。 許多用戶端/伺服器架構都會針對這類認證發出挑戰,例如使用者或計算機帳戶。 接著會檢查這些認證,以確保它們對環境有效。 驗證之後,要求者(用戶或計算機/進程)就會獲得授權。 您環境所需的存取通訊協定可能會限制解決方案的驗證。 例如,如果您有 Windows 環境,您很可能使用伺服器消息塊 (SMB) 作為網路檔案存取通訊協定。 SMB 驗證需求與 NFS 需求不同。

授權:允許使用者或計算機存取環境是一回事,但存取 層級 為何? 例如,使用者 A 可能能夠讀取檔案系統上的檔案,而使用者 B 或許能夠讀取和寫入檔案。 授權可以比讀取和寫入更深入。 例如,使用者 C 可能能夠修改檔案,但無法在指定的目錄中建立新的檔案。

授權層級通常以指定檔案 的許可權 表示。 這些包括讀取、寫入及執行。

使用者和群組:當您擁有大量使用者時,授與一組資源的存取權可能會變得麻煩。 如果您想要將不同層級的存取權授與多個使用者集,也會變得很複雜。 接著,使用 群組 會變得必要。 您可以將使用者指派給特定群組或一組群組。 然後,您可以根據該群組識別授權存取資源。

驗證和授權綜合起來,代表您打算授予用戶層級、群組層級和電腦層級對資源的存取權,在此情況下,特別是對檔案的存取。

Linux OS 會將 使用者標識碼 (UID) 指派給個別用戶帳戶。 UID 是整數。 這是系統用來判斷哪些系統資源,包括檔案和資料夾,特定使用者可以存取。

Linux OS 會使用 群組標識碼 (GID) 進行群組指派。 使用者與單一主要群組相關聯。 用戶幾乎可以與任何數目的補充群組指派相關聯,在大多數新式 Linux 系統上最多可以有 65,536 個。

本機和遠端驗證和授權

本機認證和授權是指本地使用者或電腦帳戶對該電腦本地文件系統的存取。 例如,我可以建立用戶帳戶,然後授與本機文件系統上 /data 目錄的存取權。 該使用者帳戶是本地帳戶,對目錄的任何存取授權也是本地的。 我也可以使用群組指派來控制存取。 使用者和群組授權的組合可為使用者提供檔案或資料夾 的有效 許可權。

如果您檢視目錄命令的 ls -al 一般輸出,您可能會看到如下的內容:

drwxr-xr-x  4 root root 4096 Dec 31 19:43.
drwxr-xr-x 13 root root 4096 Dec 11 05:53 ..
drwxr-xr-x  6 root root 4096 Dec 31 19:43 microsoft
drwxr-xr-x  8 root root 4096 Dec 31 19:43 omi
-rw-r--r--  1 root root    0 Jan 21 15:10 test.txt

字元 drwxr-xr-x 代表使用者和群組對檔案或目錄擁有的授權存取層級。 d表示此項目是目錄。 (如果第一個值為 -,則條目為檔案條目。其餘字元代表讀取(r)、寫入(w)和執行(x)的許可權群組授權。) 前三個值表示檔案或目錄的「擁有者」。 第二個三個值表示指派給檔案或目錄的群組許可權。 最後三個值表示允許系統上所有其他用戶的許可權。

以下為範例:

-rw-r--r-- 1 root root 0 Jan 21 15:10 test.txt

  • - 表示此資源是檔案。
  • rw- 表示擁有者具有讀取和寫入許可權。
  • r-- 表示指派的群組只有讀取許可權。
  • r-- 表示其餘使用者只有讀取許可權。
  • 另請注意,擁有使用者與指派的群組會透過兩個 root 資料行來表示。

本機電腦上已驗證的使用者會由 UID 與主要和補充的 GID 來表示。 這些值是計算機的本機值。 如果您有五部甚至 50 部計算機,會發生什麼事? 您必須在每一部電腦上複寫 UID 與 GID 指派。 使用者管理的複雜度層級也會增加,因為不小心將檔案或資料夾存取權授與錯誤的使用者的可能性也會增加。

透過 NFS 的遠端檔案存取

如果您以單一使用者/群組指派的形式執行一切,則本機 UID 與 GID 指派均可正常運作。 如果多個項目關係人正在取用您執行的 HPC 叢集,而且每個項目關係人都有敏感數據和數據的多個取用者,該怎麼辦?

在檔案伺服器或 NAS 環境中尋找資料可允許遠端存取資料。 此方法可協助降低本機磁碟成本、確保所有用戶的數據都是最新的,並減少整體使用者和群組管理。

此圖顯示計算、記憶體和目錄服務之間的關聯性。

如果您集中找到檔案,您可能需要包含使用者和群組設定的 目錄服務 。 目錄服務,例如 Active Directory 或輕量型目錄存取通訊協定(LDAP),可讓您建立所有遠端系統接著可以使用的使用者/群組對應。 您可以將遠端電腦和 NAS 環境設定為目錄服務的用戶端。 您也可以使用 Windows 使用者帳戶與特定 UID 和 GID 組合之間的 Active Directory 對應。

從遠端存取檔案的一般方法是使用 NFS 或 SMB 之類的網路檔案系統,或是 Lustre 之類的平行文件系統。 這些通訊協定會定義用來存取數據的用戶端和伺服器 API。 我們已在「文件系統效能考慮」單元中討論 NFS 作業。 我們將在下一個單元中詳盡地討論 NFS 的使用。

備註

當您使用 NFS 時,不需要目錄服務。 但是,如果不使用任何工具來管理 UID 和 GID,當您擁有大量用戶和系統時,管理仍然會很困難。

主目錄

假設您有一個 HPC 環境,讓多位研究人員使用,但他們的各自資料必須分開保存。 據說這些研究人員不斷地在修改和補充自己的數據。 為研究人員提供自己的主目錄是隔離其數據的有效方式。

每個研究人員都會處理主目錄內的許可權,因此,如果想要的話,他們可以共同作業。

此環境中的主要挑戰之一是儲存空間。 假設您有 500 TB 的 NAS 環境。 是什麼阻止了一位研究人員使用這一切?

您可以將 配額 指派給個別目錄。 配額會反映允許的數據量上限。 達到配額之後,系統將會拒絕進一步的數據接收,或警告系統管理員研究人員已超過限制。 例如,如果您有 NAS 系統,您可以將配額指派給每個研究人員。 如果你隔離研究人員對主目錄的存取權,很容易設定和監視他們的使用方式。