Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

Det er korrekt, efter udgivelsen Hashicorp Consul 1.5.0 i begyndelsen af maj 2019 kunne man i Consul udfĂžre godkendelse af applikationer og tjenester, der kĂžrer i Kubernetes, nativt.

I denne vejledning vil vi trin for trin oprette POC (Proof of concept, PoC — bevis for konceptets [gennemfþrlighed] — bemérk red.), demonstrerende denne nye funktion. Du forventes at have grundléggende kendskab til Kubernetes og Hashicorp’s Consul. Selvom du kan bruge enhver cloudplatform eller lokal miljþ, vil vi i denne vejledning bruge Google’s Cloud Platform.

Oversigt

Hvis vi ser pÄ dokumentationen for Consul om dens godkendelsesmetode, fÄr vi en kort oversigt over dens formÄl og brugsscenarier, samt nogle tekniske detaljer og en generel oversigt over logikken. Jeg anbefaler kraftigt at lÊse den mindst én gang, fÞr vi fortsÊtter, da jeg nu vil forklare og uddybe alt dette.

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

Diagram 1: Officiel oversigt over Consuls godkendelsesmetode

Lad os se pÄ dokumentationen for den specifikke Kubernetes godkendelsesmetode.

SelvfĂžlgelig er der nyttig information der, men der er ingen vejledning til, hvordan man virkelig bruger det hele. Derfor, som enhver fornuftig person, gennemser du internettet for at finde en vejledning. Og sÄ  lider du nederlag. SĂ„dan sker det. Lad os rette det.

FÞr vi gÄr videre med at oprette vores POC, lad os vende tilbage til oversigten over Consuls godkendelsesmetoder (Diagram 1) og tydeliggÞre det i konteksten af Kubernetes.

Arkitektur

I denne vejledning vil vi oprette en Consul-server pÄ en separat maskine, der vil interagere med Kubernetes-klusteret med en installeret Consul-klient. Derefter vil vi oprette vores dummy-applikation i en pod og bruge vores konfigurerede godkendelsesmetode til at lÊse fra vores Consul nÞgle/vÊrdi lager.

Diagrammet nedenfor viser detaljeret arkitekturen, som vi opretter i denne vejledning, samt logikken i godkendelsesmetoden, som senere vil blive forklaret.

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

Diagram 2: Oversigt over godkendelsesmetoden i Kubernetes

En lille bemÊrkning: Consul-serveren behÞver ikke at leve uden for Kubernetes-klusteret for at dette fungerer. Men ja, den kan vÊre der ogsÄ.

SÄ ved at tage oversigtsskemaet fra Consul (Diagram 1) og anvende det pÄ Kubernetes, fÄr vi skemaet ovenfor (Diagram 2), og logikken vil vÊre som fÞlger:

  1. Hver pod vil have en servicekonto knyttet til sig, som indeholder en JWT-token, genereret og kendt af Kubernetes. Denne token indsĂŠttes ogsĂ„ i pod’en som standard.
  2. Vores applikation eller tjeneste inde i pod’en initierer en login-anmodning til vores Consul-klient. I login-anmodningen vil ogsĂ„ vores token vĂŠre angivet samt navnet pĂ„ en specialoprettet autoriseringsmetode (Kubernetes-type). Dette trin nr. 2 svarer til trin 1 i Consul-schemaren (Schemaren 1).
  3. Vores Consul-klient sender derefter denne anmodning til vores Consul-server.
  4. MAGI! Det er her, Consul-serveren verificerer anmodningens autentitet, indsamler oplysninger om anmodningens identitet og sammenligner dem med eventuelle tilknyttede foruddefinerede regler. Nedenfor vil der vĂŠre en anden skema for at illustrere dette. Dette trin svarer til trin 3, 4 og 5 i oversigtsskemaren for Consul (Schemaren 1).
  5. Vores Consul-server genererer en Consul-token med de tilladelser, vi har angivet i de regler for autoriseringsmetoden (som vi har defineret) i relation til anmelderens identitet. Derefter sender den denne token tilbage. Dette svarer til trin 6 i Consul-schemaren (Schemaren 1).
  6. Vores Consul-klient videresender token til den anmodende applikation eller tjeneste.

Vores applikation eller tjeneste kan nu benytte denne Consul-token til at kommunikere med vores Consul-data, som er defineret af tokenens privilegier.

Magien er afslĂžret!

For dem af jer, der ikke er tilfredse med blot en kanin fra hatten og vil vide, hvordan det virker... lad mig "vise jer, hvor dyb kaninhullet».

Som nĂŠvnt tidligere, er vores “magiske” skridt (Schemaren 2: Skridt 4) det, at Consul-serveren verificerer anmodningens autentitet, indsamler oplysninger om anmodningen og sammenligner dem med eventuelle tilknyttede foruddefinerede regler. Dette trin svarer til trin 3, 4 og 5 i oversigtsskemaren for Consul (Schemaren 1). Nedenfor er en skema (Schemaren 3), hvis formĂ„l er klart at vise, hvad der faktisk sker under panseret af den specifikke Kubernetes-autoriseringsmetode.

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

Schemaren 3: Magien er afslĂžret!

  1. Som udgangspunkt videresender vores Consul-klient login-anmodningen til vores Consul-server med Kubernetes-kontoens token og det specifikke navn pÄ instansen af autoriseringsmetoden, som blev oprettet tidligere. Dette trin svarer til trin 3 i den tidligere forklaring af skemaet.
  2. Nu skal Consul-serveren (eller lederen) bekrĂŠfte legitimiteten af den modtagne token. Derfor vil den konsultere Kubernetes-klusteret (gennem Consul-klienten), og hvis der gives de rette tilladelser, vil vi finde ud af, om token'en er ĂŠgte, og hvem den tilhĂžrer.
  3. Derefter returneres den validerede anmodning til Consul-lederen, og der udfÞres et opslag af instansen af godkendelsesmetoden med det angivne navn fra login-anmodningen (og typen Kubernetes) pÄ Consul-serveren.
  4. Consul-lederen identificerer den angivne instans af godkendelsesmetoden (hvis den findes) og lĂŠser det sĂŠt bindingsregler, der er knyttet til den. Derefter lĂŠser den disse regler og sammenligner dem med de validerede identitetsattributter.
  5. SÄdan! Vi gÄr videre til trin 5 i den tidligere beskrivelse af diagrammet.

Start Consul-serveren pÄ en almindelig virtuel maskine

Fra dette punkt vil jeg primĂŠrt give instruktioner til oprettelse af denne POC, ofte i punkter, uden forklarende sammenhĂŠngende sĂŠtninger. Som nĂŠvnt tidligere vil jeg bruge GCP til at oprette hele infrastrukturen, men du kan oprette en lignende infrastruktur et andet sted.

  • Start den virtuelle maskine (instans / server).

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

  • Opret en firewallregel (sikkerhedsgruppe i AWS):
  • Jeg kan godt lide at give den samme navn til maskinen, reglen og netvĂŠrkstaget, i dette tilfĂŠlde er det 'skywiz-consul-server-poc'.
  • Find IP-adressen pĂ„ din lokale computer, og tilfĂžj den til listen over tilladte IP-adresser, sĂ„ vi kan fĂ„ adgang til brugergrĂŠnsefladen (UI).
  • Åbn port 8500 for UI. Klik pĂ„ Create. Vi vil snart ĂŠndre denne firewall igen [link].
  • TilfĂžj en regel til firewallen for instansen. GĂ„ tilbage til VM-overvĂ„gningspanelet pĂ„ Consul-serveren og tilfĂžj 'skywiz-consul-server-poc' i feltet for netvĂŠrkstags. Klik pĂ„ Save.

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

  • Installer Consul pĂ„ den virtuelle maskine, kontroller her. Husk, at du har brug for en Consul-version ≄ 1.5 [link]
  • Lad os oprette en enkelt node Consul - konfigurationen er som fĂžlger.

