Adicione IPs de origem a listas de permissões ou de bloqueios associando ACLs aos listeners do ALB Ingress no seu AlbConfig.
As ACLs suportam apenas endereços IPv4.
Como funciona
Uma ACL contém um conjunto de blocos CIDR. Ao associar uma ACL a um listener por meio do AlbConfig, o listener compara os IPs de origem recebidos com as entradas da ACL e aplica uma das seguintes regras:
Lista de permissões: Permite apenas solicitações provenientes de endereços IP que correspondem às entradas da ACL.
Lista de bloqueios: Nega solicitações provenientes de endereços IP que correspondem às entradas da ACL.
A figura a seguir ilustra o funcionamento das ACLs.
Escolha um método de configuração
Existem dois métodos para associar um listener a uma ACL. Utilize aclIds quando precisar gerenciar entradas de ACL com frequência ou reutilizar ACLs existentes.
|
Item |
** |
** |
|
Versão do controller suportada |
ALB Ingress controller v2.7.0 e posterior |
Todas as versões |
|
Associar a uma ACL existente |
Sim — use o ID da ACL diretamente |
Não — a partir da v2.7.0 não é possível associar uma ACL existente |
|
Como criar uma ACL |
Crie manualmente no console do ALB |
Definida inline no AlbConfig |
|
Mais indicado para |
Alterações frequentes nas entradas da ACL; manutenção econômica de ACLs |
Poucos listeners com poucas entradas de ACL |
Os parâmetros aclIds e aclEntries são mutuamente exclusivos. No ALB Ingress controller v2.7.0 e posterior, utilize apenas aclIds para associar uma ACL existente a um listener.
Pré-requisitos
Antes de começar:
Um AlbConfig com pelo menos um listener deve estar configurado.
O parâmetro
aclConfigdeve estar configurado no nível do listener dentro do AlbConfig.
Use o parâmetro aclIds (recomendado)
Associe uma ACL existente a um listener usando seu ID. Cada listener suporta até três ACLs.
Etapa 1: Criar uma ACL
Faça login no console do ALB.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, escolha ALB > Access Control.
Na página Access Control, clique em Create Access Control List.
-
Na caixa de diálogo Create ACL, configure os parâmetros e clique em OK.
Parâmetro
Descrição
ACL Name
O nome da ACL.
Tag Key / Tag Value
Tags para filtrar ACLs na página Access Control.
Resource Group
Selecione um grupo de recursos.
Etapa 2: Adicionar entradas à ACL
As entradas da ACL especificam endereços IP de origem ou blocos CIDR para comparar com as solicitações recebidas.
Na página Access Control, localize a ACL desejada e clique em Manage na coluna Actions.
-
Na aba Entry da página de detalhes da ACL, adicione entradas:
Entrada única: Clique em Add Entry, configure IP/CIDR Block e Remarks e, em seguida, clique em Add.
-
Várias entradas: Clique em Add ACL Entries, insira os blocos CIDR com observações e clique em Add:
Insira uma entrada por linha.
Use uma barra vertical (
|) para separar os blocos IP/CIDR das observações. Exemplo:192.168.1.0/24|Remarks.Adicione até 20 entradas por vez.
-
Após adicionar as entradas:
Visualize os blocos CIDR em Entry.
Exclua entradas pela coluna Actions ou selecione várias entradas e clique em Delete.
Exporte as entradas usando o ícone
no canto superior direito. Para exportar entradas específicas, selecione-as e clique no ícone
.
Etapa 3: Associar a ACL a um listener
Adicione spec.listeners.aclConfig ao seu AlbConfig e especifique o ID da ACL em aclIds.
apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
name: default
spec:
config:
#...
listeners:
- port: #...
protocol: #...
aclConfig:
aclType: White # Whitelist mode
aclIds:
- acl-wtg*** # Replace with your ACL ID
#...
Parâmetros de aclConfig:
|
Parâmetro |
Descrição |
|
|
O tipo da ACL. Valores válidos: |
|
|
O ID da ACL. Cada listener suporta até três ACLs. |
Etapa 4: Verificar o efeito do controle de acesso
Acesse o Service de backend a partir de um cliente cujo IP público corresponda a uma entrada da lista de permissões (ou não corresponda a nenhuma entrada da lista de bloqueios).
Este exemplo utiliza recursos descritos em Introdução ao ALB Ingress.
Se o acesso for permitido, o cliente alcançará o Service de backend.

