Настройка параметров root squash для файловых систем Lustre, управляемых Azure

Корневой squash — это функция безопасности, предотвращающая доступ пользователя с привилегиями root на клиенте к файлам удаленной управляемой файловой системы Lustre. Эта функция достигается с помощью функции карты узлов Lustre и является важной частью защиты пользовательских данных и параметров системы от манипуляций ненадежными или скомпрометированных клиентами.

В этой статье вы узнаете, как настроить параметры корневого масштабирования прав доступа для управляемых файловых систем Lustre Azure. Параметры root squash можно настроить через запрос REST API при создании кластера или для уже существующего кластера.

Предпосылки

Настройки root squash

В следующей таблице приведены доступные параметры свойства, доступные для rootSquashSettings REST API версии 2024-03-01 и более поздних версий:

Параметр Ценности Тип Description
mode RootOnly All None String RootOnly: влияет только на пользователя root на ненадежных системах. UID и GID в файлах приводятся к предоставленным squashUID и squashGID, соответственно
All. Влияет на всех пользователей в ненадежных системах. UID и GID в файлах изменены на предоставленные squashUID и squashGID, соответственно.
None (по умолчанию): отключает функцию ограничения привилегий для root, чтобы для любого пользователя в любой системе не выполнялся сброс идентификаторов UID и GID.
noSquashNidLists String Списки IP-адресов сетевого идентификатора (NID), добавленные в доверенные системы.
squashUID 1 - 4294967295 Целое число Числовое значение, к которому сжимается идентификатор пользователя (UID).
squashGID 1 - 4294967295 Целое число Числовое значение, к которому применяется идентификатор группы (GID).
status String Состояние squash файловой системы.

Если вам нужно добавить неконтигированные IP-адреса в качестве доверенных систем, можно указать разделенный точкой с запятой список IP-адресов в параметре, как показано в noSquashNidLists следующем примере:

"noSquashNidLists": "10.0.2.4@tcp;10.0.2.[6-8]@tcp;10.0.2.10@tcp",

Включите root squash при создании кластера

При создании управляемой файловой системы Lustre в Azure можно включить корневой сквош во время создания кластера.

Чтобы включить корневой сквош во время создания кластера, выполните следующие действия.

  1. Определите, какое значение параметра root squash вы хотите использовать в вашем кластере. Дополнительные сведения см. в разделе "Root squash settings".
  2. Используйте запрос PUT для создания кластера и включите требуемые значения rootSquashSettings в раздел properties тела запроса.

В следующем примере показано, как создать кластер с включенным сжатием прав суперпользователя.

Синтаксис запроса:

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
    },
}

Просмотр настроек занижения прав суперпользователя для существующего кластера

Вы можете просмотреть параметры root squash для существующей файловой системы Azure Managed Lustre. Чтобы просмотреть настройки root squash для существующего кластера, выполните следующие действия.

  1. GET Используйте запрос, чтобы вернуть сведения о конфигурации для существующего кластера.

В следующем примере показано, как вернуть существующий кластер:

Синтаксис запроса:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageCache/amlFilesystems/{filesystemName}?api-version={apiVersion}

В теле ответа найдите свойство rootSquashSettings, чтобы просмотреть текущие настройки корневого squash для кластера.

Изменение настроек "root squash" для существующего кластера

Вы можете изменить настройки root squash для существующей управляемой файловой системы Azure Lustre. Чтобы изменить настройки root squash для существующего кластера, выполните следующие шаги.

  1. Определите параметры root сквош, которые вы хотите изменить или активировать для существующего кластера. Дополнительные сведения см. в разделе "Параметры корневого сквоша".
  2. PATCH Используйте запрос для изменения существующего кластера и включения требуемых rootSquashSettings значений в properties раздел текста запроса. Это действие перезаписывает все существующие параметры root squash, поэтому убедитесь, что все настройки предоставлены в запросе 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, чтобы избежать перезаписи значений.

Отключите root squash для существующего кластера

Вы можете отключить root squash для существующей управляемой файловой системы Azure Lustre. Чтобы отключить корневой сквош для существующего кластера, выполните следующие действия.

  1. Используйте PATCH запрос, чтобы изменить существующий кластер, и задайте параметр modeNone в разделе properties текста запроса. Другие параметры не требуются.

В следующем примере показано, как отключить "root squash" для существующего кластера.

Синтаксис запроса:

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageCache/amlFilesystems/{filesystemName}?api-version={apiVersion}

Текст запроса:

"properties": {
    "rootSquashSettings": {
        "mode": "None"
    },
}

Дальнейшие шаги

Дополнительные сведения об Управляемом Lustre в Azure см. в следующих статьях: