Control de acceso Consul ACL

Prepárate de antemano

Entorno: sistema Linux
Versión: V1.6.2
Descarga: https://www.consul.io/downloads.html
Archivo de configuración: config-acl.json

{
    "datacenter":"tencent-datacenter",
    "data_dir":"/usr/local/consul-1.6.2/data",
    "log_file":"/usr/local/consul-1.6.2/log/",
    "log_level":"INFO",
    "bind_addr":"0.0.0.0",
    "client_addr":"0.0.0.0",
    "node_name":"tencent-node",
    "ui":true,
    "bootstrap_expect":1,
    "server":true,
    "acl":{
        "enabled":true,
        "default_policy":"deny",
        "enable_token_persistence":true,
        "enable_key_list_policy":true
    }
}
  • acl.enabled: habilitar acl
  • acl.default_policy: política, negar-negar por defecto; permitir-permitir por defecto
  • acl.enable_token_persistence: Permitir token persistente
  • acl. enable_key_list_policy: Permitir operación recursiva de KV

Iniciar Consul:./consul agent -config-file=config-acl.json

Escenarios de uso de ACL

  • Control de acceso del agente
  • Control de acceso de registro / descubrimiento de servicios
  • Control de acceso KV

Pasos de uso de ACL

Uno, inicializar Consul ACL

bash: La consul acl bootstrap
información generada es la siguiente (guarda la información):

AccessorID:       xxxx-xxxx-xxxx-xxxx-xxxx
SecretID:         xxxx-xxxx-xxxx-xxxx-xxxx
Description:      Bootstrap Token (Global Management)
Local:            false
Create Time:      2019-12-23 12:06:53.799083966 +0800 CST
Policies:
   00000000-0000-0000-0000-000000000001 - global-management

AccessorID y SecretID generados al ejecutar este comando tienen la máxima autoridad.

Dos, reglas de configuración

Acceso al navegador: localhost:8500ingrese el SecretID arriba en la pestaña ACL, y luego verá la siguiente página.
Inserte la descripción de la imagen aquí
Política predeterminada: gestión global, este es el SecretID con la máxima autoridad, igual al superadministrador.

AccessorID: ID de acceso. Solo hay un token. Haga clic en el registro para ingresar y verá
Alcance:
Roles y políticas: Tener permisos o políticas, AccessorID controla los permisos de acceso asociando diferentes roles y políticas

Estos son algunos casos de políticas:
1) Política de servicio

service_prefix "" {
    
    
  policy = "write"
}

La estrategia anterior significa que todos los servicios se pueden escribir.
Referencia de estrategia específica: reglas de servicio

2) estrategia KV

key_prefix "" {
    
    
 policy = "list"
}
key_prefix "" {
    
    
 policy = "write"
}
key_prefix "config/" {
    
    
 policy = "read"
}

La primera: indica que todos los KV pueden realizar operaciones de lista recursivas, esta opción "enable_key_list_policy":truesolo puede tener efecto después de especificar el archivo de configuración .
El segundo: todos los KV pueden realizar operaciones de escritura.
El tercero: se puede leer la clave que comienza con config /.

Referencia de estrategia específica: reglas-clave-valor

Supongo que te gusta

Origin blog.csdn.net/fomeiherz/article/details/103643021
Recomendado
Clasificación