主要内容

MATLABJob Scheduler群集安全性

设置安全级别

你设置了matlab®的作业调度程序安全级别安全级别参数在mjs_def在群集节点上启动MJS服务之前的文件。这mjs_def文件表示允许的值,并简要介绍每个安全级别。

下表介绍了访问MATLAB作业调度程序及其作业的可用安全级别。

安全级别 描述 用户要求
0.

没有安全。

  • 任何用户都可以访问任何作业。

  • 任务作为启动MJS进程的用户在工作机器(通常是根或本地系统)上。

  • 这是默认值,也是R2010b之前的所有版本的行为。

  • 作业与程序员的默认用户名相关联,但没有提供保护。

1

作业是用提交用户确定的。

  • 任何用户都可以访问任何作业;如果访问的作业属于另一个用户,则会警告对话框。

  • 任务作为启动MJS进程的用户在工作机器(通常是根或本地系统)上。

  • 在第一次访问作业管理器时,对话框要求您建立用户名。

  • 您的MATLAB作业计划程序用户名不必匹配您的系统/网络用户名。

  • 不使用密码。

2

作业管理器MATLAB作业调度程序对作业的密码保护。

  • 作业和任务是用提交用户标识的,并且密码受到保护。其他未经授权的用户无法访问您的作业。

  • 任务作为启动MJS进程的用户在工作机器(通常是根或本地系统)上。

  • 当您启动MATLAB作业调度程序时,它会提示您为作业管理器的管理员帐户提供一个新密码,该密码可用于访问所有用户的作业和任务。

  • 当您第一次从MATLAB客户端访问MATLAB作业调度器时,一个对话框要求您建立用户名和密码。

  • MATLAB作业调度器用户名和密码不必与系统/网络用户名和密码相匹配。

3.

除了第2级的安全性之外,任务还会在工人计算机上作为提交用户运行。

  • 作业和任务是用提交用户标识的,并且密码受到保护。其他未经授权的用户无法访问您的作业。

  • 任务作为提交作业的用户运行。

  • Matlab作业调度程序必须使用与工人安全的通信(设置在mjs_def文件)。

  • 启动MATLAB作业计划程序时,它会提示您为该作业管理器的管理员帐户提供新密码,可用于访问所有用户的作业和任务。

  • 当您第一次从MATLAB客户端访问MATLAB作业调度器时,一个对话框要求您建立用户名和密码。

  • 您的作业管理器MATLAB作业调度程序的用户名和密码必须与您的系统/网络用户名和密码相同,因为工作人员必须让您登录才能像您一样运行任务。

  • 对象的所有运行任务的用户都需要读写权限CHECKPOINTBASE文件夹及其所有子文件夹。

  • 在UNIX系统中,集群节点上的mjs进程必须由root用户启动。

  • 在Windows系统上,提交用户必须在每个工人计算机上启用“允许本地”权限,以在群集中成功运行作业。如果禁用此权限,则所有提交的作业将在群集启动时失败。

    要启用此权限,请更改seininteractivelogonright.用户在群集中的每台计算机的用户权限分配安全策略设置中的常量。

作业管理器和操作者应该在相同的安全级别上运行。在安全级别过低的情况下运行的worker将无法向作业管理器注册,因为作业管理器不信任它。

本地的,MATLABJob Scheduler和网络密码

对于上述级别0的任何安全性,当您启动MATLAB作业调度程序时(例如,startjobmanager命令),输入集群用户名行政为该集群创建,并提示您为该新帐户提供密码。集群行政Account拥有访问集群及其所有作业所需的所有权限。

对于任何安全级别,MATLAB作业调度程序通过提交作业的用户来识别每个作业。因此,无论何时访问MATLAB作业调度程序或作业,MATLAB作业调度程序都必须知道您是谁。

在安全级别0,MATLAB作业调度器和作业对象用户名属性设置为创建工作的人的登录名;此设置可以随时更改。对于所有更高的安全级别,对MATLAB作业调度程序的第一次访问会导致对话框打开,询问您的用户名;如果安全级别为2或3,则还必须提供密码。您为MATLAB作业计划程序提供的用户名和密码需要匹配您的网络用户名和密码只有如果您使用的是安全级别3;否则,您可以为MATLAB作业调度程序创建一个新的用户名和密码。为方便起见,您可以选择在本地计算机上保存用户名和密码的时间,这样您就不必每次访问您的工作时都输入它们。

有关更改密码和退出MATLAB作业计划程序的信息,请参阅changePassword(并行计算工具箱)注销(并行计算工具箱)

授权用户访问作业和任务

这个示例展示了如何授权用户访问安全级别为2或3的MATLAB作业调度程序集群上的作业。对于安全性级别2和3,当您创建并向MATLAB作业调度集群提交作业时,作业和任务将与提交用户一起识别。这些作业和任务受密码保护,因此其他未授权用户无法访问您的作业。

使用Parcluster.使用集群配置文件创建集群对象“MyMJSCluster”。代替“MyMJSCluster”使用群集配置文件的名称。然后,用在群集中创建并提交作业。

c = parcluster(“MyMJSCluster”);j =批处理(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文件。仅使用TLSv1.2通过SSLSocket提供安全的加密通信。

笔记

如果all_server_sockets_in_cluster = false.mjs_def然后在MATLAB作业调度器和工人之间建立安全加密的通信。

您还必须提供价值shared_secret_file.参数在mjs_def文件,从Matlab作业调度程序透视图中找到文件的位置。要创建此文件,请运行脚本:

  • matlabroot/工具箱/ / bin / createSharedSecret平行(UNIX)

  • matlabroot\工具箱\ \ bin \ createSharedSecret.bat平行(视窗)

秘密文件在不同机器上的进程之间建立了信任。

  • 在共享文件系统中,所有节点都可以指向相同的秘密文件,它们甚至可以共享相同的秘密文件mjs_def文件。

  • 在一个非正日的文件系统中,使用提供的脚本创建一个秘密文件,然后将文件复制到每个节点,并确保每个节点mjs_def文件指示其特定的秘密文件所在的位置。

笔记

当使用MATLAB作业调度程序安全级别3时,需要安全通信。