MicroStrategy ONE

Integrazione dell'archivio certificati con MicroStrategy Library

L'archivio certificati funge principalmente da origine dati esposta tramite un'API REST. Questa origine dati fornisce i dati da visualizzare nella sezione Certificati della finestra Workstation.

Integrazione con MicroStrategy Library

Per integrare Archivio certificati con MicroStrategy Library, è possibile selezionare Archivio certificati durante l'installazione di Library. In questo modo si farà in modo che l'API REST dell'archivio certificati appaia come parte dell'intera suite di API REST di MicroStrategy.

Quindi, anche se sembra che l'API REST dell'archivio certificati (/api/serviceCertificates ) è servito dallo stesso endpoint Web delle altre API, in realtà richieste rivolte a /api/serviceCertificates endpoint vengono effettivamente reindirizzati al server archivio certificati. Questo reindirizzamento viene eseguito da un servlet proxy configurato nel file web.xml di Library.

Il servlet viene configurato dal programma di installazione, accetta tutti gli URL che corrispondono alla proprietà url-pattern e li reindirizza all'URL specificato nella targetUri proprietà. Se si stanno modificando queste impostazioni per aggiungere o rimuovere il supporto SSL, è necessario aggiornare il targetUri in modo da specificare "http" o "https".

Se vengono utilizzati certificati autofirmati, le proprietà trustAllCertificates e disableHostnameVerification devono essere impostate su vero. Se un utente passa dai certificati autofirmati a quelli assegnati da un'autorità di certificazione, è necessario impostare entrambi i certificati su falso di ricevere i vantaggi della certificazione assegnata dalla CA.

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

Dove:

  • truststorePath viene utilizzato per caricare il truststore gestito da ServletContext.getResourceAsStream().  

    Le regole del percorso per questo metodo sono disponibili in Documentazione Oracle. Il percorso deve iniziare con una barra (/ ) e viene interpretato come relativo alla radice del contesto corrente o relativo a /META-INF/risorse directory di un file JAR all'interno della directory / dell'applicazione WebWEB-INF/lib directory. Il separatore di percorso è una barra (/ ) sia in Unix che in Windows.

  • truststoreType accetta diversi tipi di keystore/truststore; per un elenco completo, vedere Documentazione Java SE. MicroStrategy supporta JKS e PKCS12.

Proprietà di configurazione dell'archivio certificati

Le impostazioni per l'archivio certificati possono essere modificate modificando il file proprietà.applicazione file. Tutti i parametri fanno distinzione tra maiuscole e minuscole e devono essere immessi correttamente affinché le modifiche abbiano effetto.

Il proprietà.applicazione può essere trovato in:

  • Windows: < PERCORSO_INSTALLAZIONE> \MicroStrategy\Gestione certificati
  • Linux: < PERCORSO_INSTALLAZIONE> /Gestione certificati

Questo file include le seguenti proprietà:

Proprietà Dettagli Note

indirizzo del server

L'indirizzo IP che l'archivio certificati utilizzerà per ascoltare le richieste API REST in entrata. Per impostazione predefinita è impostato su 127.0.0.1 per limitare l'accesso ai processi sulla stessa macchina.

Per ascoltare su tutti gli indirizzi IP, specificare 0.0.0.0 come indirizzo.

Se si modifica una di queste tre impostazioni, assicurarsi di apportare la modifica corrispondente a targetUri del servlet proxy descritto sopra.

 

porta del server

La porta IP che l'archivio certificati utilizzerà per ascoltare le richieste API REST in entrata.

server.servlet.percorso-contesto

Percorso dell'endpoint dell'archivio certificati.

server.ssl.key-store

Il percorso del file di archivio chiavi PKCS12 o PFX,

ad es percorso classe:/opt/mstr/MicroStrategy/install/

il tuo-cert.crt

 

Queste impostazioni sono rilevanti solo se l'API REST dell'archivio certificati è in esecuzione su HTTPS.

 

server.ssl.key-store-password

Passphrase per il file di archivio chiavi

server.ssl.chiave-password

Passphrase per la chiave contenuta nel keystore

server.ssl.keyStoreType

Tipo di archivio chiavi, l'impostazione predefinita è PKCS12

server.ssl.key-alias

Alias della chiave nel keystore, utilizzato se il keystore contiene più chiavi

tempo.max.di.recupero.del.certificato.in.secondi

Quantità massima di tempo per consentire il recupero di tutti i certificati dai servizi definiti. Il valore predefinito è 30 secondi, che dovrebbe essere un tempo più che sufficiente per i servizi definiti in 11.1.

 

