Consul ACL-Zugriffskontrolle

Im voraus vorbereiten

Umgebung: Linux-System
Version: V1.6.2
Download: https://www.consul.io/downloads.html
Konfigurationsdatei: 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: acl aktivieren
  • acl.default_policy: Richtlinie, standardmäßig verweigern-verweigern, standardmäßig zulassen-erlauben
  • acl.enable_token_persistence: Dauerhaftes Token zulassen
  • acl. enable_key_list_policy: Rekursiven Betrieb von KV zulassen

Konsul starten:./consul agent -config-file=config-acl.json

ACL-Verwendungsszenarien

  • Zugriffskontrolle des Agenten
  • Dienstregistrierung / Discovery-Zugriffskontrolle
  • KV-Zugangskontrolle

ACL verwendet Schritte

Erstens: Initialisieren Sie Consul ACL

Bash: Die consul acl bootstrap
generierten Informationen lauten wie folgt (speichern Sie die Informationen):

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

Die AccessorID und SecretID, die durch Ausführen dieses Befehls generiert werden, haben die höchste Berechtigung.

Zwei Konfigurationsregeln

localhost:8500Browserzugriff : Geben Sie die SecretID oben auf der Registerkarte ACL ein. Daraufhin wird die folgende Seite angezeigt.
Fügen Sie hier eine Bildbeschreibung ein
Standardrichtlinie: Global-Management, dies ist die SecretID mit der höchsten Berechtigung, die dem Superadministrator entspricht.

AccessorID: Zugriffs-ID. Es gibt nur ein Token. Klicken Sie auf den Datensatz, um ihn einzugeben, und Sie sehen den
Bereich:
Rollen und Richtlinien: Über Berechtigungen oder Richtlinien verfügen. AccessorID steuert die Zugriffsberechtigungen durch Zuordnen verschiedener Rollen und Richtlinien

Hier einige Richtlinienfälle:
1) Servicerichtlinie

service_prefix "" {
    
    
  policy = "write"
}

Die obige Strategie bedeutet, dass alle Dienste geschrieben werden können.
Spezifische Strategie-Referenz: Dienstregeln

2) KV-Strategie

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

Die erste: Gibt an, dass alle KVs rekursive Listenoperationen ausführen können. Diese Option "enable_key_list_policy":truekann erst wirksam werden, nachdem die Konfigurationsdatei angegeben wurde .
Der zweite: Alle KVs können Schreibvorgänge ausführen.
Der dritte: Der Schlüssel, der mit config / beginnt, kann gelesen werden.

Spezifische Strategiereferenz: Schlüsselwertregeln

Ich denke du magst

Origin blog.csdn.net/fomeiherz/article/details/103643021
Empfohlen
Rangfolge