メインコンテンツ

MATLAB ジョブ スケジューラ クラスターのセキュリティの設定

MATLAB® ジョブ スケジューラ クラスターのセキュリティ レベルを構成して管理します。

以下の手順において、matlabroot はインストールされている MATLAB Parallel Server™ ソフトウェアの場所を示します。以下の説明でこの文字列が使用されていたら、パスをご使用の場所に置き換えてください。

mjs_def ファイルは、matlabroot/toolbox/parallel/bin にあります (Linux® の場合は mjs_def.sh、Windows® の場合は mjs_def.bat)。mjs_def ファイル内のパラメーターの詳細については、MATLAB ジョブ スケジューラのスタートアップ パラメーターの定義を参照してください。

セキュリティ レベルの設定

クラスター ノード上の mjs サービスの開始前に、mjs_def ファイルの SECURITY_LEVEL パラメーターを使用して、MATLAB ジョブ スケジューラのセキュリティ レベルを設定します。mjs_def ファイルは、設定できる値を示し、それぞれのセキュリティ レベルについて簡単に説明します。

この表では、MATLAB ジョブ スケジューラとそのジョブへのアクセスに使用できるセキュリティ レベルについて説明しています。

セキュリティ レベル説明ユーザー制限
0

セキュリティは設定されません。

  • すべてのユーザーがすべてのジョブにアクセスできます。

  • タスクは、ワーカー マシンで mjs プロセスを開始したユーザー (通常は root または Local System) に関連付けられます。

  • これは既定レベルであり、R2010b より前のすべてのリリースでこのセキュリティ レベルになります。

  • ジョブは既定のユーザー名と関連付けられていますが、ソフトウェアで保護は提供されません。

なし

1

ジョブはその投入ユーザーに関連付けられます。

  • すべてのユーザーがすべてのジョブにアクセスできます。アクセスされたジョブが別のユーザーに属する場合は、ダイアログ ボックスによって警告されます。

  • タスクは、ワーカー マシンで mjs プロセスを開始するユーザー (通常は root または Local System) に関連付けられます。

  • ジョブ マネージャーへの初回アクセス時に、ダイアログ ボックスでユーザー名の指定を求められます。

  • MATLAB ジョブ スケジューラのユーザー名は、システムまたはネットワークのユーザー名と一致させる必要はありません。

  • パスワードは不要です。

2

ジョブには MATLAB ジョブ スケジューラのパスワード保護があります。

  • ジョブおよびタスクはその投入ユーザーに関連付けられ、パスワードで保護されます。投入ユーザーは他のユーザーにジョブおよびタスクへのアクセスを承認できます。この場合、承認されたユーザーは自身のパスワードを入力してジョブおよびタスクにアクセスできます。その他の未承認のユーザーはそのジョブにアクセスできません。

  • タスクは、ワーカー マシンで mjs プロセスを開始したユーザー (通常は root または Local System) に関連付けられます。

  • MATLAB ジョブ スケジューラの起動時に、ジョブ マネージャー管理者アカウントの新規パスワードを指定する必要があります。このアカウントを使用してすべてのジョブおよびタスクにアクセスできます。

    LDAP サーバー認証を使用する場合は、MATLAB ジョブ スケジューラから求められたときに管理者アカウントの LDAP サーバー パスワードを入力する必要があります。

  • MATLAB クライアント セッションから MATLAB ジョブ スケジューラへの初回アクセス時に、ダイアログ ボックスでユーザー名とパスワードの指定を求められます。

  • MATLAB ジョブ スケジューラのユーザー名およびパスワードは、システムまたはネットワークのユーザー名およびパスワードと一致させる必要はありません。

    LDAP サーバー認証を使用する場合は、MATLAB ジョブ スケジューラのユーザー名およびパスワードは LDAP サーバーのユーザー名およびパスワードと一致する必要があります。

3

レベル 2 のセキュリティに加えて、タスクはワーカー マシン上の投入ユーザーに関連付けられています。

  • ジョブおよびタスクはその投入ユーザーに関連付けられ、パスワードで保護されます。その他の未承認のユーザーはそのジョブにアクセスできません。

  • タスクは、ジョブを投入したユーザーに関連付けられます。

  • MATLAB ジョブ スケジューラはワーカーに対して暗号化通信を使用しなければなりません。詳細については、Set Encrypted Communicationを参照してください。

  • MATLAB ジョブ スケジューラの起動時に、ジョブ マネージャーの管理者アカウントの新規パスワードを指定する必要があります。このアカウントを使用してすべてのジョブおよびタスクにアクセスできます。

    LDAP サーバー認証を使用する場合は、MATLAB ジョブ スケジューラから求められたときに管理者アカウントの LDAP サーバー パスワードを入力する必要があります。

  • MATLAB クライアントから MATLAB ジョブ スケジューラへの初回アクセス時に、ダイアログ ボックスでユーザー名とパスワードの指定を求められます。

  • ジョブ マネージャー (MATLAB ジョブ スケジューラ) のユーザー名とパスワードは、システムまたはネットワークのユーザー名およびパスワードと同じにしなければなりません。これは、並列ワーカーがタスクを実行するために、そのユーザーとしてログインしなければならないためです。

  • CHECKPOINTBASE フォルダーとそのすべてのサブフォルダーに対する読み取りおよび書き込み権限を、mjs プロセスを開始するユーザーに制限する必要があります。

  • UNIX システムでは、root ユーザーがクラスター ノード上の mjs プロセスを開始しなければなりません。

  • Windows システムでは、クラスター上でジョブを正常に実行するために、投入ユーザーがすべてのワーカー マシンにローカル ログオンできる必要があります。各投入ユーザー アカウントに "Allow log on locally" 権限を付与する必要があります。この権限を無効にした場合、投入したジョブはクラスターが開始したときにすべて失敗します。

    この権限を有効にするには、クラスター内の各マシンの [ユーザー権利の割り当て] セキュリティ ポリシー設定で、ユーザーの SeInteractiveLogonRight 定数を変更します。

