メインコンテンツ

Cluster Admin の構成と起動

Cluster Admin は、さまざまな Polyspace®Access™ サービスの Docker コンテナーをインストール、構成、起動できるエージェントです。

前提条件

Cluster Admin を構成して起動する前に必要な作業:

  • Polyspace Access インストール イメージをダウンロードします。

    1. MathWorks® ダウンロード ページに移動します。

    2. [ダウンロードの選択] メニューで、Polyspace Access の新しいバージョンをインストールする場合は [製品のインストール] を選択し、アップデート (R2026a Update 2 など) をインストールする場合は [アップデートの入手] を選択します。

    3. [Polyspace Access Web Server を入手する] セクションを展開して、[ダウンロード] をクリックします。ダウンロード ボタンの下のテキストに、取得したいリリースおよび更新番号 (該当する場合) がリストされていることを確認します。

  • Docker API versoin 1.44 以降を使用していることを確認します。Docker が確実に適切な API バージョンを使用するようにするには、環境変数 DOCKER_API_VERSION を 1.44 以降に設定します。詳細については、Docker Engine API ドキュメンテーションを参照してください。

  • マシン上で Docker が実行中であることを確認します。コマンド ラインに次のコマンドを入力します。

    docker ps
    エラー メッセージが表示された場合は、sudo systemctl start docker コマンドを実行します。systemctl を使用できない場合は、代わりに service を使用します。

    Polyspace Access を起動した後、Polyspace Access コマンドを実行するには、docker グループのメンバーとしてログインしている必要があります。このグループの現在のメンバーのリストを表示するには、次のコマンドを使用します。

    grep 'docker' /etc/group

    現在のユーザーを docker グループに追加するには、次のコマンドを使用します。

    sudo usermod -aG docker $USER

インストール イメージを解凍して Cluster Admin エージェントを起動する

Cluster Admin の admin-docker-agent バイナリが、Polyspace Access の polyspace-access-VERSION.zip インストール イメージに同梱されています。VERSION はリリース バージョンです (例: R2026a)。インストール イメージをダウンロードした後、解凍して以下のファイルとフォルダーを抽出します。

admin-docker-agent*
admin-docker-agent.exe*
admin.tar
appdata/
download/
gateway.tar
issuetracker-server-main.tar
issuetracker.tar
issuetracker-ui-main.tar
lm/
polyspace-access-db-main.tar
polyspace-access-download-main.tar
polyspace-access-etl-main.tar
polyspace-access.tar
polyspace-access-web-server-main.tar
products/
usermanager-db-main.tar
usermanager-server-main.tar
usermanager.tar
usermanager-ui-main.tar
VERSION

admin-docker-agent バイナリを起動するには、コマンド ラインで、zip インストール イメージの内容を抽出したインストール フォルダーに移動します。このフォルダー内に移動したら、コマンド ラインに次のように入力します。

admin-docker-agent
コマンド ラインに、エージェントがイメージ レイヤーをダウンロード中であることを示すメッセージが出力されます。ダウンロードが完了すると、エージェントに接続する方法に関する情報を含む次のメッセージが表示されます。
time="2020-07-10T14:23:11Z" level=info msg="Cluster Admin started. You can now connect to the Cluster Admin through 
your web browser at http://localhost:9443/admin using the initial password randomPass
randomPass は、ランダムに生成される初期パスワードです。このパスワードをコピーします。コマンド ラインの出力にパスワードが表示されるのは、[Cluster Admin] の初回起動時だけです。

