Strategy ONE

Integración del almacén de certificados con MicroStrategy Library

El almacén de certificados sirve principalmente como fuente de datos expuesta a través de una API REST. Esta fuente de datos proporciona los datos que se mostrarán en la sección Certificados de la ventana Estación de trabajo.

Integración con MicroStrategy Library

Para integrar el Almacén de certificados con MicroStrategy Library, puede seleccionar Almacén de certificados al instalar Library. Esto garantizará que la API de REST del almacén de certificados aparece como parte del conjunto completo de API de REST de MicroStrategy.

Por lo tanto, aunque parece que la API de REST del almacén de certificados (/api/serviceCertificates ) es atendida desde el mismo punto de conexión web que las demás API, en realidad solicitudes realizadas a la /api/serviceCertificates de conexión se redirigen en realidad al servidor de almacén de certificados. Esta redirección la realiza un servlet de proxy configurado en el archivo web.xml de Library.

El instalador ha configurado el servlet y toma todos los URL que coinciden con la propiedad de patrón-de-url y los redirige al URL especificado en el targetUri propiedad. Si está modificando esta configuración para añadir o quitar compatibilidad con SSL, debe actualizar el targetUri de modo que especifique "http" o "https".

Si se utilizan certificados autofirmados, las propiedades trustAllCertificates y disabledHostnameVerification deben establecerse en verdadero. Si un usuario cambia de certificados autofirmados a certificados asignados por una CA, debe establecer ambos certificados en false para beneficiarse del certificado asignado por la CA.

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

Donde:

  • truststorePath se utiliza para cargar el truststore, que está a cargo de ServletContext.getResourceAsStream().  

    Las reglas de ruta de acceso de este método se incluyen en el archivo Documentación de Oracle. La ruta debe comenzar con una barra inclinada (/ ) y se interpreta como relativo a la raíz de contexto actual o relativo a la /META-INF/resources de un archivo JAR dentro del directorio / de la aplicación webWEB-INF/lib directorio. El separador de ruta es una barra inclinada (/ ) en Unix y Windows.

  • truststoreType acepta distintos tipos de almacén de claves/almacén de confianza; para obtener una lista completa, consulte el Documentación de Java SE. MicroStrategy es compatible con JKS y PKCS12.

Propiedades de configuración del almacén de certificados

La configuración del almacén de certificados se puede cambiar editando el application.properties archivo. Todos los parámetros distinguen entre mayúsculas y minúsculas y deben ingresarse correctamente para que los cambios surtan efecto.

El application.properties se puede encontrar en:

  • Ventanas: < INSTALL_PATH> \MicroStrategy\Certificate Manager
  • Linux: < INSTALL_PATH> /Administrador de certificados

Este archivo incluye las siguientes propiedades:

Propiedad Detalles Notas

dirección del servidor

Dirección IP que el almacén de certificados utilizará para escuchar las solicitudes entrantes de API REST. De forma predeterminada, esto está configurado en 127.0.0.1 para restringir el acceso a los procesos en la misma máquina.

Para escuchar en todas las direcciones IP, especifique 0.0.0.0 como dirección.

Si modifica cualquiera de estos tres parámetros, asegúrese de hacer el cambio correspondiente en el targetUri propiedad del servlet del proxy descrito anteriormente.

 

Puerto de servicio

El puerto IP que el almacén de certificados utilizará para escuchar las solicitudes entrantes de API REST.

servidor.servlet.ruta-contexto

Ruta al punto final del almacén de certificados.

server.ssl.key-store

La ruta al archivo de almacén de claves PKCS12 o PFX,

p. ej. classpath:/opt/mstr/MicroStrategy/install/

su-cert.crt

 

Esta configuración es relevante solo si la API REST del almacén de certificados se ejecuta a través de HTTPS.

 

server.ssl.key-store-contraseña

Frase de contraseña para el archivo del almacén de claves

servidor.ssl.clave-contraseña

Frase de contraseña para la clave contenida en el almacén de claves

servidor.ssl.keyStoreType

Tipo de almacén de claves, el valor predeterminado es PKCS12

servidor.ssl.alias-clave

Alias de clave en el almacén de claves, utilizado si el almacén de claves contiene varias claves

tiempo.máximo.de.recuperación.de.certificado.segundos

Cantidad máxima de tiempo para permitir la recuperación de todos los certificados de los servicios definidos. El valor predeterminado es 30 segundos, lo que debería ser tiempo más que suficiente para los servicios definidos en 11.1.

 

