Strategy ONE
Configurar SSL para PostgreSQL e Platform Analytics Consumer
A comunicação entre o consumidor do Platform Analytics e um banco de dados PostgreSQL pode ser configurada para usar SSL para criptografia e autenticação. Para obter mais informações, consulte o Documentação do PostgreSQL de .
- Windows
- Linux
Configuração do PostgreSQL Server
Você deve ter OpenSSL versão 1.1.0 ou posterior instalada.
-
Executar o
OpenSSL como Administrador para gerar uma chave privada. Você deve fornecer uma senha ao gerar a chave privada:openssl não é incluído no início de cada linha porque os comandos estão sendo executados com o aplicativo OpenSSL. Se os certificados e chaves estiverem sendo gerados em um sistema Unix, pode ser necessário incluir openssl antes de cada linha.
Copiargenrsa -des3 -out server.key 1024
rsa -in server.key -out server.key -
Crie o certificado do servidor:
Talvez o aplicativo OpenSSL precise ser reinicializado para criar o certificado do servidor com êxito.
-subj é um atalho para evitar a solicitação de informações.
-x509 produz um certificado autoassinado em vez de uma solicitação de certificado.
Copiarreq -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP or HOSTNAME"
-
Abra o Prompt de comando ou o Explorador de arquivos e navegue até onde o certificado do servidor está localizado.
-
Copie o certificado do servidor recém-criado para criar a autoridade de certificação:
Copiarcopy server.crt root.crt
-
Adicione o seguinte ao postgres.conf arquivo:
Copiarlisten_addresses = '*' # what IP address(es) to listen on;
Remova o comentário e altere o seguinte:
Copiarssl = on
ssl_ca_file = '\\LOCATION_OF_FILE\\root.crt'
ssl_cert_file = '\\LOCATION_OF_FILE\\server.crt'
ssl_key_file = '\\LOCATION_OF_FILE\\server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on -
No pg_hba.conf arquivo, adicione ou modifique o seguinte:
Você pode precisar comentar as entradas do host.
hostssl aplica SSL para DB_USERNAME.
clientcert=1 impõe autenticação de cliente (autenticação bidirecional).
Copiarhostssl platform_analytics_wh DB_USERNAME
CLIENT_IP/32 cert clientcert=1 -
Salve as alterações nos dois arquivos.
- Abrir Iniciar > Serviços e reinicie o PostgreSQL ou o Repositório MicroStrategy .
Configuração do cliente
-
Crie a chave privada e o certificado:
Copiargenrsa -des3 -out postgresql.key 1024
rsa -in postgresql.key -out postgresql.key
req -new -key postgresql.key -out postgresql.csr -subj "/CN=DB_USERNAME"
x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserialSe você receber uma mensagem de erro, pode ser necessário comentar tsa_policy1 no openssl.cnf arquivo . Salvar e reiniciar openssl como administrador.
Copiar# Policies used by the TSA examples.
#tsa_policy1 = 1.2.3.4.1
tsa_policy2 = 1.2.3.4.5.6
tsa_policy3 = 1.2.3.4.5.7 -
Converta a chave privada no formato DER usando o comando abaixo:
O driver JDBC PostgreSQL usado pelo Platform Analytics exige que o arquivo de chaves esteja no formato DER, em vez de no formato PEM.
Copiarpkcs8 -topk8 -inform PEM -in postgresql.key -outform
DER -nocrypt -out postgresql.key.der -
Dependendo do driver ODBC que está sendo usado para o PostgreSQL, um armazenamento de chaves pode ser necessário. Para criar um armazenamento de chaves:
Copiarpkcs12 -export -in postgresql.crt -inkey
postgresql.key -out postgresql.p12 -
Copie os arquivos que foram criados para a máquina do cliente e atualize o PAConsumerConfig.yaml com o caminho abaixo para o certificado e a chave.
A chave do cliente está no DER formato.
CopiarpgWarehouseDbConnection:
pgWhHost: YOUR_HOST
pgWhUser: DB_USERNAME
pgWhPasswd: YOUR_PASSWORD
pgWhPort: 5432
pgWhDb: platform_analytics_wh
pgWhSSLcert: \LOCATION_OF_FILE\postgresql.crt
pgWhSSLkey: \LOCATION_OF_FILE\postgresql.key.der
pgWhSSLrootcert: \LOCATION_OF_FILE\root.crt
pgWhSSLmode: verify-ca
Configuração do PostgreSQL Server
-
Gere uma chave privada usando o OpenSSL. Você deve fornecer uma senha ao gerar uma chave privada:
Copiaropenssl genrsa -des3 -out server.key 1024
-
Remova a senha:
Copiaropenssl rsa -in server.key -out server.key
-
Conceda acesso ao arquivo de chaves.
As permissões em server.key deve desabilitar qualquer acesso ao mundo ou grupo. Faça isso definindo a chmod permissão para 0600. Como alternativa, o arquivo pode ser propriedade de root e ter acesso de leitura de grupo, ou seja, chmod 0640 permissões. Esta configuração se destina a instalações em que os arquivos de chave e certificado são gerenciados pelo sistema operacional. O usuário sob o qual o servidor PostgreSQL é executado deve se tornar membro do grupo que tem acesso a esse certificado e arquivos de chaves.
Altere as permissões do arquivo e o proprietário para o usuário do sistema executando PostgreSQL:
Copiarchown PSQL_OWNER:PSQL_OWNER server.key
chmod 0600 server.keySe for propriedade de root:
Copiarchown root:root server.key
chmod 06040 server.key -
Crie o certificado do servidor e a autoridade de certificação:
-subj é um atalho para evitar a solicitação das informações.
-x509 produz um certificado autoassinado em vez de uma solicitação de certificado.
Copiaropenssl req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP OR HOSTNAME"
cp server.crt root.crt -
Faça o seguinte para todos os certificados criados:
Copiarchown PSQL_OWNER:PSQL_OWNER server.crt
chmod 0600 server.crt
chown PSQL_OWNER:PSQL_OWNER root.crt
chmod 0600 root.crt -
Adicione o seguinte ao postgres.conf arquivo:
Copiarlisten_addresses = '*' # what IP address(es) to listen on;
Remova o comentário e altere o seguinte:
Copiarssl = on
ssl_ca_file = '/LOCATION_OF_FILE/root.crt'
ssl_cert_file = '/LOCATION_OF_FILE/server.crt'
ssl_key_file = '/LOCATION_OF_FILE/server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on -
No pg_hba.conf arquivo, adicione ou modifique o seguinte:
Você pode precisar comentar as entradas do host.
hostssl aplica SSL para DB_USERNAME.
clientcert=1 impõe autenticação de cliente (autenticação bidirecional).
Copiarhostssl platform_analytics_wh DB_USERNAME CLIENT_IP/32 cert clientcert=1
-
Reinicie o PostgreSQL ou o Repositório MicroStrategy .
Se o PostgreSQL foi instalado fora do MicroStrategy, use um comando como o seguinte:
Copiarsystemctl restart postgresql-11
Se o MicroStrategy Repository for usado para o Platform Analytics, use o seguinte comando:
Este comando não pode ser executado como root.
Copiarcd /opt/MicroStrategy/PlatformAnalytics/bin
./mstr_pg_ctl restart
Configuração do cliente
-
Crie a chave privada e o certificado:
Copiaropenssl genrsa -des3 -out postgresql.key 1024
openssl rsa -in postgresql.key -out postgresql.key
openssl req -new -key postgresql.key -out postgresql.csr -subj "/CN=DB_USERNAME"
openssl x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserial -
Converta a chave privada no formato DER usando o comando abaixo:
O driver JDBC PostgreSQL usado pelo Platform Analytics exige que o arquivo de chaves esteja no formato DER, em vez de no formato PEM.
Copiaropenss1 pkcs8 -topk8 -inform PEM -in postgresql.key -outform DER -nocrypt -out postgresql.key.der
-
Dependendo do driver ODBC que está sendo usado para o PostgreSQL, um armazenamento de chaves pode ser necessário. Para criar um armazenamento de chaves:
Copiaropenss1 pkcs12 -export -in postgresql.crt -inkey postgresql.key -out postgresql.p12
-
Copie os arquivos que foram criados para a máquina do cliente e atualize o PAConsumerConfig.yaml com o caminho abaixo para o certificado e a chave.
A chave do cliente está no DER formato.
CopiarpgWarehouseDbConnection:
pgWhHost: YOUR_HOST
pgWhUser: DB_USERNAME
pgWhPasswd: YOUR_PASSWORD
pgWhPort: 5432
pgWhDb: platform_analytics_wh
pgWhSSLcert: /LOCATION_OF_FILE/postgresql.crt
pgWhSSLkey: /LOCATION_OF_FILE/postgresql.key.der
pgWhSSLrootcert: /LOCATION_OF_FILE/root.crt
pgWhSSLmode: verify-ca