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