Pular para conteúdo

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:

    Esquema do nó parceiro

    • 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 ou partner_client_uuid na instalação do Envoy).

    • Para os domínios https://tenant1.com e https://tenant2.com, os registros DNS A com o endereço IP do parceiro ou cliente 225.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:

    Esquema de vários nós do cliente

    • 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:

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

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

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

    Criação do Nó Multi-inquilino

  2. Defina um nome para o nó e clique em Criar.

  3. Copie o token do nó de filtragem.

  4. Dependendo da forma de implantação do nó de filtragem, execute as etapas das instruções apropriadas.

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

    kubectl annotate --overwrite ingress <YOUR_INGRESS_NAME> -n <YOUR_INGRESS_NAMESPACE> nginx.ingress.kubernetes.io/wallarm-partner-client-uuid=VALUE
    
    1. 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.
    2. Execute o container docker montando o arquivo de configuração.
    1. Abra o arquivo de configuração envoy.yaml e divida o tráfego entre os inquilinos usando o parâmetro partner_client_uuid.
    2. Execute o container docker montando envoy.yaml preparado.
    1. Abra o arquivo de configuração do NGINX e divida o tráfego entre os inquilinos usando a diretiva wallarm_partner_client_uuid.
    2. 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 com wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111 e http://upstream2:8080 para o inquilino com wallarm_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 com wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111 e para http://upstream2:8080 para o inquilino com wallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222
  6. 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ção 21
    • tenant1.com/users é a aplicação 22

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: