メインコンテンツまでスキップ

OpenLM SLM と Identity Service の SSL 設定

OpenLM SLM と Identity Service v21 以降の SSL 接続を設定するためのクイックガイドです。

重要:

  • SLM で使用する証明書は、OpenLM SLM に接続するコンポーネントが動作するマシンの Trusted Certificate Store にもインストールしておく必要があります。
  • サーバーで SSL を有効にしたら、接続するすべてのコンポーネントでホスト名/IP を HTTPS プロトコルに更新する必要があります。SLM の設定と同様に、ホスト指定には正確な FQDN を使用してください。
  • スクリーンショットでは、説明のためだけに自己署名証明書を使用しています。本番環境では、信頼された認証局 (CA) が署名した証明書を使用してください。自己署名証明書はサポートされていません。システム要件を参照してください。

Identity Service の SSL 設定​

  1. C:\Program Files\OpenLM\OpenLM Identity Service\SecurityService\cert に移動し、認証局 (CA) のデジタル署名付き証明書をここに配置します。
    注意! 既存の証明書は削除しないでください!
  2. C:\Program Files\OpenLM\OpenLM Identity Service\SecurityService にある appsettings.json ファイルを、管理者権限で任意のテキストエディタで開きます。
  3. Settings ノードを見つけ、"IssuerUri" パラメータを HTTP から HTTPS に変更します:
},
"Settings": {
"UseDb": true,
"IssuerUri": "https://FQDN:5000",
"DbType": "MariaDB"
},
  1. Kestrel node を編集します。証明書の情報(証明書のパスとパスワード)を設定し、URL パラメータを HTTP から HTTPS に変更します。デフォルトでは Identity Service はポート 5000(HTTP)とポート 5001 で待ち受けます。この変更後、ポート 5000 のエンドポイントは HTTPS と設定した証明書を使用します:
},
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "https://FQDN:5000",
"Certificate": {
"Path": "./cert/cert.pfx",
"Password": "Cert Password"
}
},
"Https": {
"Url": "http://*:5001"
}
}
},

  • Path - 証明書ファイルへのパスです。サンプルのように、スラッシュを使った相対パスを使用できます。Windows の絶対パスを使う場合は、各バックスラッシュをエスケープします(例: C:\\Certs\\cert.pfx)。
  • エンドポイント名 Http と Https はそのままにします。名前はラベルにすぎず、この変更後は Http という名前のエンドポイントがポート 5000 で HTTPS を提供します。
  • Password - 証明書の秘密鍵のパスワードです。
  • Certificate Name - 証明書名は 'cert.pfx' にしてください。

注: 中括弧 が常に正しく閉じられていることを確認してください。

  1. 変更を保存します。

  2. Identity Service を再起動します:

Restarting the Services

  1. SSL 接続が成功しているかを確認するには、Identity Service UI を開き、アドレスバーに新しいアドレス (HTTPS) を入力してページを更新します。下図の "Lock" アイコンをクリックしてください:

SSL 接続を確認するためロックアイコンを選択した、HTTPS の Identity Service URL を表示するブラウザーのアドレスバー。

OpenLM SLM の SSL 設定​

  1. C:\Program Files\OpenLM\OpenLM Server\bin に移動し、"Cert" というフォルダを作成して、認証局 (CA) のデジタル署名付き証明書をこのフォルダに貼り付けます。

  2. C:\Program Files\OpenLM\OpenLM Server\bin にある appsettings.json を管理者権限でテキストエディタで開きます。

  3. Kestrel ノードの設定を見つけて編集し、Kestrel エンドポイントの URL(EasyAdmin のフルパス)を更新します: https://FQDN:port

},
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "https://FQDN:5015"
},

  1. Certificates ノードを見つけて編集します。次の情報を指定します:
  • Path - 証明書ファイルへのパスです。Windows のパスでは、各バックスラッシュをエスケープします(例: C:\\Certs\\cert.pfx)。
  • Password - 証明書の秘密鍵のパスワードです。

