Implantando e Configurando o Nó Multi-inquilino¶
O nó multi-inquilino protege simultaneamente várias infraestruturas de empresas independentes ou ambientes isolados.
Opções de implantação do nó multi-inquilino¶
Escolha a opção de implantação de nó multi-inquilino com base em sua infraestrutura e no problema abordado:
-
Implante um nó Wallarm para filtrar o tráfego de todos os clientes ou ambientes isolados da seguinte forma:
-
Um único nó Wallarm processa o tráfego de vários inquilinos (Inquilino 1, Inquilino 2).
O termo "cliente parceiro"
Anteriormente, "inquilino" era referido como "cliente parceiro". Nós continuamos a usar o termo "inquilino".
-
O nó Wallarm identifica o inquilino que recebe o tráfego pelo identificador único de um inquilino (
wallarm_partner_client_uuid
oupartner_client_uuid
na instalação do Envoy). - Para os domínios
https://tenant1.com
ehttps://tenant2.com
, os registros DNS A com o endereço IP do parceiro ou cliente225.130.128.241
são configurados. Esta configuração é mostrada como um exemplo, uma configuração diferente pode ser usada do lado do parceiro e do inquilino. - No lado do parceiro, o proxy de solicitações legítimas para os endereços do inquilino Inquilino 1 (
http://upstream1:8080
) e Inquilino 2 (http://upstream2:8080
) é configurado. Esta configuração é mostrada como um exemplo, uma configuração diferente pode ser usada do lado do parceiro e do inquilino.
Se o nó Wallarm é do tipo CDN
Como a configuração
wallarm_application
não é suportada pelo Nó Wallarm CDN, este método de implantação também não é suportado pelo tipo de nó CDN. Se o tipo de nó em uso é CDN, por favor, implante vários nós cada um filtrando o tráfego de um inquilino específico. -
-
Implante vários nós Wallarm, cada um filtrando o tráfego de um inquilino específico da seguinte forma:
- Vários nós Wallarm, cada um filtrando o tráfego de um inquilino específico (Inquilino 1, Inquilino 2).
- Para o domínio https://tenant1.com, o registro DNS com o endereço IP do cliente 225.130.128.241 é configurado.
- Para o domínio https://tenant2.com, o registro DNS com o endereço IP do cliente 225.130.128.242 é configurado.
- Cada nó está fazendo o proxy de solicitações legítimas para os endereços de seu inquilino:
- Nó 1 para Inquilino 1 (http://upstream1:8080).
- Nó 2 para Inquilino 2 (http://upstream2:8080).
Características do Nó Multi-inquilino¶
Nó multi-inquilino:
-
Pode ser instalado nas mesmas plataformas e de acordo com as mesmas instruções que um nó de filtragem regular.
-
Pode ser instalado no nível de inquilino técnico ou inquilino. Se você deseja fornecer a um inquilino acesso ao Console Wallarm, o nó de filtragem deve ser instalado no nível de inquilino correspondente.
-
Pode ser configurado de acordo com as mesmas instruções que um nó de filtragem regular.
-
A diretiva
wallarm_partner_client_uuid
é usada para dividir o tráfego pelos inquilinos. -
A diretiva
wallarm_application
é usada para dividir as configurações pelas aplicações.
Requisitos para implantação¶
-
Execução de comandos adicionais pelo usuário com a função de Administrador global adicionado na conta do inquilino técnico
Recomendações para a implantação de um nó multi-inquilino¶
-
Se for necessário para o inquilino acessar o Console Wallarm, crie o nó de filtragem dentro de uma conta de inquilino apropriada.
-
Configure o nó de filtragem por meio do arquivo de configuração NGINX do inquilino.
Procedimento para a implantação de um nó multi-inquilino¶
-
No Console Wallarm → Nós, clique em Criar nó e selecione Nó Wallarm.
Mudando um nó Wallarm existente para o modo multi-inquilino
Se você deseja mudar um nó Wallarm existente para o modo multi-inquilino, use a opção Torná-lo multi-inquilino no menu do nó necessário na seção Nós.
Uma vez mudado e confirmado, prossiga para a 4ª etapa.1. Selecione a opção Nó multi-inquilino.
-
Defina um nome para o nó e clique em Criar.
-
Copie o token do nó de filtragem.
-
Dependendo da forma de implantação do nó de filtragem, execute as etapas das instruções apropriadas.
-
Divida o tráfego entre os inquilinos usando seus identificadores únicos.
Abra o arquivo de configuração do NGINX do inquilino e divida o tráfego entre os inquilinos usando a diretiva
wallarm_partner_client_uuid
. Veja exemplo abaixo.Use a anotação
nginx.ingress.kubernetes.io/wallarm-partner-client-uuid
do Ingress para definir o UUID do inquilino para cada recurso Ingress. Um recurso está relacionado a um inquilino:- Abra o arquivo de configuração do NGINX e divida o tráfego entre os inquilinos usando a diretiva
wallarm_partner_client_uuid
. Veja exemplo abaixo. - Execute o container docker montando o arquivo de configuração.
- Abra o arquivo de configuração
envoy.yaml
e divida o tráfego entre os inquilinos usando o parâmetropartner_client_uuid
. - Execute o container docker montando
envoy.yaml
preparado.
- Abra o arquivo de configuração do NGINX e divida o tráfego entre os inquilinos usando a diretiva
wallarm_partner_client_uuid
. - Monte um arquivo de configuração do NGINX no contêiner do servidor de sidecar Wallarm.
Exemplo do arquivo de configuração do NGINX para o nó de filtragem que processa o tráfego de dois clientes:
server { listen 80; server_name tenant1.com; wallarm_mode block; wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111; location / { proxy_pass http://upstream1:8080; } } server { listen 80; server_name tenant2.com; wallarm_mode monitoring; wallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222; location / { proxy_pass http://upstream2:8080; } }
- Do lado do inquilino, os registros DNS A com o endereço IP do parceiro são configurados
- Do lado do parceiro, é configurado o proxy de solicitações para os endereços dos inquilinos (
http://upstream1:8080
para o inquilino comwallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111
ehttp://upstream2:8080
para o inquilino comwallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222
) - Todas as solicitações de entrada são processadas no endereço do parceiro, solicitações legítimas são encaminhadas para
http://upstream1:8080
para o inquilino comwallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111
e parahttp://upstream2:8080
para o inquilino comwallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222
- Abra o arquivo de configuração do NGINX e divida o tráfego entre os inquilinos usando a diretiva
-
Se necessário, especifique os IDs das aplicações do inquilino usando a diretiva
wallarm_application
.Exemplo:
server { listen 80; server_name tenant1.com; wallarm_mode block; wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111; location / { proxy_pass http://upstream1:8080; } location /login { wallarm_application 21; ... } location /users { wallarm_application 22; ... } }
Dois aplicativos pertencem ao inquilino
11111111-1111-1111-1111-111111111111
:tenant1.com/login
é a aplicação21
tenant1.com/users
é a aplicação22
Configurando um Nó Multi-inquilino¶
Para personalizar as configurações do nó de filtragem, use as diretivas disponíveis.
Opções comuns de personalização:
-
Usando o balanceador do servidor proxy atrás do nó de filtragem
-
Limitando o tempo de processamento de uma única requisição na diretiva
wallarm_process_time_limit
-
Limitando o tempo de espera da resposta do servidor na diretiva NGINX
proxy_read_timeout
-
Limitando o tamanho máximo da solicitação na diretiva NGINX
client_max_body_size