groupadd --system consul
useradd -s /sbin/nologin --system -g consul consul
mkdir -p /var/lib/consul
chown -R consul:consul /var/lib/consul
chmod -R 775 /var/lib/consul
mkdir /etc/consul.d
chown -R consul:consul /etc/consul.d

  • En mere detaljeret vejledning til installation af Consul og opsĂŠtning af en klynge med 3 noder findes her. her.
  • Opret filen /etc/consul.d/agent.json som fĂžlger [link]:

### /etc/consul.d/agent.json
{
 "acl" : {
 "enabled": true,
 "default_policy": "deny",
 "enable_token_persistence": true
 }
}

  • Start vores Consul-server:

consul agent 
-server 
-ui 
-client 0.0.0.0 
-data-dir=/var/lib/consul 
-bootstrap-expect=1 
-config-dir=/etc/consul.d

  • Du skal se en masse output og i sidste ende „
 update blocked by ACLs“.
  • Find den eksterne IP-adresse pĂ„ Consul-serveren og Ă„bne en browser med denne IP-adresse pĂ„ port 8500. SĂžrg for, at UI'en Ă„bnes.
  • PrĂžv at tilfĂžje et par nĂžgle/vĂŠrdi. Der bĂžr vĂŠre en fejl. Dette skyldes, at vi har indlĂŠst Consul-serveren med ACL og forbudt alle regler.
  • GĂ„ tilbage til din shell pĂ„ Consul-serveren og kĂžr processen i baggrunden eller pĂ„ anden mĂ„de, sĂ„ den kĂžrer, og indtast fĂžlgende:

consul acl bootstrap

  • Find vĂŠrdien „SecretID“ og gĂ„ tilbage til UI'en. PĂ„ fanen „ACL“ indtast den hemmelige token-identifikator, som du lige har kopieret. Kopier SecretID til et andet sted, vi fĂ„r brug for det senere.
  • Nu, tilfĂžj et par nĂžgle/vĂŠrdi. For denne POC tilfĂžjer vi fĂžlgende: nĂžgle: „custom-ns/test_key“, vĂŠrdi: „Jeg er i mappen custom-ns!“

Start Kubernetes-klusteret for vores applikation med Consul-klienten som Daemonset

  • Opret et K8s (Kubernetes) kluster. Vi vil oprette det i samme zone som serveren for hurtigere adgang, og derfor kan vi bruge det samme subnet til nem tilslutning med interne IP-adresser. Vi vil kalde det „skywiz-app-with-consul-client-poc“.

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

  • Som en note, her er en god vejledning, jeg stĂždte pĂ„, mens jeg satte POC Consul-klusteret op med Consul Connect.
  • Vi vil ogsĂ„ bruge Hashicorp helm chart med en udvidet vĂŠrdifil.
  • Installer og konfigurer Helm. Konfigurationstrinene:

kubectl create serviceaccount tiller --namespace kube-system
kubectl create clusterrolebinding tiller-admin-binding
   --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
./helm init --service-account=tiller
./helm update

### poc-helm-consul-values.yaml
global:
 enabled: false
 image: "consul:latest"
# Expose the Consul UI through this LoadBalancer
ui:
 enabled: false
# Allow Consul to inject the Connect proxy into Kubernetes containers
connectInject:
 enabled: false
# Configure a Consul client on Kubernetes nodes. GRPC listener is required for Connect.
client:
 enabled: true
 join: ["<PRIVATE_IP_CONSUL_SERVER>"]
 extraConfig: |
{
  "acl" : {
 "enabled": true,   
 "default_policy": "deny",   
 "enable_token_persistence": true 
  }
}
# Minimal Consul configuration. Not suitable for production.
server:
 enabled: false
# Sync Kubernetes and Consul services
syncCatalog:
 enabled: false

  • Anvend helm chart:

./helm install -f poc-helm-consul-values.yaml ./consul-helm --name skywiz-app-with-consul-client-poc

  • NĂ„r du prĂžver at starte den, vil den have brug for tilladelser til Consul-serveren, sĂ„ lad os tilfĂžje dem.
  • BemĂŠrk „Pod adresseomrĂ„det“, der er placeret pĂ„ klusterets dashboard, og gĂ„ tilbage til vores firewallregel „skywiz-consul-server-poc“.
  • TilfĂžj adresseomrĂ„det for pod'en til listen over IP-adresser og Ă„bn portene 8301 og 8300.

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

  • GĂ„ til Consul UI, og efter et par minutter vil du se, at vores kluster vises under noden.

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

OpsĂŠtning af autorisationsmetode ved at integrere Consul med Kubernetes

  • GĂ„ tilbage til shellen pĂ„ Consul-serveren og eksporter den token, du gemte tidligere:

export CONSUL_HTTP_TOKEN=

  • Vi har brug for information fra vores Kubernetes-klynge for at oprette en instans af auth-metoden:
  • kubernetes-host

kubectl get endpoints | grep kubernetes

  • kubernetes-service-account-jwt

kubectl get sa -consul-client -o yaml | grep "- name:"
kubectl get secret  -o yaml | grep token:

  • Tokenet er kodet i base64, sĂ„ dekod det med dit foretrukne vĂŠrktĂžj [link]
  • kubernetes-ca-cert

kubectl get secret  -o yaml | grep ca.crt:

  • Tag certifikatet “ca.crt” (efter dekodning fra base64) og skriv det i filen “ca.crt”.
  • Opret nu en instans af auth-metoden, og erstat pladsholdere med de vĂŠrdier, du lige har modtaget.

consul acl auth-method create 
-type "kubernetes" 
-name "auth-method-skywiz-consul-poc" 
-description "Dette er en auth-metode, der bruger kubernetes til klyngen skywiz-app-with-consul-client-poc" 
-kubernetes-host "" 
-kubernetes-ca-cert=@ca.crt 
-kubernetes-service-account-
jwt=""

  • Herefter skal vi oprette en regel og knytte den til den nye rolle. Til denne del kan du bruge Consul UI, men vi vil bruge kommandolinjen.
  • Skriv regel

### kv-custom-ns-policy.hcl
key_prefix "custom-ns/" {
 policy = "write"
}

  • Anvend regel

consul acl policy create 
-name kv-custom-ns-policy 
-description "Dette er et eksempel pÄ en politik for kv ved custom-ns/" 
-rules @kv-custom-ns-policy.hcl

  • Find identifikatoren for den regel, du lige har oprettet, i output.
  • Opret en rolle med den nye regel.

consul acl role create 
-name "custom-ns-role" 
-description "Dette er et eksempel pÄ en rolle for custom-ns-navnerum" 
-policy-id

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='custom-ns-role' 
-selector='serviceaccount.namespace=="custom-ns"'

Konfigurationerne til sidst

Adgangsrettigheder

  • Opret adgangsrettigheder. Vi skal give Consul tilladelse til at validere og identificere identiteten af K8s service account token.
  • Skriv fĂžlgende i filen [link]:

###skywiz-poc-consul-server_rbac.yaml
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: review-tokens
 namespace: default
subjects:
- kind: ServiceAccount
 name: skywiz-app-with-consul-client-poc-consul-client
 namespace: default
roleRef:
 kind: ClusterRole
 name: system:auth-delegator
 apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: service-account-getter
 namespace: default
rules:
- apiGroups: [""]
 resources: ["serviceaccounts"]
 verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: get-service-accounts
 namespace: default
subjects:
- kind: ServiceAccount
 name: skywiz-app-with-consul-client-poc-consul-client
 namespace: default
roleRef:
 kind: ClusterRole
 name: service-account-getter
 apiGroup: rbac.authorization.k8s.io

  • Lad os oprette adgangsrettigheder

kubectl create -f skywiz-poc-consul-server_rbac.yaml

Forbindelse til Consul Client

  • Som nĂŠvnt her, er der flere muligheder for at forbinde til daemonset, men vi gĂ„r videre til den nĂŠste enkle lĂžsning:
  • Anvend den fĂžlgende fil [link].

### poc-consul-client-ds-svc.yaml
apiVersion: v1
kind: Service
metadata:
 name: consul-ds-client
spec:
 selector:
   app: consul
   chart: consul-helm
   component: client
   hasDNS: "true"
   release: skywiz-app-with-consul-client-poc
 ports:
 - protocol: TCP
   port: 80
   targetPort: 8500

  • Anvend derefter den fĂžlgende indbyggede kommando for at oprette configmap [link]. BemĂŠrk, at vi henviser til navnet pĂ„ vores service, erstat det om nĂždvendigt.

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
 labels:
   addonmanager.kubernetes.io/mode: EnsureExists
 name: kube-dns
 namespace: kube-system
data:
 stubDomains: |
   {"consul": ["$(kubectl get svc consul-ds-client -o jsonpath='{.spec.clusterIP}')"]}
EOF

Test af auth-metoden

Lad os nu se magien i aktion!

  • Opret flere nĂžglemapper med den samme Ăžverste nĂžgle (dvs. /sample_key) og en vĂŠrdi efter dit valg. Opret de relevante politikker og roller for de nye nĂžglebaner. Vi vil lave bindinger senere.

Introduksjon til Hashicorp Consul’s Kubernetes-autorisering

Brugerdefineret test af navnerum:

  • Lad os oprette vores eget navnerum:

kubectl create namespace custom-ns

  • Lad os oprette en pod i vores nye navnerum. Skriv konfigurationen til pod'en.

###poc-ubuntu-custom-ns.yaml
apiVersion: v1
kind: Pod
metadata:
 name: poc-ubuntu-custom-ns
 namespace: custom-ns
spec:
 containers:
 - name: poc-ubuntu-custom-ns
   image: ubuntu
   command: ["/bin/bash", "-ec", "sleep infinity"]
 restartPolicy: Never

  • Opret pod:

kubectl create -f poc-ubuntu-custom-ns.yaml

  • NĂ„r containeren er startet, skal du logge ind og installere curl.

kubectl exec poc-ubuntu-custom-ns -n custom-ns -it /bin/bash
apt-get update && apt-get install curl -y

  • Nu vil vi sende en anmodning om login til Consul ved hjĂŠlp af den autoriseringsmetode, vi oprettede tidligere [link].
  • For at se den indtastede token fra din servicekonto:

cat /run/secrets/kubernetes.io/serviceaccount/token

  • Skriv fĂžlgende i en fil inden i containeren:

### payload.json
{
 "AuthMethod": "auth-method-test",
 "BearerToken": "<jwt_token>"
}

  • Login!

curl 
--request POST 
--data @payload.json 
consul-ds-client.default.svc.cluster.local/v1/acl/login

  • For at udfĂžre ovenstĂ„ende trin i Ă©n linje (da vi vil kĂžre flere tests), kan du gĂžre fĂžlgende:

echo "{ 
"AuthMethod": "auth-method-skywiz-consul-poc", 
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)" 
}" 
| curl 
--request POST 
--data @- 
consul-ds-client.default.svc.cluster.local/v1/acl/login

  • Det virker! Det skulle, i det mindste. Nu tag SecretID og prĂžv at fĂ„ adgang til nĂžgle/vĂŠrdi, som vi skulle have adgang til.

curl 
consul-ds-client.default.svc.cluster.local/v1/kv/custom-ns/test_key --header “X-Consul-Token: ”

  • Du kan dekode "Value" base64 og se, at det svarer til vĂŠrdien i custom-ns/test_key i UI. Hvis du har brugt den samme vĂŠrdi, som nĂŠvnt ovenfor i denne vejledning, vil din kodede vĂŠrdi vĂŠre IkknbSBpbiB0aGUgY3VzdG9tLW5zIGZvbGRlciEi.

Test af den brugerdefinerede servicekonto:

  • Opret en brugerdefineret ServiceAccount med fĂžlgende kommando [link].

kubectl apply -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
 name: custom-sa
EOF

  • Opret en ny konfigurationsfil til pod'en. BemĂŠrk, at jeg har inkluderet installationen af curl for at spare arbejde 🙂

###poc-ubuntu-custom-sa.yaml
apiVersion: v1
kind: Pod
metadata:
 name: poc-ubuntu-custom-sa
 namespace: default
