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