MicroStrategy ONE

Intégration du magasin de certificats avec MicroStrategy Library

Certificate Store sert principalement de source de données exposée via une API REST. Cette source de données fournit les données à afficher dans la section Certificats de la fenêtre Poste de travail.

Intégration avec MicroStrategy Library

Pour intégrer le magasin de certificats à MicroStrategy Library, vous pouvez sélectionner le magasin de certificats lors de l'installation de Library. Cela garantira que l'API REST du magasin de certificats semble faire partie de l'ensemble de la suite d'API REST de MicroStrategy.

Ainsi, même s'il semble que l'API REST du magasin de certificats (/api/serviceCertificates ) est servie à partir du même point de terminaison Web que les autres API, dans la réalité les requêtes faites à /api/serviceCertificates Le point de terminaison est en fait redirigé vers le serveur du magasin de certificats. Cette redirection est effectuée par un servlet proxy configuré dans le fichier Library web.xml.

Le servlet est configuré par le programme d'installation, prend toutes les URL qui correspondent à la propriété de modèle d'url et les redirige vers l'URL spécifiée dans Uri cible propriété. Si vous modifiez ces paramètres pour ajouter ou supprimer la prise en charge SSL, vous devez mettre à jour Uri cible pour indiquer soit « http », soit « https ».

Si des certificats auto-signés sont utilisés, les propriétés trustAllCertificates et désactiverHostnameVerification doivent être définies sur vrai. Si un utilisateur bascule entre des certificats auto-signés et affectés par une autorité de certification, il doit définir les deux certificats comme faux pour bénéficier des avantages du cert.

Copier
<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>

Où :

  • chemin du magasin de confiance est utilisé pour charger le magasin de confiance qui est géré par ServletContext.getResourceAsStream().  

    Les règles de chemin d'accès pour cette méthode peuvent être trouvées dans la Documentation Oracle. Le chemin doit commencer par une barre oblique (/ ) et est interprété comme relatif à la racine de contexte actuelle ou par rapport à la /META-INF/ressources répertoire d'un fichier JAR dans l'application Web /WEB-INF/lib répertoire. Le séparateur de chemin est une barre oblique (/ ) sous Unix et Windows.

  • type de magasin de confiance accepte divers types de magasins de clés/de confiance, pour une liste complète, consultez la Documentation Java SE. MicroStrategy prend en charge JKS et PKCS12.

Propriétés de configuration du magasin de certificats

Les paramètres du magasin de certificats peuvent être modifiés en modifiant le application.propriétés fichier. Tous les paramètres sont sensibles à la casse et doivent être saisis correctement pour que les modifications prennent effet.

Le application.propriétés peut être trouvé dans :

  • Windows : < INSTALL_PATH> \MicroStrategy\Certificate Manager
  • Linux : < INSTALL_PATH> /Gestionnaire de certificats

Ce fichier inclut les propriétés suivantes :

Propriété Détails Notes

adresse du serveur

Adresse IP que le magasin de certificats utilisera pour écouter les requêtes API REST entrantes. Par défaut, la valeur est 127.0.0.1 pour restreindre l'accès aux processus sur la même machine.

Pour écouter sur toutes les adresses IP, spécifiez 0.0.0.0 comme adresse.

Si vous modifiez l'un de ces trois paramètres, assurez-vous d'apporter le changement correspondant à Uri cible Propriété du servlet proxy décrit ci-dessus.

 

port de serveur

Port IP que le magasin de certificats utilisera pour écouter les requêtes API REST entrantes.

serveur.servlet.context-path

Chemin d’accès au point de terminaison du magasin de certificats.

serveur.ssl.key-store

Le chemin d'accès au fichier de clés PKCS12 ou PFX,

par exemple chemin de classe :/opt/mstr/MicroStrategy/install/

votre-cert.crt

 

Ces paramètres ne sont pertinents que si l'API REST de Certificate Store s'exécute sur HTTPS.

 

serveur.ssl.key-store-mot de passe

Phrase secrète pour le fichier de clés

serveur.ssl.key-mot de passe

Phrase secrète pour la clé contenue dans le magasin de clés

serveur.ssl.keyStoreType

Type de magasin de clés, la valeur par défaut est PKCS12

serveur.ssl.key-alias

Alias de la clé dans le magasin de clés, utilisé si le magasin de clés contient plusieurs clés

max.certificate.retrieval.time.seconds

Durée maximale pour permettre la récupération de tous les certificats des services définis. La valeur par défaut est de 30 secondes, ce qui devrait être plus que suffisant pour les services définis dans 11.1.

 