既定では、[Cluster Admin] は HTTP プロトコルを使用し、ホスト名 localhost とポート 9443 を使用して起動します。

  • [Cluster Admin] に HTTPS を構成するには、Polyspace Access で HTTP と HTTPS のどちらの構成を使用するかを選択するを参照してください。

  • 既定のポートが使用されていると、Permission denied エラー メッセージが表示されます。--port フラグを使用して、別のポート番号を指定します。次に例を示します。

    admin-docker-agent --port 9999

    ポート番号を指定する必要がない Polyspace Access URL (例: https://accessServerHost:9443.com ではなく https://accessServerHost.com) を生成するには、フラグ --port を使用し、HTTPS の場合はポート 443、HTTP の場合はポート 80 を選択します。

パスワードをリセットするには、"CTRL+C" を押して admin-docker-agent バイナリを停止し、次のコマンドを入力します。

admin-docker-agent --reset-password
新しいパスワードを表示するには、バイナリを再起動します。

[Cluster Admin] エージェントは初回起動時に settings.json ファイルを作成します。既定では、このファイルは admin-docker-agent バイナリと同じフォルダーに格納されます。admin-docker-agent を起動するユーザーのみが settings.json ファイルに対する読み取り/書き込み権限を持つことを確認してください。

Polyspace Access で HTTP と HTTPS のどちらの構成を使用するかを選択する

Polyspace Access の HTTP 構成

既定では、[Cluster Admin] は HTTP プロトコルを使用します。admin-docker-agent バイナリを起動するときに追加のフラグを指定する必要はありません。Polyspace Access とクライアント マシンの間の通信は暗号化されません。

Polyspace Access の HTTPS 構成

Polyspace Access とクライアント マシンの間のデータを暗号化するには、[Cluster Admin] に HTTPS プロトコルを構成します。

この構成を行うには次のようにします。

  1. 秘密鍵と、サブジェクト代替名 (SAN) の拡張領域を含む証明書署名要求 (CSR) を生成します。

  2. CSR を組織の認証機関 (CA) に送信し、PEM 形式の署名付き X.509 証明書を取得します。あるいは、秘密鍵と CSR を使用して自己署名 PEM 証明書を作成します。

  3. admin-docker-agent バイナリを起動し、以下のオプションを使用して秘密鍵と証明書ファイルを渡します。すべてのファイルは PEM 形式でなければなりません。

    オプションオプションのパラメーター
    --ssl-cert-fileCA の署名付きの証明書ファイル、または自己署名証明書ファイルのパス。
    --ssl-key-file秘密鍵ファイルのパス。
    --ssl-ca-fileCA トラスト ストア ファイルまたは自己署名証明書ファイルのパス。

認証機関から発行された証明書を使用して HTTPS を構成することをお勧めします。ほとんどの Web ブラウザーでは自己署名証明書を使用するサーバーの信頼性を確立できず、そのようなサーバーへの接続は安全ではないと見なされます。このため、テスト環境外部で自己署名証明書を使用することは推奨されません。運用環境で自己署名証明書を使用して Polyspace Access に HTTPS を構成する場合は、事前にネットワーク セキュリティ管理者に連絡してください。

[Cluster Admin] に HTTPS を構成することで、API Gateway サービスで HTTPS が有効になります。このサービスは、他の各 Polyspace Access サービスとクライアント マシンの間のすべての通信を処理するものです。さまざまな Polyspace Access サービス間の通信に HTTPS を構成する場合は、Polyspace Access サービス間での HTTPS の有効化を参照してください。

1.秘密鍵と証明書署名要求を生成する

以下の手順では、Debian Linux® システムで openssl ユーティリティおよび openssl 構成ファイルを使用して、秘密鍵と、SAN 拡張領域が構成された CSR を生成する方法を説明しています。

  1. この構成ファイルをテキスト エディターにコピーし、openssl.cnf という名前でマシンに保存します。

     構成ファイル

    hostName は、[API Gateway] サービスを実行するサーバー マシンの完全修飾ドメイン名 (FQDN) です。hostName は、admin-docker-agent バイナリの起動時に指定する FQDN と一致していなければなりません。hostName を取得するには、hostname -f コマンドを実行します。[ req_distinguished_name ] セクション内の他のフィールドを編集しても、構成には影響しません。

    同じ IP アドレスに解決される複数のホスト名に対して HTTPS を構成するには、openssl 構成ファイルの [ alt_names ] セクションに、ホスト名 (DNS または IP アドレス) を 1 つずつ改行して追加します。次に例を示します。

    [ alt_names ]
    DNS.1 = server-machine.example.com
    DNS.2 = server-machine
    IP.1 = 192.168.0.1

  2. openssl.cnf 構成ファイルを使用して CSR を生成します。コマンド ライン ターミナルに次のように入力します。

    openssl req -new -out myRequest.csr -newkey rsa:4096 -keyout myKey.pem -nodes -config openssl.cnf
    このコマンドにより、秘密鍵ファイル myKey.pem とファイル myRequest.csr が出力されます。後者のファイルには、公開鍵と、サーバーを表すデータが含まれています。

[User Manager] の構成で使用する秘密鍵ファイルを [Authentication private key file] フィールドで再利用しないでください。User Manager の構成を参照してください。

次のようなベスト プラクティスに従って、秘密鍵を保護します。

  • マシン間で秘密鍵を転送しない。そうではなく、ローカル ファイル システムで秘密鍵を生成して保管する。

  • 読み取り/書き込み権限を制限する。秘密鍵ファイルへのアクセス権は [Cluster Admin] の管理者だけに付与する。

  • 秘密鍵と証明書のローテーションを定期的 (毎年) に行い、どのユーザーが秘密鍵ファイルにアクセスできるかを監査する。

2.CA 証明書または自己署名証明書を取得して検証する

CSR ファイル myRequest.csr を組織の認証機関に送信します。認証機関はこのファイルを使用して、署名付きサーバー証明書を生成します。たとえば、admin_cert.cer です。

あるいは、次のコマンドを実行し、秘密鍵、CSR、openssl 構成ファイルを使用して自己署名証明書を生成することもできます。

openssl x509 -req -days 365 -in myRequest.csr -signkey myKey.pem -out self_cert.cer -extensions x509 -extfile openssl.cnf
このコマンドにより、自己署名証明書 self_cert.cer が出力されます。

CA 証明書を取得するか、自己署名証明書を生成したら、openssl ユーティリティを使用して証明書の内容を確認できます。たとえば、自己署名証明書のサブジェクト代替名のセクションに DNS が正しくリストされていることを確認するには、次のコマンドを実行します。

openssl x509 -text -noout -in self_cert.cer | grep -A 1 "Subject Alternative Name"
このコマンドは、"Subject Alternative Name" に一致する行とその次の行を出力します。その行に、この証明書に関連付けられている DNS がリストされています。

3.Admin Docker エージェントを起動する

メモ

HTTP から HTTPS に、またはその逆に切り替える場合は、現在のインストール環境で使用されている Docker コンテナーを停止し、削除してから、作業を続けます。詳細については、手順 2: 現在のインストールのコンテナーの停止と削除を参照してください。

CA 証明書を取得するか、自己署名証明書を生成したら、以下の該当するコマンドを実行して admin-docker-agent を起動します。

CA 証明書自己署名証明書
./admin-docker-agent --hostname hostName\
--ssl-cert-file absolutePathTo/admin_cert.cer \
--ssl-key-file absolutePathTo/myKey.key \
--ssl-ca-file  /etc/ssl/certs/ca-certificates.crt

ca-certificates.crt は、Debian® Linux システム上の証明書トラスト ストア ファイルです。--ssl-ca-file に指定した証明書トラスト ストアがブラウザーで使用されていれば、[Cluster Admin] の Web インターフェイスを開いたときに、ブラウザーはその接続を安全なものと見なします。

./admin-docker-agent --hostname hostName\
--ssl-cert-file absolutePathTo/self_cert.cer \
--ssl-key-file absolutePathTo/myKey.key \
--ssl-ca-file  absolutePathTo/self_cert.cer

自己署名証明書 certificate.pem ファイルは、証明書トラスト ストア ファイルとしても使用されます。認証機関に関連付けられたトラスト ストアを指定していないので、[Cluster Admin] の Web インターフェイスを開いたときに、信頼されていない証明書であるという警告がブラウザーに表示される場合があります。

このコマンドで指定する hostName は、openssl 構成ファイル内に指定した hostName と一致していなければなりません。absolutePathTo はファイルの絶対パスです。

Polyspace Access サービス間での HTTPS の有効化

Polyspace Access サービス間の通信で HTTPS を有効にするには、Cluster Admin インターフェイスを開くの手順に従った後、[Cluster Dashboard][Configure Nodes] をクリックし、[General] タブで [Enable SSL] を選択します。[Nodes] 設定で SSL を有効にすると、その設定は当該ノードにインストールされている PolyspaceAccess サービス間の通信のみに適用されます。[Nodes] 設定では、admin-docker-agent バイナリの起動時に指定した SSL 証明書、秘密鍵、および CA ファイルが再利用されます。ただし、そのノードに既に別のファイルのセットが構成されている場合は除きます。

既定では、すべてのサービスが同じノードにインストールされ、サービスのポートは公開されません。[User Manager] サービス、[Issue Tracker] サービス、および [Polyspace Access] サービスを別々のノードにインストールした場合や、オプション --force-exposing-ports を指定して admin-docker-agent バイナリを起動する場合を除き、これらのサービスに HTTPS を有効にする必要はありません。

すべてのサービスを同じノードにインストールした場合に、オプション --force-exposing-ports を使用せずに admin-docker-agent バイナリを起動し、[Nodes] 設定で [Enable SSL] を選択すると、ポートが公開されていないため証明書ファイル証明書キー ファイルも使用されていないという警告メッセージが表示されます。サービスのポートを公開する予定がなければ、この警告を無視し、インストールの次の手順に進んでかまいません。

Cluster Admin インターフェイスを開く

[Cluster Admin] を構成して起動したら、Web ブラウザーを開き、admin-docker-agent バイナリの起動時にコマンド ラインの出力に示された URL にアクセスします。

[Cluster Admin] エージェントの起動時に取得した初期パスワードを使用してログインします。初めてログインする場合は、プロンプトに従います。

Cluster Admin Dashboard interface.

初めてログインした後に、[Cluster Admin] のパスワードを変更することがベスト プラクティスです。新しいパスワードを設定するには、Web インターフェイスの右上隅にある [Account] をクリックし、[Change password] を選択します。[Cluster Admin] のパスワードを共有する相手は、Polyspace Access サービスを構成および管理するユーザーだけにしてください。

[Cluster Dashboard][Configure Apps] をクリックして [Cluster Settings] を開きます。このページでは、次の操作を行うことができます。

  • 社内の LDAP のユーザー資格情報を使用するようにユーザー認証を構成するか、カスタム資格情報を使用して構成する。User Manager の構成を参照してください。

  • Jira Software や Redmine などのバグ トラッキング ツールを Polyspace Access に統合する。Issue Tracker の構成を参照してください。

  • ライセンス ファイルのパスと、Polyspace Access データベース、ETL、Web サーバーで使用される各種フォルダーのパスを指定する。Polyspace Access アプリ サービスの構成を参照してください。

すべての設定を入力したら、[Save] をクリックして [Cluster Dashboard] に戻り、変更を反映させるために [Restart Apps] をクリックします。必ず、[Save] をクリックする前に [Validate on Save] を有効にしてください。

部分的に入力した設定を保存する場合は、[Validate on Save] をクリアしてから [Save] をクリックします。

Settings view in the Cluster Admin interface

メモ

Windows® システムでは、指定するすべてのファイルのパスがローカル ドライブを指している必要があります。

参考

トピック