注: 中括弧 が常に正しく閉じられていることを確認してください。

},
"Certificates": {
"Default": {
"Path": "./cert/cert.pfx",
"Password": "12345"
}
},
  1. "Auth" ノードを見つけ、"Authority" 行を更新した Identity Service URL (HTTPS) に変更します。
},
"Auth": {
"EnableSecurity": true,
"Authority": "https://hostname:5000",
"Audience": "openlm.server.api",
"AuthProvider": "",
"ClientId": "openlm.server.client",
"ClientSecret": "<generated by Identity Service>",
"ClientScope": "openlm.cloud.scope openlm.ugs.read.scope IdentityServerApi openlm.dss.scope openlm.etlmanager.scope",
"TokenEndpoint": "/connect/token"
}
}
  1. 変更を保存します (Ctrl+S)。

  2. Identity Service Settings で宣言した OpenLM SLM の URL を変更するタイミングです。Identity Service→Settings→Security Configuration タブにログインし、更新後の OpenLM SLM アドレス (HTTPS) を設定して Save をクリックします:

更新後の HTTPS の OpenLM SLM サーバーアドレスと Save ボタンを備えた Identity Service の Security Configuration タブ。

  1. OpenLM Server サービスを再起動します。

SSL 構成の更新後に OpenLM Server サービスを再起動する Windows のサービスコンソール。

  1. 接続を確認するには、アドレスバーに更新後の EasyAdmin アドレスを入力します: https://FQDN:port

証明書を更新または置き換える​

証明書の有効期限が切れたら、HTTPS を提供する各コンポーネント(Identity Service、OpenLM SLM、DSS)で証明書を置き換えます。URL は変わりません。変更するのは証明書ファイルと、変わった場合はそのパスワードだけです。

始める前に:

  • 新しい証明書を、秘密キーを含む .pfx ファイルとして入手し、パスワードを控えます。これらのコンポーネントは、Windows の証明書ストアではなくファイルから証明書を読み込みます。
  • 新しい証明書、またはそれを発行した証明機関を、HTTPS で OpenLM に接続するすべてのマシン(DSA、Broker、ワークステーションのマシンを含む)の信頼された証明書ストアにインストールします。Linux 上の Broker の場合は、Java キーストアにもインポートします。証明書を信頼する を参照してください。

次の順序で証明書を置き換えます。

  1. Identity Service: 新しい .pfx ファイルを C:\Program Files\OpenLM\OpenLM Identity Service\SecurityService\cert にコピーします。ファイル名またはパスワードが以前と異なる場合は、appsettings.json の Kestrel → Endpoints → Http → Certificate にある Path と Password を更新します。SigningCredential は変更しないでください。これは Identity Service がトークンの署名に使用する証明書で、HTTPS の証明書ではありません。Identity Service を再起動します。
  2. OpenLM SLM: 新しい .pfx ファイルを C:\Program Files\OpenLM\OpenLM Server\bin\Cert にコピーします。ファイル名またはパスワードが異なる場合は、appsettings.json の Kestrel → Certificates → Default にある Path と Password を更新します。OpenLM Server サービスを再起動します。
  3. DSS: DSS UI で SSL トグルをオンのままにし、DSS & DSA SSL 構成 と同様に新しい証明書のパスとパスワードを入力します。これらの設定は、DSS インストールフォルダーの kestrel.config に CertFileName と CertPassword として保存されます。DSS サービスを再起動します。

DSA、Broker、Workstation Agent には専用の証明書は不要です。新しい証明書を信頼するだけで済みます。

結果を確認するには、EasyAdmin、Identity Service UI、DSS UI を HTTPS で開き、ブラウザーの鍵アイコンを選択して証明書の有効期限を確認します。

警告

OpenLM SLM の appsettings.json の Kestrel → Endpoints → Http にある Url は、https://FQDN:5015 のような完全なアドレスのままにしてください。空の場合や * を含む場合、OpenLM SLM は起動時に Kestrel セクションを書き直し、認識しない設定を削除します。

HTTPS リクエストのリダイレクトを有効にする(任意)​

注意

対応バージョン: OpenLM SLM 24.1+

OpenLM Software License Management (SLM) v24.1 以降を新規インストールまたはアップグレードすると、appsettings.json(既定のパス: C:\Program Files\OpenLM\OpenLM Server\bin)に追加のパラメーターが表示されます。このパラメーターは、受信した HTTP リクエストを HTTPS へ自動的にリダイレクトするかどうかを制御します。

"HTTPSRequestsRedirectionEnabled": false