ヒント

ジョブ マネージャーとワーカーは、同一のセキュリティ レベルで実行します。ジョブ マネージャーは、低いセキュリティ レベルで実行されているワーカーを登録しません。

ローカル、MATLAB ジョブ スケジューラおよびネットワークのパスワード

セキュリティ レベルが 0 より大きい場合、MATLAB ジョブ スケジューラを起動すると (startjobmanager コマンドなどによる)、mjs_def ファイルの ADMIN_USER パラメーターで指定されたユーザー名を使用してクラスター管理者アカウントがソフトウェアで作成されます。ユーザー名を指定しなかった場合、管理者アカウントのユーザー名は既定で admin になります。ソフトウェアから新しい管理者アカウントのパスワードを指定するように求められます。管理者アカウントには、クラスターおよびクラスターの全ジョブへのアクセスに必要なすべての権限があります。LDAP サーバー認証を使用するには、ADMIN_USER で指定したユーザー名が LDAP サーバーに存在している必要があります。

いずれのセキュリティ レベルでも、MATLAB ジョブ スケジューラはそれぞれのジョブを、そのジョブの投入ユーザーに関連付けます。そのため、ユーザーが MATLAB ジョブ スケジューラまたはジョブにアクセスするときはいつでも、MATLAB ジョブ スケジューラはそのユーザーの ID を確認する必要があります。

セキュリティ レベル 0 では、ソフトウェアは Username プロパティを、ジョブを作成したユーザーのログイン名に設定します。この値はいつでも変更できます。それより上のすべてのセキュリティ レベルでは、MATLAB ジョブ スケジューラへの初回アクセス時に、ダイアログ ボックスでユーザー名が求められます。セキュリティ レベルが 2 または 3 の場合、パスワードも入力しなければなりません。MATLAB ジョブ スケジューラに入力するユーザー名とパスワードは、セキュリティ レベル 3 を使用している場合、または MATLAB ジョブ スケジューラ クラスターで LDAP サーバー認証が構成されている場合は、ネットワークのユーザー名およびパスワードと一致させる必要があります。それ以外の場合は、MATLAB ジョブ スケジューラに新しいユーザー名とパスワードを作成できます。利便性を高めるため、ジョブにアクセスするたびにユーザー名とパスワードを入力する必要がないようにローカル コンピューター上にそれらを保存するように選択できます。

パスワードの変更および MATLAB ジョブ スケジューラ クラスターからのログアウトの詳細については、changePassword (Parallel Computing Toolbox) および logout (Parallel Computing Toolbox) を参照してください。MATLAB ジョブ スケジューラ クラスターの LDAP サーバー認証の詳細については、MATLAB ジョブ スケジューラの LDAP サーバー認証の構成を参照してください。

ジョブおよびタスクへのユーザー アクセスの承認

この例では、セキュリティ レベル 2 または 3 の MATLAB ジョブ スケジューラ クラスター上のジョブにアクセスできるようにユーザーを承認する方法を説明します。ジョブを作成して MATLAB ジョブ スケジューラ クラスターに投入すると、ジョブおよびタスクは投入ユーザーに関連付けられます。これらのジョブおよびタスクはパスワードで保護されるため、未承認のユーザーはそのジョブにアクセスできません。

parcluster (Parallel Computing Toolbox)でクラスター プロファイル 'MyMJSCluster' を使用してクラスター オブジェクトを作成します。'MyMJSCluster' をクラスター プロファイルの名前に置き換えます。次に、batch (Parallel Computing Toolbox)を使用して、ジョブを作成してクラスターに投入します。

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

ジョブの AuthorizedUsers プロパティを設定して、そのジョブやそのタスクへのユーザー アクセスを承認できます。指定するユーザーはそれぞれ、MATLAB ジョブ スケジューラ クラスターを既に使用していなければなりません。ユーザー "user1" および "user2" に対してジョブへのアクセスを承認します。

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

参考

| (Parallel Computing Toolbox) | (Parallel Computing Toolbox) |

トピック