console.host

Indirizzo IP dell'agente Console

Queste impostazioni controllano quale agente Consul viene contattato per l'elenco dei servizi definiti e la frequenza con cui l'agente viene contattato per aggiornare tale elenco. Le impostazioni predefinite dovrebbero essere sufficienti per la maggior parte delle installazioni e gli utenti non dovrebbero aver bisogno di modificarle.

console del porto

Porta IP dell'agente Console

consul.initialDelay.milliseconds

Ritardo (in millisecondi) prima della connessione iniziale a Console

consul.fixedRate.milliseconds

Intervallo (in millisecondi) tra ogni connessione a Cosul

wss.server.host

Indirizzo IP Socket.io

Queste due impostazioni controllano il Socket.io endpoint a cui le GUI possono connettersi per ricevere la versione asincrona. aggiornamenti relativi ai servizi esistenti e allo stato dei relativi certificati. Si noti che il firewall deve consentire a WebSocket l'accesso a questo endpoint (in modo simile a Socket.io connessione nel Server di collaborazione)

wss.server.porta

Porta IP Socket.io

spring.mail.host

Indirizzo IP del server di posta

Queste impostazioni configurano il modo in cui l'archivio certificati comunica con un host di posta elettronica. L'impostazione predefinita prevede l'utilizzo di SMTP, ma l'utente deve fornire l'indirizzo IP e così via. Per impostazione predefinita, non è configurato dal programma di installazione e deve essere abilitato manualmente dall'utente.

spring.mail.port

Porta IP del server di posta

spring.mail.protocollo

Protocollo del server di posta (SMTP)

spring.mail.properties.mail.smtp.connectiontimeout

Timeout per la connessione all'host di posta

spring.mail.properties.mail.smtp.timeout

 

spring.mail.properties.mail.smtp.writetimeout

Timeout nell'invio dei dati all'host di posta

spring.mail.default-encoding

Codifica utilizzata per inviare dati all'host di posta

giorni.di.notifica.di.scadenza

 

L'archivio certificati analizza periodicamente i certificati trovati per cercare quelli che sono scaduti o che scadranno entro il {giorni.notifica.discadenza } giorni.

Queste impostazioni controllano il processo di scansione del certificato e definiscono quale indirizzo email riceverà le notifiche.

È possibile specificare più indirizzi e-mail mediante un elenco separato da virgole, ad es.

scadenza.notification.email=utente1@dominio.net,utente2@dominio.net

Non viene inviata alcuna notifica se expiry.notification.email è vuota.

expiry.notification.email.from deve essere specificato affinché le email vengano inviate con successo.

scadenza.check.initialDelay.milliseconds

Ritardo (in millisecondi) prima che i certificati vengano scansionati per individuare i certificati scaduti.

scadenza.check.fixedRate.milliseconds

Intervallo tra ciascuna scansione per certificati scaduti/in scadenza.

email.di.notifica.di.scadenza

 

email.di.notifica.di.scadenza.da

 

nome del profilo

Un'impostazione del framework Spring utilizzata per selezionare un profilo all'interno dell'applicazione.

Un profilo raccoglie diverse proprietà di configurazione in un unico file in modo che possano essere applicate insieme. Si sconsiglia di modificare il profilo con un'impostazione diversa da prod.

Considerazioni sugli ambienti cluster

Il processo di archiviazione certificati normalmente ascolta le richieste API REST su localhost:5050. Il server è legato all'interfaccia di loopback in modo che solo i processi sulla stessa macchina possano effettuare richieste API.

In un ambiente cluster, è presente un processo di archiviazione certificati su ciascun nodo. Poiché Archivio certificati crea i propri dati dai servizi registrati con Consul e Console contiene voci per tutti i nodi, Archivio certificati conterrà voci per tutti i servizi nel cluster e non per i servizi sul nodo corrente. Tuttavia, poiché alcuni servizi sono associati all'indirizzo di loopback, alcuni certificati non potranno essere recuperati da altri nodi del cluster.

Altre considerazioni su Library

Se l'installazione di Library non dispone di un archivio certificati, è possibile che il servlet proxy sia ancora configurato, ma l'estensione targetUri non punterà a un endpoint valido. Gli utenti con questa configurazione riceveranno un errore 502 Bad Gateway (o altri errori HTTP di livello 5xx). Per risolvere questi errori, è possibile installare l'archivio certificati o rimuovere la configurazione del servlet proxy dal file web.xml di Library.