Permita o bloquee direcciones IP de origen mediante la asociación de ACL con los listeners de Ingress de ALB en su AlbConfig.
Las ACL solo admiten direcciones IPv4.
Funcionamiento
Una ACL contiene un grupo de bloques CIDR. Cuando asocia una ACL con un listener a través de AlbConfig, el listener compara las direcciones IP de origen entrantes con las entradas de la ACL y aplica una de las siguientes reglas:
Lista de permitidos: permite únicamente las solicitudes provenientes de direcciones IP que coinciden con las entradas de la ACL.
Lista de bloqueados: rechaza las solicitudes provenientes de direcciones IP que coinciden con las entradas de la ACL.
La siguiente figura ilustra el funcionamiento de las ACL.
Elegir un método de configuración
Existen dos métodos para asociar un listener con una ACL. Utilice aclIds si necesita gestionar las entradas de la ACL con frecuencia o reutilizar ACL existentes.
|
Elemento |
** |
** |
|
Versión del controlador compatible |
Controlador de Ingress de ALB v2.7.0 y posteriores |
Todas las versiones |
|
Asociación con una ACL existente |
Sí: use directamente el ID de la ACL |
No: la versión 2.7.0 y posteriores no permiten asociar una ACL existente |
|
Cómo crear una ACL |
Cree manualmente en la consola de ALB |
Se definen en línea dentro del AlbConfig |
|
Recomendado para |
Cambios frecuentes en las entradas de la ACL; mantenimiento rentable de ACL |
Pocos listeners con un número reducido de entradas en la ACL |
aclIds y aclEntries son mutuamente excluyentes. En el controlador de Ingress de ALB v2.7.0 y posteriores, utilice únicamente aclIds para asociar una ACL existente con un listener.
Requisitos previos
Antes de empezar:
Debe tener configurado un AlbConfig con al menos un listener.
El parámetro
aclConfigdebe estar configurado a nivel de listener dentro del AlbConfig.
Usar el parámetro aclIds (recomendado)
Asocie una ACL existente con un listener mediante su ID. Cada listener admite hasta tres ACL.
Paso 1: Crear una ACL
Inicie sesión en la consola de ALB.
En la barra de navegación superior, seleccione una región.
En el panel de navegación izquierdo, vaya a ALB > Access Control.
En la página Access Control, haga clic en Create Access Control List.
-
En el cuadro de diálogo Create ACL, configure los parámetros y haga clic en OK.
Parámetro
Descripción
ACL Name
Nombre de la ACL.
Tag Key / Tag Value
Etiquetas para filtrar ACL en la página Access Control.
Resource Group
Seleccione un resource group.
Paso 2: Agregar entradas a la ACL
Las entradas de la ACL especifican las direcciones IP de origen o los bloques CIDR que se compararán con las solicitudes entrantes.
En la página Access Control, localice la ACL y haga clic en Manage en la columna Actions.
-
En la pestaña Entry de la página de detalles de la ACL, agregue entradas:
Entrada única: haga clic en Add Entry, configure IP/CIDR Block y Remarks, y luego haga clic en Add.
-
Varias entradas: haga clic en Add ACL Entries, introduzca los bloques CIDR con sus observaciones y haga clic en Add:
Introduzca una entrada por línea.
Use una barra vertical (
|) para separar los bloques IP/CIDR de las observaciones. Ejemplo:192.168.1.0/24|Remarks.Agregue hasta 20 entradas a la vez.
-
Después de agregar las entradas:
Consulte los bloques CIDR en Entry.
Elimine entradas desde la columna Actions, o seleccione varias entradas y haga clic en Delete.
Exporte las entradas con el icono
ubicado en la esquina superior derecha. Para exportar entradas específicas, selecciónelas y haga clic en el icono
.
Paso 3: Asociar la ACL con un listener
Agregue spec.listeners.aclConfig a su AlbConfig y especifique el ID de la ACL en 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 |
Descripción |
|
|
Tipo de ACL. Valores válidos: |
|
|
ID de la ACL. Cada listener admite hasta tres ACL. |
Paso 4: Comprobar el efecto del control de acceso
Acceda al Service de backend desde un cliente cuya dirección IP pública coincida con una entrada de la lista de permitidos (o que no coincida con ninguna entrada de la lista de bloqueados).
Este ejemplo utiliza recursos de Get started with ALB Ingress.
Si se permite el acceso, el cliente alcanzará el Service de backend.

Paso 5: (Opcional) Desasociar la ACL del listener
Para desasociar una ACL, elimine su ID de aclIds o establezca aclIds en 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 eliminar la ACL en sí, utilice la consola de ALB . Las ACL no se pueden eliminar desde un AlbConfig.
Usar el parámetro aclEntries
Defina las entradas de la ACL directamente en el AlbConfig. El controlador crea y gestiona la ACL automáticamente.
En el controlador de Ingress de ALB v2.7.0 y posteriores,
aclNameya no asocia una ACL existente. Cada actualización deaclNamecrea y asocia una nueva ACL.En el controlador de Ingress de ALB v2.6.0 y anteriores, la escritura inversa está habilitada de forma predeterminada:
Si
aclConfigestá vacío en el AlbConfig, las entradas de la ACL del listener asociado se escriben de nuevo en el AlbConfig.Si
aclConfigestá configurado o las entradas ya se han escrito de vuelta, el AlbConfig permanece sin cambios. Cuando cambian los recursos de Ingress, el controlador sobrescribe la configuración de la ACL de la consola con la del AlbConfig; mantenga ambas sincronizadas.
Paso 1: Configurar entradas de ACL en el AlbConfig
Agregue o actualice spec.listeners.aclConfig en el AlbConfig. Especifique los bloques CIDR en aclEntries y, opcionalmente, un nombre en aclName.
Si se establece aclName, la ACL usará ese nombre. Si no se establece aclName, el nombre se genera automáticamente 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 |
Descripción |
|
|
Entradas de la ACL. Deben ser bloques CIDR, por ejemplo |
|
|
Tipo de ACL. Valores válidos: |
|
|
Nombre de la ACL. Si no se establece, se genera automáticamente como |
Paso 2: Comprobar el efecto del control de acceso
Acceda al Service de backend desde un cliente cuya dirección IP pública coincida con una entrada de la lista de permitidos (o que no coincida con ninguna entrada de la lista de bloqueados).
Este ejemplo utiliza recursos de Get started with ALB Ingress.
Si se permite el acceso, el cliente alcanzará el Service de backend.

Paso 3: (Opcional) Eliminar entradas de la ACL
Actualice aclEntries en el AlbConfig. El controlador sincroniza los cambios con la ACL asociada.
Este ejemplo elimina 172.10.XX.XX/16 de acl-test y conserva únicamente 192.168.XX.XX/16. Establezca aclEntries en una lista vacía para eliminar todas las 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 eliminar la ACL en sí, utilice la consola de ALB . Las ACL no se pueden eliminar desde un AlbConfig.