cónsul.host

Dirección IP del agente cónsul

Estas configuraciones controlan a qué agente de Consul se contacta para obtener la lista de servicios definidos y con qué frecuencia se contacta al agente para actualizar esa lista. La configuración predeterminada debería ser suficiente para la mayoría de las instalaciones y los usuarios no deberían necesitar cambiarla.

cónsul del puerto

Puerto IP del agente cónsul

cónsul.initialDelay.milisegundos

Retraso (en milisegundos) antes de la conexión inicial con Consul

cónsul.fixedRate.milisegundos

Intervalo (en milisegundos) entre cada conexión a Cosul

wss.servidor.host

Dirección IP de Socket.io

Estos dos ajustes controlan el Socket.io Punto de conexión al que se pueden conectar las GUI para recibir async. actualizaciones sobre los servicios existentes y el estado de sus certificados. Tenga en cuenta que el cortafuegos debe permitir el acceso de WebSocket a este punto de conexión (similar al Socket.io en el servidor de Colaboración)

puerto.servidor.wss

Puerto IP Socket.io

primavera.correo.host

Dirección IP del servidor de correo

Estas configuraciones configuran cómo el almacén de certificados se comunica con un host de correo electrónico. El valor predeterminado es usar SMTP, pero el usuario debe proporcionar la dirección IP, etc. Por defecto, esto no está configurado por el instalador y debe habilitarse manualmente por el usuario.

puerto.de.correo.de.primavera

Puerto IP del servidor de correo

protocolo.de.correo.de.primavera

Protocolo de servidor de correo (SMTP)

spring.mail.properties.mail.smtp.connectiontimeout

Tiempo de espera para conectarse al servidor de correo

spring.mail.properties.mail.smtp.tiempo de espera

 

spring.mail.properties.mail.smtp.writetimeout

Se agotó el tiempo de envío de datos al servidor de correo

spring.mail.codificación predeterminada

Codificación utilizada para enviar datos al host de correo.

caducidad.notificación.días

 

El Almacén de certificados escanea periódicamente los certificados que encuentra para buscar aquellos que hayan caducado o que caduquen en los próximos {expiración.notificación.días } días.

Esta configuración controla este proceso de escaneo de certificados y define qué dirección de correo electrónico recibirá las notificaciones.

Se pueden especificar varias direcciones de correo electrónico mediante una lista separada por comas, p.

caducidad.notificación.correo electrónico=usuario1@dominio.net,usuario2@dominio.net

No se envían notificaciones si el correo electrónico de vencimiento.notificación.email está vacío.

Se debe especificar expiry.notification.email.from para que los correos electrónicos se envíen correctamente.

caducidad.check.initialDelay.milisegundos

Retraso (en milisegundos) antes de que se analicen los certificados en busca de certificados caducados.

caducidad.comprobar.tasafija.milisegundos

Intervalo entre cada escaneo de certificados caducados/caducados.

caducidad.notificación.correo electrónico

 

notificación.de.caducidad.correo.electrónico.de

 

nombre de perfil

Una configuración del marco Spring utilizada para seleccionar un perfil dentro de la aplicación.

Un perfil recopila diferentes propiedades de configuración en un archivo para que puedan aplicarse juntas. No se recomienda cambiar el perfil a ningún otro que no sea prod.

Consideraciones en entornos agrupados

El proceso del almacén de certificados normalmente escucha las solicitudes de API REST en localhost:5050. El servidor está vinculado a la interfaz loopback para que solo los procesos en la misma máquina puedan realizar solicitudes API.

En un entorno agrupado, hay un proceso de almacén de certificados en cada nodo. Debido a que el Almacén de certificados genera sus datos a partir de los servicios registrados con Consul, y Consul contiene entradas para todos los nodos, el Almacén de certificados contendrá entradas para todos los servicios en el clúster y no aquellos servicios en el nodo actual. Sin embargo, debido a que algunos servicios están vinculados a la dirección de bucle invertido, algunos certificados no se podrán recuperar de otros nodos del clúster.

Otras consideraciones sobre Library

Si su instalación de Library no tiene almacén de certificados, es posible que el servlet del proxy aún esté configurado; sin embargo, la targetUri no apuntará a un punto de conexión válido. Los usuarios con esta configuración recibirán un error 502 Bad Gateway (u otros errores HTTP de nivel 5xx). Para resolver estos errores, puede instalar el Almacén de certificados o eliminar la configuración del servlet del proxy del archivo web.xml de Library.