Проверка подлинности и авторизация файловой системы

Завершено

После понимания общих характеристик производительности и трафика рабочей нагрузки необходимо рассмотреть аспекты безопасности. Ваши данные могут быть конфиденциальными, например радиологические изображения пациентов. Возможно, вам потребуется ограничить доступ к данным по многим причинам. Вы можете предложить каждому из ваших исследователей "домашний каталог", из которого они могут загружать данные и проводить анализ HPC и имитации.

При выборе облачного хранилища HPC следует учитывать, как он интегрируется с текущим состоянием безопасности. Сведения о методах проверки подлинности файловой системы и авторизации доступа к файлам. Укажите, является ли применение локальным или удалённым (или обоими), и откуда осуществляется проверка подлинности и авторизация. Если вы используете удаленную общую файловую систему, необходимо понять, как управлять доступом с помощью стандартных методик NAS. Наконец, если вы предлагаете уникальные рабочие пространства для пользователей (домашние каталоги), поймите, как выделить пространство.

В этом уроке мы рассмотрим вопросы безопасности и их влияние на архитектуру хранилища.

Обзор проверки подлинности и авторизации

Аутентификация. При предоставлении доступа к файловым системам необходимо аутентифицировать запрашивающего, используя некоторые доверенные учетные данные. Многие архитектуры клиента или сервера сталкиваются с проблемами для таких учетных данных, таких как учетные записи пользователей или компьютеров. Затем эти учетные данные проверяются, чтобы убедиться в их действительности в данной среде. После проверки подлинности запрашиватель (пользователь или компьютер или процесс) затем авторизован. Необходимые протоколы доступа для вашей среды могут ограничить проверку подлинности для вашего решения. Например, если у вас есть среда Windows, скорее всего, используется блок сообщений сервера (SMB) в качестве протокола сетевого доступа к файлам. Требования к проверке подлинности SMB не совпадают с требованиями NFS.

авторизация. Разрешить пользователю или компьютеру доступ к среде - это одно, но на каком уровне доступа? Например, пользователь A может иметь возможность считывать файлы в файловой системе, а пользователь B может считывать и записывать файлы. Авторизация может быть более глубокой, чем чтение и запись. Например, пользователь C может изменять файлы, но не создавать новые в определенном каталоге.

Уровень авторизации часто выражается как разрешения для данного файла. К ним относятся чтение, запись и выполнение.

пользователи и группы. Предоставление доступа к набору ресурсов может стать громоздким при наличии большого количества пользователей. Это также становится сложным, если вы планируете предоставить различные уровни доступа к нескольким наборам пользователей. Необходимо затем использовать группы . Вы можете назначить пользователя определенной группе или набору групп. Затем вы можете авторизовать доступ к ресурсам на основе идентификации этой группы.

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

ОС Linux назначает идентификатор пользователя (UID) отдельным учетным записям пользователей. UID — это целое число. Это то, что система использует для определения, к каким системным ресурсам, включая файлы и папки, определенный пользователь может получить доступ.

Ос Linux использует идентификаторы групп (GID) для назначений групп. Пользователь связан с одной первичной группой. Пользователи могут быть связаны фактически с любым количеством дополнительных назначений в группе, до 65 536 назначений на большинстве современных систем Linux.

Локальная и удаленная проверка подлинности и авторизация

Локальная проверка подлинности и авторизация относятся к доступу к локальной файловой системе учетной записи пользователя или компьютера, которая также является локальной для компьютера. Например, можно создать учетную запись пользователя, которая затем предоставляет доступ к каталогу /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 в качестве клиентов службы каталогов. Можно также использовать сопоставления Active Directory между учетными записями пользователей Windows и определенным сочетанием UID и GID.

Типичный способ удаленного доступа к файлам — использовать сетевую файловую систему, например NFS или SMB, или параллельную файловую систему, например Lustre. Эти протоколы определяют API клиента и сервера для доступа к данным. Мы обсудили операции NFS в модуле "Рекомендации по производительности файловой системы". Мы обсудим использование NFS в следующем уроке.

Заметка

Служба каталогов не требуется при использовании NFS. Но если вы не используете один, управление UID и GID по-прежнему будет сложно, если у вас есть большое количество пользователей и систем.

Домашние каталоги

Предположим, у вас есть среда HPC, используемая несколькими исследователями, но их уникальные данные должны храниться отдельно. Говорят, что эти исследователи постоянно изменяют и добавляют свои собственные данные. Предоставление исследователям собственных домашних каталогов является эффективным способом разделения своих данных.

Каждый исследователь будет управлять разрешениями в домашнем каталоге, чтобы они могли сотрудничать, если они захотят.

Одной из основных проблем в этой среде является хранилище. Предположим, что у вас есть среда NAS с 500 ТБ. Что останавливает одного исследователя от использования всего этого?

Квоту можно назначить отдельному каталогу. Квота отражает максимальный объем разрешенных данных. После достижения квоты он может отклонить дополнительные данные или предупредить администраторов, что исследователь превысил ограничение. Например, если у вас есть система NAS, можно назначить квоту каждому исследователю. И если вы изолируете доступ исследователей к домашнему каталогу, легко настроить и отслеживать их использование.