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 ファイルからプロキシー サーブレットに関する設定を削除してください。