既定では、リダイレクトはオフ(false)です。オンにすると、HTTP エンドポイントに届いたリクエストはすべて HTTPS エンドポイントへリダイレクト(HTTP 301/302)されます。

HTTPS リダイレクトを有効にする​

  1. appsettings.json を開きます(管理者権限が必要です)。
  2. パラメーターの値を次のように変更します。
    "HTTPSRequestsRedirectionEnabled": true,
  3. Kestrel > Endpoints ノードに HTTPS の Kestrel エンドポイントを追加(または確認)します。例:
    "Kestrel": {
    "Endpoints": {
    "Http": {
    "Url": "http://*:5015"
    },
    "Https": {
    "Url": "https://FQDN:5443",
    "Certificate": {
    "Path": "./cert/cert.pfx",
    "Password": "<certificate-password>"
    }
    }
    }
    }
  4. HTTP ポートとは別の HTTPS ポートを選び、他のサービスが使用していないことを確認します(例: 443、8443、5443)。ファイアウォール規則に合い、クライアントから到達できる空きポートであれば、どれでも使用できます。
  5. 証明書ファイル(cert.pfx)を C:\Program Files\OpenLM\OpenLM Server\bin\Cert(または指定したパス)に配置し、パスワードを確認します。
  6. ファイルを保存し、OpenLM Server サービスを再起動します。

HTTPS リダイレクトを無効にする​

自動リダイレクトを無効にする必要がある場合は、次の手順を実行します。

  1. パラメーターを次の値に戻します。
    "HTTPSRequestsRedirectionEnabled": false,
  2. (任意)以前に追加した Https エンドポイントのブロックを削除します。Http エンドポイントは必ず残してください。最小構成の有効な Kestrel セクションの例:
    "Kestrel": {
    "Endpoints": {
    "Http": {
    "Url": "http://*:5015"
    }
    }
    }
  3. OpenLM Server サービスを再起動します。

重要な注意事項​

  • Http エンドポイントは削除しないでください。 これがないとサーバーが起動しません。
  • HTTPS とリダイレクトを有効にしている場合でも、Http エンドポイントを残します。
  • リダイレクトを有効にすると、http:// を使うクライアントは自動的にリダイレクトされます。それでも、各コンポーネントの構成は https:// の URL を直接使うように更新してください。
  • Identity Service の URL(Authority)は、このガイドの前半で示したとおり HTTPS のままにしておきます。
  • ファイアウォール / リバースプロキシ: 選択した HTTPS ポートを開放し、HTTPS トラフィックを正しく転送するようにロードバランサーの規則を調整します。

確認​

  1. HTTP の URL(例: http://FQDN:5015)にアクセスします。HTTPS の URL へ自動的にリダイレクトされます。
  2. ブラウザーに鍵アイコン(信頼された証明書)が表示されることを確認します。表示されない場合は、Windows の証明書ストアで証明書チェーンを確認し、中間証明書とルート証明書があることを確かめます。
  3. OpenLM SLM のログで、HTTPS ポートや証明書に関する Kestrel のバインドエラーがないかを確認します。

トラブルシューティング​

症状考えられる原因対処
サービスが起動しないHttp エンドポイントがないKestrel > Endpoints に Http エンドポイントを追加し直します。
ブラウザーがリダイレクトされないHTTPSRequestsRedirectionEnabled が false のまま値が保存されていることを確認し、サービスを再起動します。
HTTPS ポート使用中のエラー他のサービスとのポートの競合別の空きポートを選び、構成を更新して再起動します。
証明書を置き換えた後もブラウザーに古い証明書が表示されるサービスが再起動されていない、または Path が古いファイルを指しているPath と Password を確認してから、サービスを再起動します。
証明書エラー / 信頼されていないCA の信頼がない自己署名証明書を使用しているクライアントマシンに証明書チェーンをインストールするか、CA が署名した証明書を取得します。
リダイレクト後に 404Https の URL が誤っている、またはリバースプロキシの設定ミスHttps エンドポイントの URL とプロキシの転送規則を確認します。

ドキュメントチームは、大規模言語モデルを使ってこのページを下書きすることがあります。公開前に、テクニカルライターがすべてのページをレビューし、製品と照らし合わせて検証します。最終的な判断は人間が行います。