設定 Azure 受控 Lustre 文件系統的根 squash 設定
Rootquash 是一項安全性功能,可防止用戶端上具有根許可權的使用者存取遠端 Managed Lustre 檔案系統上的檔案。 這項功能是使用 Lustre nodemap 功能來達成,而且是保護使用者數據和系統設定不受不受信任或遭入侵用戶端操作的重要部分。
在本文中,您將瞭解如何設定 Azure 受控 Lustre 文件系統的根 Squash 設定。 您可以在叢集建立期間或現有的叢集,透過 REST API 要求設定根四除設定。
必要條件
- Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
根 squash 設定
下表詳述 屬性的可用參數,該屬性 rootSquashSettings
適用於 REST API 2024-03-01 版和更新版本:
參數 | 值 | 類型 | 說明 |
---|---|---|---|
mode |
RootOnly , All , None |
字串 |
RootOnly :只會影響非受信任系統上的 根 使用者。 檔案上的 UID 和 GID 會分別壓縮至提供的 squashUID 和 squashGID 。All :影響不受信任的系統上 的所有使用者 。 檔案上的 UID 和 GID 會分別壓縮至提供的 squashUID 與 squashGID 。
None (預設) :停用根 squash 功能,讓任何系統上的任何使用者不會執行 UID 和 GID 的壓縮。 |
noSquashNidLists |
字串 | 新增至信任系統的網路標識碼 (NID) IP 位址清單。 | |
squashUID |
1 - 4294967295 | 整數 | 用戶標識碼 (UID) 的數值會四除。 |
squashGID |
1 - 4294967295 | 整數 | 群組標識碼 (GID) 的數值會四除。 |
status |
字串 | 檔系統 squash 狀態。 |
如果您需要將非連續IP位址新增為信任的系統,您可以在 參數中 noSquashNidLists
提供以分號分隔的IP位址清單,如下列範例所示:
"noSquashNidLists": "10.0.2.4@tcp;10.0.2.[6-8]@tcp;10.0.2.10@tcp",
在叢集建立期間啟用根分割
當您建立 Azure 受控 Lustre 文件系統時,您可以在叢集建立期間啟用根分割。
若要在叢集建立期間啟用根分割,請遵循下列步驟:
- 決定您要用於叢集的根 Squash 設定。 如需詳細資訊,請參閱 根分割設定。
-
PUT
使用要求來建立叢集,並在要求本文的 區段中包含所需的rootSquashSettings
值properties
。
下列範例示範如何建立已啟用根 squash 的叢集:
要求語法:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageCache/amlFilesystems/{filesystemName}?api-version={apiVersion}
要求本文:
"properties": {
"rootSquashSettings": {
"mode": "RootOnly",
"noSquashNidLists": "10.0.2.4@tcp",
"squashUID": 1000,
"squashGID": 1000
},
}
檢視現有叢集的根 Squash 設定
您可以檢視現有 Azure 受控 Lustre 檔案系統的根叢集設定。 若要檢視現有叢集的根分割設定,請遵循下列步驟:
-
GET
使用要求傳回現有叢集的組態詳細數據。
下列範例示範如何傳回現有的叢集:
要求語法:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageCache/amlFilesystems/{filesystemName}?api-version={apiVersion}
在回應本文中 rootSquashSettings
,尋找 屬性以檢視叢集的目前根分割設定。
變更現有叢集的根 squash 設定
您可以變更現有 Azure 受控 Lustre 檔案系統的根 squash 設定。 若要變更現有叢集的根分割設定,請遵循下列步驟:
- 決定您想要變更或啟用現有叢集的根 squash 設定。 如需詳細資訊,請參閱 根分割設定。
-
PATCH
使用要求來修改現有的叢集,並在要求本文的 區段中包含所需的rootSquashSettings
值properties
。 此動作會覆寫任何現有的根四除設定,因此請確定所有設定都隨附PATCH
於要求。
假設您需要將新的IP位址範圍新增至 noSquashNidLists
參數。 下列範例示範如何更新現有的叢集,以將新的IP位址範圍新增至 noSquashNidLists
參數:
要求語法:
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageCache/amlFilesystems/{filesystemName}?api-version={apiVersion}
要求本文:
"properties": {
"rootSquashSettings": {
"mode": "RootOnly",
"noSquashNidLists": "10.0.2.4@tcp;10.0.2.[6-8]@tcp",
"squashUID": 1000,
"squashGID": 1000
},
}
在此範例中,即使 mode
、 squashUID
和 squashGID
參數未變更,您也必須將它們包含在要求本文中 PATCH
,以避免覆寫值。
停用現有叢集的根分割
您可以停用現有 Azure 受控 Lustre 檔案系統的根分割。 若要停用現有叢集的根分割,請遵循下列步驟:
-
PATCH
使用要求修改現有的叢集,並在要求主體的 區段中將 參數設定mode
為None
properties
。 不需要任何其他參數。
下列範例示範如何停用現有叢集的根分割:
要求語法:
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageCache/amlFilesystems/{filesystemName}?api-version={apiVersion}
要求本文:
"properties": {
"rootSquashSettings": {
"mode": "None"
},
}
下一步
若要深入瞭解 Azure 受控 Lustre,請參閱下列文章: