Установите безопасность кластера планировщика заданий MATLAB

Установите уровень безопасности

Вы устанавливаете MATLAB® Уровень безопасности планировщика заданий с SECURITY_LEVEL параметр в mjs_def файл перед запуском службы mjs на узлах кластера. The mjs_def файл указывает, какие значения разрешены, и кратко описывает каждый уровень безопасности.

В следующей таблице описаны доступные уровни безопасности для доступа к планировщику заданий MATLAB и его заданиям.

Уровень безопасностиОписаниеТребования к пользователю
0

Нет безопасности.

  • Любой пользователь может получить доступ к любому заданию.

  • Задачи выполняются как пользователь, запустивший процесс mjs на рабочих компьютерах (обычно root или локальная система).

  • Это значение по умолчанию и является поведением во всех релизах до R2010b.

  • Задания связаны с именем пользователя программиста по умолчанию, но защита не предусмотрена.

1

Задания идентифицируются с отправляющим пользователем.

  • Любой пользователь может получить доступ к любому заданию; диалоговое окно предупреждает, принадлежит ли полученное задание другому пользователю.

  • Задачи выполняются как пользователь, запустивший процесс mjs на рабочих компьютерах (обычно root или локальная система).

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

  • Имя пользователя планировщика заданий MATLAB не должно совпадать с именем пользователя системы/сети.

  • Пароли не используются.

2

Диспетчер заданий MATLAB Защита паролем планировщика заданий на заданиях.

  • Задания и задачи идентифицируются отправляющим пользователем и защищены паролем. Другие неавторизованные пользователи не могут получить доступ к вашим заданиям.

  • Задачи выполняются как пользователь, запустивший процесс mjs на рабочих компьютерах (обычно root или локальная система).

  • Когда вы запускаете MATLAB Job Scheduler, это предлагает вам предоставить новый пароль для учетной записи администратора этого задания, который может использоваться для доступа ко всем заданиям и задачам пользователей.

  • Диалоговое окно требует, чтобы вы установили имя пользователя и пароль при первом доступе к планировщику заданий MATLAB из клиента MATLAB.

  • Имя пользователя и пароль планировщика заданий MATLAB не должны совпадать с именем пользователя системы/сети и паролем.

3

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

  • Задания и задачи идентифицируются отправляющим пользователем и защищены паролем. Другие неавторизованные пользователи не могут получить доступ к вашим заданиям.

  • Задачи выполняются как пользователь, отправивший задание.

  • Планировщик заданий MATLAB должен использовать безопасную связь с работниками (установлен в mjs_def файл).

  • Когда вы запускаете MATLAB Job Scheduler, это предлагает вам предоставить новый пароль для учетной записи администратора этого задания, который может использоваться для доступа ко всем заданиям и задачам пользователей.

  • Диалоговое окно требует, чтобы вы установили имя пользователя и пароль при первом доступе к планировщику заданий MATLAB из клиента MATLAB.

  • Имя пользователя и пароль диспетчера заданий MATLAB Job Scheduler должны совпадать с именем пользователя системы/сети и паролем, поскольку работник должен войти в систему, чтобы запустить задачу так, как вы.

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

  • В системах UNIX процесс mjs на узлах кластера должен запускаться корневым пользователем.

  • В системах Windows для успешного выполнения заданий на кластере отправляющему пользователю должно быть разрешено «Разрешить локальный журнал» на каждом рабочем компьютере. Если это разрешение отключено, все отправленные задания будут неудачными при запуске кластером.

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

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

Локальный, MATLAB планировщик заданий и сетевые пароли

Для любой безопасности выше уровня 0, когда вы запускаете MATLAB Job Scheduler (для примера, с startjobmanager команда), учетная запись пользователя кластера с именем admin создается для этого кластера, и вам предлагается ввести пароль для этой новой учетной записи. Область кластера admin учетная запись имеет все необходимые разрешения для доступа к кластеру и всем его заданиям.

Для любого уровня безопасности планировщик заданий MATLAB определяет каждое задание с пользователем, который отправляет задание. Поэтому всякий раз, когда вы получаете доступ к планировщику заданий MATLAB или заданию, планировщик заданий MATLAB должен знать, кто вы.

На уровне безопасности 0 планировщик заданий MATLAB и объекты заданий "UserName свойство устанавливается на имя пользователя, создавшего работу; этот параметр можно изменить в любое время. Для всех более высоких уровней безопасности первый доступ к планировщику заданий MATLAB приводит к открытию диалогового окна, в котором запрашивается ваше имя пользователя; если уровень безопасности равен 2 или 3, необходимо также указать пароль. Имя пользователя и пароль, которые вы предоставляете для планировщика заданий MATLAB, должны совпадать с именем пользователя и паролем сети, только если вы используете уровень безопасности 3; в противном случае можно создать новое имя пользователя и пароль, уникальные для планировщика заданий MATLAB. Для вашего удобства можно выбрать, как долго сохранять имя пользователя и пароль на локальном компьютере, чтобы не нужно было вводить их каждый раз, когда вы получаете доступ к своей работе.

Для получения информации об изменении пароля и логгировании из планировщика заданий MATLAB, смотрите changePassword (Parallel Computing Toolbox) и logout (Parallel Computing Toolbox).

Авторизация пользователей для доступа к заданиям и задачам

В этом примере показано, как авторизовать пользователей для доступа к вашему заданию в кластере планировщика заданий MATLAB с уровнем безопасности 2 или 3. Для уровней безопасности 2 и 3, когда вы создаете и отправляете задание в кластер планировщика заданий MATLAB, задания и задачи идентифицируются отправляющим пользователем. Эти задания и задачи защищены паролем, и поэтому другие неавторизованные пользователи не могут получить доступ к вашим заданиям.

Использование parcluster чтобы создать объект кластера с помощью профиля кластера 'MyMJSCluster'. Замените 'MyMJSCluster' с именем профиля кластера. Затем используйте batch создание и отправка задания в кластер.

c = parcluster('MyMJSCluster');
j = batch(c,@rand,1,{2});

Можно использовать AuthorizedUsers задания для авторизации доступа пользователя к заданию, задачам и задачам. Каждый заданный пользователь должен ранее взаимодействовать с кластером планировщика заданий MATLAB. Авторизация доступа к заданию для пользователей "user1" и "user2", установите AuthorizedUsers задания для ["user1","user2"].

j.AuthorizedUsers = ["user1","user2"];

Установите безопасную связь

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

  • USE_SECURE_COMMUNICATION = true

  • ALL_SERVER_SOCKETS_IN_CLUSTER = true (по умолчанию)

в mjs_def файл. Безопасная шифрованная связь обеспечивается только через SSLSocket TLSv1.2.

Примечание

Если ALL_SERVER_SOCKETS_IN_CLUSTER = false в mjs_def файл, затем обеспечивается безопасная шифрованная связь между планировщиком заданий MATLAB и только работниками.

Вы также должны предоставить значение для SHARED_SECRET_FILE параметр в mjs_def файл, идентифицирующий, где файл может быть найден с точки зрения планировщика заданий MATLAB. Чтобы создать этот файл, запустите любой из скриптов:

  • matlabroot/ toolbox/parallel/bin/createSharedSecret (UNIX)

  • matlabroot\ toolbox\parallel\bin\createSharedSecret.bat (Windows)

Секретный файл устанавливает доверие между процессами на разных компьютерах.

  • В общей файловой системе все узлы могут указывать на один и тот же секретный файл, и они могут даже все совместно использовать один и тот же mjs_def файл.

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

Примечание

Безопасная связь требуется при использовании уровня безопасности MATLAB Job Scheduler 3.