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:8500
ingrese el SecretID arriba en la pestaña ACL, y luego verá la siguiente página.
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":true
solo 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