consul.host

Adresse IP de l'agent consul

Ces paramètres contrôlent quel agent Consul est contacté pour la liste des services définis et à quelle fréquence l'agent est contacté pour actualiser cette liste. Les paramètres par défaut devraient être suffisants pour la plupart des installations et les utilisateurs ne devraient pas avoir besoin de les modifier.

consul du port

Port IP de l'agent Consul

consul.initialDelay.milliseconds

Délai (en millisecondes) avant la connexion initiale à Consul

consul.fixedRate.milliseconds

Intervalle (en millisecondes) entre chaque connexion à Cosul

wss.server.host

Adresse IP de Socket.io

Ces deux paramètres contrôlent Prise.io point de terminaison auquel les GUI peuvent se connecter pour recevoir asynchrone. des mises à jour concernant les services existants et l'état de leurs certificats. Notez que le pare-feu doit autoriser l'accès WebSocket à ce point de terminaison (semblable au Prise.io connexion dans Collaboration Server)

wss.server.port

Port IP Socket.io

spring.mail.host

Adresse IP du serveur de messagerie

Ces paramètres configurent la manière dont le magasin de certificats communique avec un hôte de messagerie. La valeur par défaut est d'utiliser SMTP, mais l'utilisateur doit fournir l'adresse IP, etc. Par défaut, cette option n'est pas configurée par le programme d'installation et doit être activée manuellement par l'utilisateur.

spring.mail.port

Port IP du serveur de messagerie

spring.mail.protocole

Protocole de serveur de messagerie (SMTP)

spring.mail.properties.mail.smtp.connectiontimeout

Délai d'attente pour la connexion à l'hôte de messagerie

spring.mail.properties.mail.smtp.timeout

 

spring.mail.properties.mail.smtp.writetimeout

Expiration du délai d'envoi des données à l'hôte de messagerie

spring.mail.default-encodage

Encodage utilisé pour envoyer des données à l'hôte de messagerie

expiration.notification.days

 

Le magasin de certificats analyse périodiquement les certificats qu'il trouve pour rechercher ceux qui ont expiré ou qui expireront dans les prochaines {expiration.notification.jours } jours.

Ces paramètres contrôlent ce processus d'analyse de certificat et définissent quelle adresse e-mail recevra les notifications.

Plusieurs adresses e-mail peuvent être spécifiées par une liste séparée par des virgules, par ex.

expiry.notification.email=user1@domain.net,user2@domain.net

Aucune notification n'est envoyée si le champ expiry.notification.email est vide.

expiry.notification.email.from doit être spécifié pour que les e-mails soient envoyés avec succès.

expiration.check.initialDelay.milliseconds

Délai (en millisecondes) avant que les certificats ne soient analysés pour détecter les certificats expirés.

expiration.check.fixedRate.milliseconds

Intervalle entre chaque analyse des certificats expirés/expirés.

expiration.notification.email

 

expiration.notification.email.from

 

nom de profil

Un paramètre de framework Spring utilisé pour sélectionner un profil dans l'application.

Un profil rassemble différentes propriétés de configuration dans un seul fichier afin qu'elles puissent être appliquées ensemble. Nous ne recommandons pas de modifier le profil pour autre chose que prod.

Considérations dans les environnements clusterisés

Le processus Certificate Store écoute normalement les requêtes API REST sur localhost:5050. Le serveur est lié à l'interface de bouclage afin que seuls les processus sur la même machine puissent effectuer des requêtes API.

Dans un environnement en cluster, il existe un processus de magasin de certificats sur chaque nœud. Étant donné que Certificate Store construit ses données à partir des services enregistrés auprès de Consul et que Consul contient des entrées pour tous les nœuds, Certificate Store contiendra des entrées pour tous les services du cluster et non pour les services du nœud actuel. Toutefois, étant donné que certains services sont liés à l'adresse de bouclage, certains certificats ne pourront pas être récupérés à partir d'autres nœuds du cluster.

Autres considérations Library

Si votre installation Library ne dispose pas d'un magasin de certificats, le servlet proxy peut toujours être configuré, mais la Uri cible ne pointera pas vers un point de terminaison valide. Les utilisateurs avec cette configuration recevront une erreur 502 Bad Gateway (ou d'autres erreurs HTTP de niveau 5xx). Pour résoudre ces erreurs, vous pouvez installer le magasin de certificats ou supprimer la configuration du servlet proxy du fichier Library web.xml.