Etapa 5: (Opcional) Desassociar a ACL do listener
Para desassociar uma ACL, remova seu ID de aclIds ou defina aclIds como null.
apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
name: default
spec:
config:
#...
listeners:
- port: #...
protocol: #...
aclConfig:
aclType: White
aclIds: null # Removes the associated ACL
#...
Para excluir a própria ACL, use o console do ALB . Não é possível excluir ACLs diretamente pelo AlbConfig.
Use o parâmetro aclEntries
Defina as entradas da ACL diretamente no AlbConfig. O controller cria e gerencia a ACL automaticamente.
No ALB Ingress controller v2.7.0 e posterior,
aclNamenão associa mais uma ACL existente. Cada atualização deaclNamecria e associa uma nova ACL.No ALB Ingress controller v2.6.0 e anteriores, o write-back é habilitado por padrão:
Se
aclConfigestiver vazio no AlbConfig, as entradas da ACL do listener associado serão gravadas de volta no AlbConfig.Se
aclConfigestiver configurado ou se as entradas já tiverem sido gravadas de volta, o AlbConfig permanecerá inalterado. Quando os recursos do Ingress forem alterados, o controller sobrescreverá a configuração da ACL do console com a do AlbConfig — mantenha ambos sincronizados.
Etapa 1: Configurar entradas de ACL no AlbConfig
Adicione ou atualize spec.listeners.aclConfig no AlbConfig. Especifique os blocos CIDR em aclEntries e, opcionalmente, um nome em aclName.
Se aclName estiver definido, a ACL usará esse nome. Caso aclName não esteja definido, o nome será gerado automaticamente como acl-{albName}-{port}.
apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
name: default
spec:
config:
#...
listeners:
- port: #...
protocol: #...
aclConfig:
aclEntries:
- 192.168.XX.XX/16
- 172.10.XX.XX/16
aclType: White # Whitelist mode
aclName: "acl-test" # Creates an ACL named acl-test
#...
Parâmetros de aclConfig:
|
Parâmetro |
Descrição |
|
|
As entradas da ACL. Devem ser blocos CIDR, por exemplo |
|
|
O tipo da ACL. Valores válidos: |
|
|
O nome da ACL. Se não for definido, será gerado automaticamente como |
Etapa 2: Verificar o efeito do controle de acesso
Acesse o Service de backend a partir de um cliente cujo IP público corresponda a uma entrada da lista de permissões (ou não corresponda a nenhuma entrada da lista de bloqueios).
Este exemplo utiliza recursos descritos em Introdução ao ALB Ingress.
Se o acesso for permitido, o cliente alcançará o Service de backend.

Etapa 3: (Opcional) Remover entradas da ACL
Atualize aclEntries no AlbConfig. O controller sincroniza as alterações com a ACL associada.
Este exemplo remove 172.10.XX.XX/16 de acl-test, mantendo apenas 192.168.XX.XX/16. Defina aclEntries como uma lista vazia para remover todas as entradas.
apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
name: default
spec:
config:
#...
listeners:
- port: #...
protocol: #...
aclConfig:
aclEntries:
- 192.168.XX.XX/16 # 172.10.XX.XX/16 is removed from acl-test
aclType: White
aclName: "acl-test"
#...
Para excluir a própria ACL, use o console do ALB . Não é possível excluir ACLs diretamente pelo AlbConfig.