Certificate Security Protocol 拡張版の Grid Engine システムの設定手順も、標準の設定手順とほぼ同じです。通常は、「インストールの計画」、「配布ファイルをワークステーションに読み込む方法」、「マスターホストをインストールする方法」、「実行ホストをインストールする方法」、および 「管理ホストの登録」の手順に従って作業を行います。
ただし、次の追加作業が必要です。
認証局 (CA) のシステム鍵および証明書を生成。このためには、マスターホスト上で、-csp フラグを指定してインストールスクリプトを呼び出します。
システム鍵および証明書を実行ホストおよび発行ホストに配布。ssh などの安全な方法を使用します。
マスターインストール後、ユーザー鍵および証明書を自動生成
新しいユーザーを追加
「インストールの実行」の手順に従って Grid Engine ソフトウェアをインストールします。ただし、複数のインストールスクリプトを呼び出すときは -csp フラグを追加してください。
CSP のセキュリティー保護されたシステムをインストールするには、次のコマンドを入力し、インストールスクリプトからのプロンプトに応答して、マスターホストのインストール手順を変更します。
# ./install_qmaster -csp |
CSP 証明書および鍵を生成するには、次の情報を入力する必要があります。
2 文字の国コード (例: US = アメリカ合衆国)
州名
場所 (都市名など)
組織名
組織単位
CA 電子メールアドレス
認証局 (CA) は、インストールの途中で作成されます。マスターホスト上に、Grid Engine システム固有の CA が作成されます。セキュリティー関連の情報は、次のディレクトリに格納されます。
sge-root/cell/common/sgeCA ディレクトリ。共通にアクセス可能な CA およびデーモン証明書が格納されます。
/var/sgeCA/ {sge_service | port SGE_QMASTER_PORT}/cell/private ディレクトリ。対応する非公開鍵が格納されます。
/var/sgeCA/{sge_service | portSGE_QMASTER_PORT}/ cell/userkeys/$USER ディレクトリ。ユーザー鍵および証明書が格納されます。
スクリプトにより、サイト情報を求めるプロンプトが表示されます。
入力した情報に間違いがないことを確認します。
マスターホスト sge_qmaster のセキュリティー関連の設定が完了した段階で、スクリプトにより、インストール手順の続きを実行するかどうか確認するメッセージが表示されます。次の例を参照してください。
SGE startup script -------------------- Your system wide SGE startup script is installed as: "/scratch2/eddy/sge_sec/default/common/sgemaster" Hit Return to continue >> |
共有ファイルシステムが安全で、CSP セキュリティー情報を格納しても問題がないかどうかを確認します。
共有ファイルシステムが安全であると判断した場合は、「実行ホストをインストールする方法」の説明に従って基本インストール手順を続行します。
実行ホストをインストールするために ./install_execd スクリプトを呼び出す場合、-csp フラグを忘れずに追加してください。
root ユーザーが、Grid Engine ソフトウェアをインストールするすべてのマシン上の sge-root ディレクトリに対して書き込み権を持っていない場合は、このディレクトリの所有者としてソフトウェアをインストールするかどうかを確認するメッセージが表示されます。yes と応答した場合は、次の例のように、セキュリティー関連のファイルをそのユーザーの $HOME/.sge ディレクトリにインストールする必要があります。次の例では、インストールディレクトリの所有者は sgeadmin です。
% su - sgeadmin % source sge-root/default/common/settings.csh % sge-root/util/sgeCA/sge_ca -copy % logout |
残りのインストール手順が完了したら、「ユーザー用の証明書および非公開鍵を生成する方法」の手順を参照してください。
共有ファイルの安全性に問題があり、実行デーモンからアクセスできる場所に CSP セキュリティー情報を格納すると危険であると判断した場合は、デーモンの非公開鍵およびランダムファイルを含むディレクトリを実行ホストに転送する必要があります。
非公開鍵を実行ホストとして設定するマシンへコピーする準備作業を行います。マスターホスト上の root ユーザーとして、次のコマンドを実行してください。
# umask 077 # cd / # tar cvpf /var/sgeCA/port536.tar /var/sgeCA/port536/default |
ファイルを安全にコピーします。各実行ホスト上の root ユーザーとして、次のコマンドを実行してください。
# umask 077 # cd / # scp masterhost:/var/sgeCA/port536.tar . # umask 022 # tar xvpf /port536.tar # rm /port536.tar |
Windows 実行ホストでは、tar ユーティリティーで所有権とアクセス権を復元できません。その場合は、Administrator が手動で所有権とアクセス権を設定する必要があります。
次のコマンドを実行して、ファイルアクセス権を確認します。
# ls -lR /var/sgeCA/port536/ |
次に、このコマンドの出力例を示します。
/var/sgeCA/port536/: total 2 drwxr-xr-x 4 eddy other 512 Mar 6 10:52 default /var/sgeCA/port536/default: total 4 drwx------ 2 eddy staff 512 Mar 6 10:53 private drwxr-xr-x 4 eddy staff 512 Mar 6 10:54 userkeys /var/sgeCA/port536/default/private: total 8 -rw------- 1 eddy staff 887 Mar 6 10:53 cakey.pem -rw------- 1 eddy staff 887 Mar 6 10:53 key.pem -rw------- 1 eddy staff 1024 Mar 6 10:54 rand.seed -rw------- 1 eddy staff 761 Mar 6 10:53 req.pem /var/sgeCA/port536/default/userkeys: total 4 dr-x------ 2 eddy staff 512 Mar 6 10:54 eddy dr-x------ 2 root staff 512 Mar 6 10:54 root /var/sgeCA/port536/default/userkeys/eddy: total 16 -r-------- 1 eddy staff 3811 Mar 6 10:54 cert.pem -r-------- 1 eddy staff 887 Mar 6 10:54 key.pem -r-------- 1 eddy staff 2048 Mar 6 10:54 rand.seed -r-------- 1 eddy staff 769 Mar 6 10:54 req.pem /var/sgeCA/port536/default/userkeys/root: total 16 -r-------- 1 root staff 3805 Mar 6 10:54 cert.pem -r-------- 1 root staff 887 Mar 6 10:54 key.pem -r-------- 1 root staff 2048 Mar 6 10:53 rand.seed -r-------- 1 root staff 769 Mar 6 10:54 req.pem |
管理ユーザーの $HOME/.sge ディレクトリにセキュリティー関連のファイルをインストールします。
root ユーザーが、Grid Engine ソフトウェアをインストールするすべてのマシン上の sge-root ディレクトリに対して書き込み権を持っていない場合は、このディレクトリの所有者としてソフトウェアをインストールするかどうかを確認するメッセージが表示されます。yes と応答した場合は、次の例のように、セキュリティー関連のファイルをそのユーザーの $HOME/.sge ディレクトリにインストールする必要があります。次の例では、インストールディレクトリの所有者は sgeadmin です。
% su - sgeadmin % source sge-root/default/common/settings.csh % sge-root/util/sgeCA/sge_ca -copy % logout |
次のコマンドを入力して、実行ホスト上で Grid Engine ソフトウェアのインストールを続行します。
マスターホストを使用してジョブを実行することもできます。そうする場合は、マスターマシンに実行ホストをインストールする必要があります。ただし、マスターホストに指定するマシンの処理速度が非常に遅い場合や、クラスタのサイズがかなり大きい場合は、マスターホストを実行ホストとして使用してはいけません。
# cd sge-root # ./install_execd -csp |
インストールスクリプトからのプロンプトに応答します。
実行ホストインストール手順により、sge_execd が使用する適切なディレクトリ階層が作成され、実行ホスト上で sge_execd デーモンが起動します。
Grid Engine ソフトウェアで使用する環境変数を作成します。
インストール時にセル名が指定されていない場合、cell の値は default になります。
次のタスク、「ユーザー用の証明書および非公開鍵を生成する方法」に進みます。
CSP のセキュリティー保護されたシステムを使用する場合、ユーザーは、固有の証明書および非公開鍵にアクセスできなければいけません。一番便利なアクセス方法は、ユーザーを識別するテキストファイルを作成する方法です。
マスターホスト上で、ユーザーを識別するテキストファイルを作成し、保存します。
次の例の myusers.txt ファイルの形式を使用してください。ファイルのフィールドは UNIX_username:Gecos_field:email_address になります。
eddy:Eddy Smith:eddy@my.org sarah:Sarah Miller:sarah@my.org leo:Leo Lion:leo@my.org |
マスターホスト上の root として、次のコマンドを入力します。
# sge-root/util/sgeCA/sge_ca -usercert myusers.txt |
次のコマンドを入力して、ディレクトリの内容を確認します。
# ls -l /var/sgeCA/port536/default/userkeys |
次のような結果が出力されます。
dr-x------ 2 eddy staff 512 Mar 5 16:13 eddy dr-x------ 2 sarah staff 512 Mar 5 16:13 sarah dr-x------ 2 leo staff 512 Mar 5 16:13 leo |
ファイル (この例では myusers.txt) 内に記載されている各ユーザーに、セキュリティー関連のファイルを $HOME/.sge ディレクトリにインストールするように指示します。次のコマンドを使用します。
% source sge-root/default/common/settings.csh % sge-root/util/sgeCA/sge_ca -copy |
画面に、次の確認情報が表示されます (ユーザー eddy の場合)。
Certificate and private key for user eddy have been installed |
Grid Engine ソフトウェアのインストールでは、常に、対応する SGE_QMASTER_PORT 番号のサブディレクトリがインストールされます。次に、myusers.txt ファイルを使用した場合の例を示します。
% ls -lR $HOME/.sge /home/eddy/.sge: total 2 drwxr-xr-x 3 eddy staff 512 Mar 5 16:20 port536 /home/eddy/.sge/port536: total 2 drwxr-xr-x 4 eddy staff 512 Mar 5 16:20 default /home/eddy/.sge/port536/default: total 4 drwxr-xr-x 2 eddy staff 512 Mar 5 16:20 certs drwx------ 2 eddy staff 512 Mar 5 16:20 private /home/eddy/.sge/port536/default/certs: total 8 -r--r--r-- 1 eddy staff 3859 Mar 5 16:20 cert.pem /home/eddy/.sge/port536/default/private: total 6 -r-------- 1 eddy staff 887 Mar 5 16:20 key.pem -r-------- 1 eddy staff 2048 Mar 5 16:20 rand.seed |
$SGE_ROOT に移動し、root でマスターホストにログインします ($SGE_CELL がデフォルトであると仮定)。
# tcsh # source $SGE_ROOT/default/settings.csh |
$SGE_ROOT/util/sgeCA/renew_all_certs.csh を編集し、証明書の有効日数を変更します。
# CA 証明書の有効期間を延長 set CADAYS = 365 # デーモンの証明書の有効期間を延長 set DAEMONDAYS = 365 # ユーザーの証明書の有効期間を延長 set USERDAYS = 365 |
変更したスクリプトを実行します。延長期間のデフォルトは、すべてスクリプトを実行した日から 365 日です。
# util/sgeCA/renew_all_certs.csh |
すべてのホストのローカルディレクトリにインストールされている古い証明書を新しいものと置き換えます (/var/sgeCA/... の下。実行デーモンのインストールを参照)。
ユーザーが証明書と鍵を $HOME/.sge にコピーしている場合は、更新した証明書にアクセスするために $SGE_ROOT/util/sgeCA/sge_ca -copy を繰り返す必要があります。
次で、証明書関連のコマンドの実行例を紹介します。arch は現在のシステムアーキテクチャーです (例: sol-sparc64)。目的に応じて、次のコマンドのうち 1 つまたは複数を入力します。
次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in と ~/.sge の間には空白文字を 1 つ入力します。
% sge-root/utilbin/arch/openssl x509 -in ~/.sge/port536/default/certs/cert.pem -text |
次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in と ~/.sge の間には空白文字を 1 つ入力します。
% sge-root/utilbin/arch/openssl x509 -issuer -in ~/.sge/port536/default/certs/cert.pem -noout |
次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in と ~/.sge の間には空白文字を 1 つ入力します。
% sge-root/utilbin/arch/openssl x509 -subject -in ~/.sge/port536/default/certs/cert.pem -noout |
次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in と ~/.sge の間には空白文字を 1 つ入力します。
% sge-root/utilbin/arch/openssl x509 -email -in ~/.sge/default/port536/certs/cert.pem -noout |
次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in と ~/.sge の間には空白文字を 1 つ入力します。
% sge-root/utilbin/arch/openssl x509 -dates -in ~/.sge/default/port536/certs/cert.pem -noout |
次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in と ~/.sge の間には空白文字を 1 つ入力します。
% sge-root/utilbin/arch/openssl x509 -fingerprint -in ~/.sge/port536/default/certs/cert.pem -noout |