spec:
 serviceAccountName: custom-sa
 containers:
 - name: poc-ubuntu-custom-sa
   image: ubuntu
   command: ["/bin/bash","-ec"]
   args: ["apt-get update && apt-get install curl -y; sleep infinity"]
 restartPolicy: Never

  • Efter dette skal du starte en shell inde i containeren.

kubectl exec -it poc-ubuntu-custom-sa /bin/bash

  • Login!

echo "{ 
"AuthMethod": "auth-method-skywiz-consul-poc", 
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)" 
}" 
| curl 
--request POST 
--data @- 
consul-ds-client.default.svc.cluster.local/v1/acl/login

  • Adgang nĂŠgtet. Åh, vi glemte at tilfĂžje det nye regelbinding med de relevante tilladelser, lad os gĂžre det nu.

Gentag de foregÄende trin ovenfor:
a) Opret en identisk politik for prĂŠfixet "custom-sa/".
b) Opret en rolle, kald den "custom-sa-role"
c) VedhĂŠft politikken til rollen.

  • Opret en regelbinding (kan kun gĂžres fra cli/api). BemĂŠrk den forskellige vĂŠrdi af selector-flaget.

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='custom-sa-role' 
-selector='serviceaccount.name=="custom-sa"'

  • Log ind igen fra containeren "poc-ubuntu-custom-sa". Success!
  • Kontroller vores adgang til nĂžglevejen custom-sa/.

curl 
consul-ds-client.default.svc.cluster.local/v1/kv/custom-sa/test_key --header "X-Consul-Token: "

  • Du kan ogsĂ„ sikre dig, at denne token ikke giver adgang til kv i "custom-ns/". Gentag blot den ovenstĂ„ende kommando efter at have ĂŠndret "custom-sa" til prĂŠfixet "custom-ns".
    Adgang nĂŠgtet.

Eksempel pÄ overlay:

  • Det er vĂŠrd at bemĂŠrke, at alle matchende regelbindinger vil blive tilfĂžjet til tokenet med disse rettigheder.
  • Vores container "poc-ubuntu-custom-sa" er i standardnavnerum - sĂ„ lad os bruge det til en anden regelbinding.
  • Gentag de tidligere trin:
    a) Opret en identisk politik for nĂžgleprĂŠfixet "default/".
    b) Opret en rolle, kald den "default-ns-role"
    c) VedhĂŠft politikken til rollen.
  • Opret en regelbinding (kan kun gĂžres fra cli/api)

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='default-ns-role' 
-selector='serviceaccount.namespace=="default"'

  • GĂ„ tilbage til vores container "poc-ubuntu-custom-sa" og prĂžv at fĂ„ adgang til vejen "default/" kv.
  • Adgang nĂŠgtet.
    Du kan se de angivne legitimationsoplysninger for hver token i UI under ACL > Tokens. Som du kan se, er der kun knyttet én "custom-sa-role" til vores nuvÊrende token. Den token, vi bruger lige nu, blev genereret, da vi loggede ind, og der var dengang kun én regelbinding, der matchede. Vi skal logge ind igen og bruge det nye token.
  • Sikre dig, at du kan lĂŠse bĂ„de fra "custom-sa/" og "default/" kv.
    Success!
    Dette skyldes, at vores "poc-ubuntu-custom-sa" matcher regelbindingerne "custom-sa" og "default-ns".

Konklusion

TTL token mgmt?

PÄ tidspunktet for denne artikels skrivning findes der ikke en integreret mÄde at bestemme TTL for de tokens, der genereres med denne autorisationsmetode. Det ville vÊre en fantastisk mulighed - at sikre sikker automatisering af Consul-autorisation.

Der er mulighed for manuelt at oprette en token med TTL:

Jeg hÄber, at vi snart kan kontrollere, hvordan tokens genereres (for hver regel eller autorisationsmetode), og tilfÞje TTL.

Indtil da anbefales det at bruge udgangsendpointen i din logik.

LÊs ogsÄ andre artikler pÄ vores blog:

Kilde: habr.com

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster