Configuração
Pré-requisitos
Para a configuração do endpoint, utilizamos como base o Docker CE, um gerenciador de containers que permite simplificar a configuração e gestão da solução. Consulte a documentação oficial para mais informações sobre o Docker e seu funcionamento.
***A ferramenta oficial utilizada para execução do motor de assinaturas é o Docker. Qualquer outra ferramenta ou método de execução, que não seja o Docker, não será suportado pela equipe técnica da Soluti.
***A responsabilidade pela máquina onde estão instalados o componente de assinaturas, Docker e Docker-Compose é inteiramente da instituição. Isso inclui a gestão, manutenção, configuração e suporte técnico do ambiente onde esses serviços estão em execução.
A Soluti fornece o suporte necessário para a utilização do componente de assinaturas, mas qualquer questão relacionada à infraestrutura da máquina em si, como permissões, disponibilidade, atualizações e conectividade, deve ser gerenciada diretamente pela equipe de TI da instituição.
O mínimo necessário para execução:
Será necessário acesso à internet para instalação de ferramentas.
Requisitos de máquina conforme consumo
Até 5.000 assinaturas por dia:
2 Gb de memória RAM
1 núcleo de processamento
25 Gb de armazenamento
A partir de 5.000 assinaturas por dia:
4 Gb de memória RAM
2 núcleo de processamento
25 Gb de armazenamento
A partir de 10.000 assinaturas por dia:
8 Gb de memória RAM
2 núcleo de processamento
50 Gb de armazenamento
A partir de 50.000 assinaturas por dia:
10 Gb de memória RAM
5 núcleo de processamento
500 Gb de armazenamento
A partir de 100.000 assinaturas por dia:
20 Gb de memória RAM
10 núcleo de processamento
1 Tb de armazenamento
Atenção É necessário a instalação do Docker-compose.
Rede e conectividade Para o funcionamento do BirdID Pro é necessário acesso aos endpoints do provedor de assinaturas nas URLs:
https://apicloudid.vaultid.com.br (produção)
https://api.birdid.com.br (produção)
https://apicloudid.hom.vaultid.com.br (homologação)
https://apihom.birdid.com.br (homologação)
https://harbor.lab.vaultid.com.br (endpoint do harbor para baixar imagem do BirdID Pro)
https://cess.lab.vaultid.com.br (homologação)
https://billing.vaultid.com.br (endpoint do Wings para fazer o download da licença do BirdID Pro - ambiente de produção)
https://certifierauthhub.vaultid.com.br (Endpoint que permite o consumo para autenticação em outras certificadoras - ambiente de produção)
É necessário a liberação das URL's para download dos arquivos das LCR's (lista de certificados revogados) referentes aos certificados utilizados. Os repositórios variam de acordo com a Autoridade Certificadora responsável pela emissão do certificado.
Para clientes emitindo pela AC Soluti, os endpoints são:
Para a utilização de carimbo do tempo, é necessário liberar o endpoint da ACT.
A comunicação entre o BirdID Pro e os endpoints citados não pode ser realizada com inspeção SSL/TLS(proxy) ou algum tipo de homem do meio que intercepte e interfira na abertura de sessão.
O tráfego de saída pode ser limitado aos clientes que consomem os serviços e aos endpoints citados.
Configurações
Para iniciar o download da imagem e execução do software utilizando o docker-compose, faça o download do arquivo yaml de exemplo, ou um clone do repositório de demonstração.
Os seguintes parâmetros devem ser definidos dentro do arquivo docker-compose.yaml.
clientIdMd - Caso o cliente esteja utilizando o BirdID Pro para autenticação (/oauth), deverá configurar o clientIdMd e clientSecretMd e sua aplicação precisará passá-los na requisição.
clientSecretMd - Caso o cliente esteja utilizando o cess para autenticação (/oauth), deverá configurar o clientIdMd e clientSecretMd e sua aplicação precisará passá-los na requisição.
redisHost - Caso o cliente opte por utilizar seu cluster previamente instalado, basta configurar o redis host (opcional, default=redis);
redisPort - Caso o cliente opte por utilizar seu cluster previamente instalado, basta configurar o redis port (opcional, default=6379);
ttlCacheGeneric - Tempo (segundos) de vida do cache (opcional, default=3600);
lifetime - Tempo (segundos) que os arquivos (tcn) irão ficar armazenado no BirdID Pro (opcional, default=86400);
sleep - Intervalo (segundos) que o garbage collector irá executar para limpar os arquivos (opcional);
limit - Quantidade máxima de arquivos que serão apagados a cada iteração do garbage (opcional);
cessUrl - Define a URL utilizada para conexão ao BirdID Pro.
level - Level de log do BirdID Pro (opcional, default=INFO) {DEBUG/INFO/NOTICE/WARNING/ERROR/CRITICAL/ALERT/EMERGENCY};
urlsMultiCloud - {"https://apihom.birdid.com.br":{"id":"SOLUTI","client_id":"SEU_CLIENT_ID","client_secret":"SEU_CLIENT_SECRET"},"https://apicloudid.hom.vaultid.com.br":{"id":"VAULTID","client_id":"SEU_CLIENT_ID","client_secret":"SEU_CLIENT_SECRET"}}'
signatureAdapter - MultiAdapter (Permite assinaturas com multiplos adpters)
adapters - ["CertifierAuthHubAdapter","MultiCloudAdapter"]' (Lista de adapters utilizados para as assinaturas digitais)
certifierAuthHubUrl - https://certifierauthhub.hom.vaultid.com.br (Url que permite o consumo para autenticação em outras certificadoras)
billingApi - https://billing.hom.vaultid.com.br (Url de autorização do serviço do Hub de integração)
mockedUsername - client_Id (Client_id para consumo do serviço de autorização do Hub de integração)
mockedPassword - clientSecret (Client_secret para consumo do serviço de autorização do Hub de integração)
redisCluster - Caso queira utilizar redis cluster, deverá setar true (opcional);
seedsCluster Caso habilite redisCluster=true, deverá configurar esta variável com os nós. ["ip1:port1", "ip2:port2"... , "ipn:portn"] (obrigatório apenas se redisCluster=true);
sendMonitoring Caso não queira que seja coletado informações do container, deverá setar a variável como false (opcional);
Teremos a seguinte configuração:

