MicroStrategy ONE
証明書ストアを MicroStrategy Library に統合
証明書ストアは元々、REST API を介して外部に公開するデータ源として機能します。公開するのは Workstation の [証明書] セクションに表示するデータです。
MicroStrategy Library との統合
証明書ストアを MicroStrategy Library に統合する手順は簡単で、Library をインストールする際、[証明書ストア] をオンにするだけです。すると証明書ストアの REST API が、MicroStrategy REST API スイートの一部として現れるようになります。
証明書ストアREST API( /api/サービス証明書)は他のAPIと同じウェブエンドポイントから提供されますが、実際には/api/サービス証明書エンドポイントは実際には証明書ストア サーバーにリダイレクトされます。これを実現するのが、Library の web.xml ファイルに設定したプロキシー サーブレットです。
サーブレットはインストーラによって設定され、url-patternプロパティに一致するすべてのURLを取得し、それらをターゲットURI財産。これらの設定を変更してSSLサポートを追加または削除する場合は、ターゲットURIプロパティを変更して、「http」または「https」のいずれかを指定します。
自己署名証明書を使用する場合は、trustAllCertificatesおよびdisableHostnameVerificationプロパティを次のように設定する必要があります。真実。ユーザーが自己署名証明書からCA割り当て証明書に切り替える場合、両方の証明書を次のように設定する必要があります。間違い CA が割り当てた証明書のメリットを享受できます。
<servlet>
<servlet-name>CertificateManagerService</servlet-name>
<servlet-class>org.mitre.dsmiley.httpproxy.ProxyServlet</servlet-class>
<init-param>
<param-name>targetUri</param-name>
<param-value>http://localhost:5050/api/serviceCertificates</param-value>
</init-param>
<init-param>
<param-name>log</param-name>
<param-value>true</param-value>
</init-param>
<!-- SSL SUPPORT START - The following group of parameters are only relevant when the targetUri above uses the "https" protocol. -->
<init-param>
<param-name>truststorePath</param-name>
<param-value>{PATH_TO_TRUSTSTORE}</param-value>
</init-param>
<init-param>
<param-name>truststoreType</param-name>
<param-value>PKCS12</param-value>
</init-param>
<init-param>
<param-name>truststorePassword</param-name>
<param-value>{TRUSTSTORE_PASSWORD_OR_BLANK_IF_NONE}</param-value>
</init-param>
<init-param>
<param-name>keyPassword</param-name>
<param-value>{KEY_PASSWORD_OR_BLANK_IF_NONE}</param-value>
</init-param>
<!-- DEVELOPMENT - START - The following parameters are for development/debugging use only and should not be set to TRUE in production systems. -->
<init-param>
<param-name>trustAllCertificates</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>disableHostnameVerification</param-name>
<param-value>false</param-value>
</init-param>
<!-- DEVELOPMENT END -->
<!-- SSL SUPPORT END -->
</servlet>
<servlet-mapping>
<servlet-name>CertificateManagerService</servlet-name>
<url-pattern>/api/serviceCertificates/*</url-pattern>
</servlet-mapping>
ここで、
- トラストストアパストラストストアをロードするために使用されます。 ServletContext.getResourceAsStream()。
このメソッドのパスルールは、 Oracle ドキュメント。パスはスラッシュで始まる必要があります(/)であり、現在のコンテキストルートまたは/META-INF/リソースウェブアプリケーションの / 内の JAR ファイルのディレクトリWEB-INF/libディレクトリ。パス区切り文字はスラッシュ( / ) を Unix と Windows の両方で使用できます。
- トラストストアタイプさまざまなキーストア/トラストストアタイプを受け入れます。完全なリストについては、 Java SE ドキュメント。MicroStrategy は JKS と PKCS12 に対応しています。
証明書ストアの設定プロパティ
証明書ストアの設定は、アプリケーションプロパティファイル。パラメーターはすべて大文字と小文字の区別があるので、正確に入力してください。
のアプリケーションプロパティ以下の場所にあります:
- ウィンドウズ: <インストールパス>\MicroStrategy\証明書マネージャー
- リナックス: <インストールパス>/証明書マネージャー
このファイルには次のプロパティが含まれています。
プロパティ | 詳細 | メモ |
---|---|---|
server.address |
証明書ストアが REST API 要求を待ち受ける IP アドレス。デフォルト値は 127.0.0.1 で、同じコンピューター上のプロセスのみアクセスできるよう、制限することになります。 無制限にあらゆる IP アドレスから待ち受ける場合は「0.0.0.0」を指定してください。 |
これら3つの設定を変更した場合は、必ず対応する変更を行ってください。ターゲットURI上記のプロキシ サーブレットのプロパティ。
|
server.port |
証明書ストアが REST API 要求を待ち受ける IP ポート。 |
|
server.servlet.context-path |
証明書ストアのエンドポイントのパス。 |
|
server.ssl.key-store |
PKCS12 または PFX キー ストア ファイルへのパス。 例えばクラスパス:/opt/mstr/MicroStrategy/install/ your-cert.crt |
証明書ストアの REST API が HTTPS 上で動作する場合のみ、設定が必要です。
|
server.ssl.key-store-password |
キーストア ファイルのパスフレーズ |
|
server.ssl.key-password |
キーストアに含まれるキーのパスフレーズ |
|
server.ssl.keyStoreType |
キーストアの種類 (デフォルト値は PKCS12) |
|
server.ssl.key-alias |
キーストア内のキーの別名 (キーストアにキーが複数ある場合に使用) |
|
max.certificate.retrieval.time.seconds |
証明書をすべて所定のサービスから取得するために割り当てる最大時間。デフォルト値は 30 秒です。11.1 で定義されたサービスに関しては、これで充分であるはずです。 |
|
consul.host |
Consul エージェントの IP アドレス |
定義されたサービスのリストを取得するために働く Consul エージェントと、このリストを取得し直す (更新する) 頻度を制御します。多くの場合、デフォルト値のままで充分であり、変更する必要はありません。 |
consul.port |
Consul エージェントの IP ポート |
|
consul.initialDelay.milliseconds |
Consul に最初に接続するまでの遅延 (ミリ秒単位) |
|
consul.fixedRate.milliseconds |
Cosul に接続する間隔 (ミリ秒単位) |
|
wss.server.host |
Socket.io の IP アドレス |
これらの2つの設定は、ソケット.io GUI が非同期を受信するために接続できるエンドポイント。既存のサービスとその証明書の状態に関する更新。ファイアウォールは、このエンドポイントへのWebSocketアクセスを許可する必要があることに注意してください(ソケット.ioコラボレーションサーバーでの接続) |
wss.server.port |
Socket.io の IP ポート |
|
spring.mail.host |
メール サーバーの IP アドレス |
証明書ストアが電子メール ホストと通信する方法を設定します。デフォルトでは SMTP で通信します。ただし、IP アドレスなどの指定が必要です。インストールの時点では未設定になっているので、別途指定してください。 |
spring.mail.port |
メール サーバーの IP ポート |
|
spring.mail.protocol |
メール サーバーとやり取りするプロトコル (SMTP) |
|
spring.mail.properties.mail.smtp.connectiontimeout |
メール ホストとの接続に関するタイムアウト |
|
spring.mail.properties.mail.smtp.timeout |
|
|
spring.mail.properties.mail.smtp.writetimeout |
メール ホストへのデータ送信に関するタイムアウト |
|
spring.mail.default-encoding |
メール ホストにデータを送信する際のエンコーディング |
|
expiry.notification.days |
|
証明書ストアは定期的に見つかった証明書をスキャンして、期限切れになった証明書や今後期限切れになる証明書を探します。有効期限通知日数 } 日間。 これは、証明書のスキャン処理を制御し、通知の送信先メール アドレスを定義する設定です。 複数のメール アドレスを指定する場合は、次のようにカンマ区切りで記述してください: expiry.notification.email=user1@domain.net,user2@domain.net expiry.notification.email が空であれば、通知を送りません。 メールを送信するためには expiry.notification.email.from の指定も必要です。 |
expiration.check.initialDelay.milliseconds |
証明書の期限切れを、初めてスキャンするまでの期間 (ミリ秒単位)。 |
|
expiration.check.fixedRate.milliseconds |
証明書の期限切れをスキャンする間隔 (ミリ秒単位)。 |
|
expiry.notification.email |
|
|
expiry.notification.email.from |
|
|
profile.name |
アプリケーション内でプロファイルの選択に使用される Spring フレームワーク。 |
プロファイルは、さまざまな構成プロパティを 1 つのファイルにまとめ、一括して適用できるようにしたものです。プロフィールを以下のもの以外に変更することはお勧めしません。製品。 |
クラスター化環境における注意事項
証明書ストアのプロセスは通常、REST API 要求を localhost:5050 で待ち受けます。サーバーはループバック インターフェイスに束縛されているので、同じコンピューター上のプロセスしか API 要求できません。
クラスター化環境では、各ノードで証明書ストアのプロセスが走ります。証明書ストアは Consul に登録されたサービスをもとにデータを構築します。Consul には全ノードのエントリがあるので、証明書ストアにも、ある特定ノード上だけでなく、クラスターの全サービスに関するエントリが集まることになります。しかし、ループバック アドレスに束縛されたサービスがあると、クラスターに属する他のノードから証明書を取得できません。
Library に関するその他の注意事項
ライブラリのインストールに証明書ストアがない場合でも、プロキシサーブレットは設定できますが、ターゲットURI有効なエンドポイントを指しません。この場合、「502 Bad Gateway」エラー (または 5xx レベルの他の HTTP エラー) が発生します。その場合、証明書ストアを別途インストールするか、Library の web.xml ファイルからプロキシー サーブレットに関する設定を削除してください。