APACHE_SSL
Defina para true se deseja que o Apache do container forneça o serviço com TLS ativo.
Espera-se que o certificado digital e a respectiva chave sejam fornecidos através de um ponto de montagem no container. Descomente a sessão 'volumes' e configure os arquivos conforme orientação.
Arquivo path_crt
Espera-se um arquivo com a parte pública do certificado digital concatenado com as cadeias intermediárias da Autoridade Certificado emissora. Todos os certificados devem estar no formato PEM (codificado em base64).
Arquivo path_key
Espera-se um arquivo contendo apenas a chave privada correspondente ao certificado digital utilizado. A chave privada não pode ter senha e deve estar no formato PEM (codificada em base64).
PORTA_EXTERNA - Define a porta pela qual o serviço do BirdID Pro será exposto.
Exemplo:
Considerando o cenário:
SSL ativo;
Os certificados estão salvos na pasta /opt/certs/cert.pem e /opt/certs/cert.key;
A porta que o container deve expor é a 443;
Teremos a seguinte configuração:
...
# Se necessário, edite apenas as variávies abaixo: #
- "ceasUrl=https://ceas.vaultid.com.br"
- "APACHE_SSL=true"
ports:
# Definir a PORTA_EXTERNA pela qual o container será exposto na rede.
- 443:8080
volumes:
- /opt/certs/cert.pem:/etc/apache2/cert/cert.pem
- /opt/certs/cert.key:/etc/apache2/cert/cert.key
...
Atenção (ambiente de homologação):
Caso esteja utilizando ambiente de homologação, é necessário configurar a cadeia de confiança do mesmo. Para isso basta descomentar a linhas 42 - volumes: e 44- ./hom-truststore:/var/www/data/trust do arquivo docker-compose.yaml. Para mais detalhes, acesse https://github.com/VaultID/docker-cess
Atenção (ambiente de Produção):
Caso esteja utilizando ambiente de produção, é necessário configurar a cadeia de confiança do mesmo. Para isso basta descomentar as linhas 42 - volumes: e 48- ./license:/var/www/data/license do arquivo docker-compose.yaml. Para mais detalhes, acesse https://github.com/VaultID/docker-cess.
No ambiente de produção, o diretório license
deve possuir permissões completas de leitura e escrita para garantir o funcionamento adequado.

Executando
Atenção: Antes de continuar é necessário solicitar o acesso ao repositório de imagens do BirdID Pro diretamente à equipe de integração da Soluti. Esta solicitação deverá ser realizada através do seu gestor de contas na Soluti.
Após concluir e validar a instalação do docker e do docker-compose, salve e configure o arquivo docker-compose.yaml no servidor de escolhido. Pela linha de comando, navegue até a pasta de destino do arquivo e execute:
1 - Docker login.
De posse do usuário e senha fornecidos, execute:
docker login harbor.lab.vaultid.com.br
2 - Iniciando a aplicação.
docker-compose -f docker-compose.yaml up -d
3 - Verificando o estado da aplicação:
docker ps
4 - Testando a aplicação:
Após a confirmação de execução da aplicação é possível validar o estado da mesma acessando a URL configurada em ceasUrl ou, diretamente no servidor com a combinação IP_SERVIDOR:PORTA_EXTERNA.
LOG
É importante acompanhar o log do container para detectar algum erro de configuração ou falha no serviço. Também é possível aumentar o nível de detalhes para debugar eventuais problemas (veja a variável level na Configuração).
Last updated
Was this helpful?