Sissejuhatus Hashicorp Consul's Kubernetes volitusele

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

TÀpselt, pÀrast vÀljalaskmist Hashicorp Consul 1.5.0 2019. aasta mai alguses on Consulis vÔimalik rakenduste ja teenuste autentimist, mis kÀivitatakse Kuberneteses, natiivselt.

Selles juhendis loome samm-sammult POC (Kontseptsiooni tĂ”estus (Proof of concept, PoC) — kontseptsiooni teostatavuse tĂ”estamine — tĂ”lkija mĂ€rkus), demonstreerides seda uut funktsiooni. Oodatakse, et teil oleks algteadmised Kubernetesest ja Hashicorp’s Consulist. Kuigi vĂ”ite kasutada mis tahes pilveteenust vĂ”i kohalikku keskkonda, kasutame selles juhendis Google Cloud Platformi.

Ülevaade

Kui liigume Consul dokumentatsiooni autoriseerimise meetodi kohta, saame lĂŒhiĂŒlevaate selle eesmĂ€rgist ja kasutusmudelist, samuti mĂ”ned tehnilised ĂŒksikasjad ja ĂŒlevaate loogikast. Soovitan tungivalt seda lugeda vĂ€hemalt korra enne jĂ€tkamist, kuna ma hakkan seda kĂ”ik selgitama ja arutama.

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

Schema 1: Consul autoriseerimise meetodi ametlik ĂŒlevaade

Vaatame dokumentatsiooni spetsiifilise Kubernetes autoriseerimise meetodi kohta.

Loomulikult on seal kasulikku teavet, kuid puudub juhend selle kohta, kuidas seda tegelikult kasutada. SeetÔttu, nagu iga mÔistlik inimene, sirvite internetis juhendite otsimisel. Ja siis... Tekkivad takistused. Nii juhtub. Parandame selle.

Enne kui liigume edasi meie POC loomise juurde, vaatame uuesti Consuli autoriseerimismeetodite ĂŒle (Schema 1) ja tĂ€psustame seda Kubernetes'i kontekstis.

Architecture

Selles juhendis loome Consuli serveri eraldi masinas, mis suhtleb Kubernetes'i klastriga, kus on installitud Consuli klient. SeejÀrel loome oma nÀidisrakenduse pods ja kasutame meie konfigureeritud autoriseerimismeetodit, et lugeda meie Consuli vÔtme/vÀÀrtuse hoidlast.

Allolev skeem nĂ€itab ĂŒksikasjalikult arhitektuuri, mida selles juhendis loome, ning autoriseerimismeetodi loogikat, mis seletatakse hiljem.

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

Schema 2: Autoriseerimismeetodi ĂŒlevaade Kubernetes'is

VÀike mÀrk: Consuli server ei pea elama Kubernetes'i klastrist vÀljaspool, et see toimiks. Kuid jah, ta saab olla nii-öelda ja naa.

Seega, kui vĂ”tame Consul'i ĂŒlevaateskeemi (skeem 1) ja rakendame sellele Kubernetes'i, saame ĂŒlaltoodud skeemi (skeem 2), ja loogika on jĂ€rgmine:

  1. Iga podi kĂŒlge on kinnitatud teenusekonto, mis sisaldab Kubernetes'i poolt genereeritud ja teadaolevat JWT-janust. See token lisatakse ka podi vaikimisi.
  2. Meie rakendus vĂ”i teenus podis algatab sisselogimiskĂ€su meie Consul-klienti. Sisselogimissoovis nĂ€idatakse ka meie tokenit ja nime eriti loodud autentimise meetod (Kubernetes'i tĂŒĂŒpi). See samm nr 2 vastab Consul'i skeemi 1 sammule 1.
  3. Meie Consul-klient suunab seejÀrel selle pÀringu meie Consul-serverile.
  4. MAAGIA! Just siin Consul-server kontrollib pĂ€ringu autentsust, kogub pĂ€ringu identiteedi andmeid ja vĂ”rdleb neid mistahes seotud eeldefineeritud reeglitega. Allpool on teine skeem, et seda illustreerida. See samm vastab Consul'i ĂŒlevaateskeemi (skeem 1) sammudele 3, 4 ja 5.
  5. Meie Consul-server genereerib Consul-tokeni, millel on Ôigused vastavalt meie mÀÀratud autoriseerimismeetodi reeglitele, mis me oleme mÀÀratlenud, seoses pÀringut esitanud isikuga. SeejÀrel saadab ta selle tokeni tagasi. See vastab Consul'i skeemi (Skeem 1) sammu 6-le.
  6. Meie Consul-klient suunab tokeni pÀringu esitanud rakendusele vÔi teenusele.

Meie rakendus vĂ”i teenus saab nĂŒĂŒd kasutada seda Consul-tokenit suhtlemiseks meie Consul-andmetega, nagu on mÀÀratletud tokeni privileegides.

KĂ€rbeste maagia avalikustatud!

Teie, kes te pole rahul vaid kĂŒbaraööbikuga ja soovite teada, kuidas see töötab
 lubage mul "nĂ€idata teile, kui sĂŒgavale kĂŒĂŒliku urgu».

Kuidas eelnevalt mainitud, on meie "maagiline" samm (Skeem 2: Samm 4) see, et Consul-server valideerib pĂ€ringu, kogub teavet pĂ€ringu kohta ja vĂ”rdleb seda kĂ”igi seotud eelnevalt mÀÀratletud reeglitega. See samm vastab Consuli ĂŒlevaateskeemi (Skeem 1) sammudele 3, 4 ja 5. Allpool on skeem (Skeem 3), mille eesmĂ€rk on selgelt nĂ€idata, mis tegelikult toimub kapoti all konkreetse Kubernetes'i autoriseerimismeetodiga.

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

Skeem 3: VÔlu avatud!

  1. Alguspunktina suunab meie Consul-klient pÀringu sisendiks meie Consul-serverisse koos Kubernetes'i konto tokeniga ja konkreetse autoriseerimise meetodi instantsi nimega, mis loodi varem. See samm vastab eelmise skeemi selgituse sammule 3.
  2. NĂŒĂŒd peab Consul-server (vĂ”i juht) valideerima vastuvĂ”etud tokenit. SeetĂ”ttu konsulteerib ta Kubernetes'i klastriga (Consul-klienti kaudu) ja, kui vastavad Ă”igused on olemas, selgitame vĂ€lja, kas token on autentne ja kellele see kuulub.
  3. SeejĂ€rel tagastatakse kontrollitud pĂ€ring Consul-juhi juurde ja Consul-serveris otsitakse autoriseerimise meetodi instantsi, mille nimi on mÀÀratud sisse logimise pĂ€ringus (ja mis on tĂŒĂŒpi Kubernetes).
  4. Consul-juht mÀÀrab kindlaks nimetatud autoriseerimise meetodi instantsi (kui see leitud on) ja loeb selle kĂŒlge kinnitatud sidumise reeglite kogumi. SeejĂ€rel loeb ta neid reegleid ja vĂ”rdleb neid kontrollitud identiteedi atribuutidega.
  5. Tada! Liigume jÀrgmise sammuna 5 eelmise skeemi seletuses.

KĂ€ivitage Consul-server tavalises virtuaalses masina

Alates nĂŒĂŒd hakkan peamiselt andma juhiseid selle POC-i loomiseks, sageli punktide kaupa, ilma seletavate tĂ€isteradeteta. Nagu varem mainitud, kasutan kogu infrastruktuuri loomiseks GCP-d, kuid saate sama infrastruktuuri luua ka mujal.

  • KĂ€ivita virtuaalne masin (instants / server).

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

  • Loo tulemĂŒĂŒrireegel (AWS-i turgruppe):
  • Mulle meeldib anda masinale sama nimi, mis on reeglil ja vĂ”rgu sildil, antud juhul on see "skywiz-consul-server-poc".
  • Leia oma kohaliku arvuti IP-aadress ja lisa see lubatud lĂ€htesoovide nimekirja, et saaksime ligipÀÀsu kasutajaliidesele (UI).
  • Ava port 8500 UI jaoks. Vajuta Loo (Create). Me muudame selle tulemĂŒĂŒri [link].
  • Lisa reegel tulemĂŒĂŒri instantsile. Mine tagasi Consul-serveri VM-i juhtpaneelile ja lisa "skywiz-consul-server-poc" vĂ”rgu siltide vĂ€ljadele. Vajuta Salvesta (Save).

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

  • Paigalda Consul virtuaalsesse masinasse, vaata siit. Pea meeles, et sul on vaja Consul'i versiooni ≄ 1.5 [link]
  • Loome ĂŒhe sĂ”lmega Consuli – konfiguratsioon on jĂ€rgmine.

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

  • Üksikasjalik juhend Consuli installimise ja 3 sĂ”lme klastri seadistamise kohta sm. siit.
  • Looge fail /etc/consul.d/agent.json jĂ€rgmiselt [link]:

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

  • KĂ€ivitage meie Consuli server:

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

  • Te peaksite nĂ€gema hulgaliselt vĂ€ljundit ja lĂ”puks “
 update blocked by ACLs”.
  • Leidke Consuli serveri vĂ€line IP-aadress ja avage brauser koos selle IP-aadressiga porti 8500. Veenduge, et UI avaneb.
  • Proovige lisada paar vĂ”tme/vÀÀrtuse paari. Peab olema viga. See on sellepĂ€rast, et laadisime Consuli serveri ACL-iga ja keelasime kĂ”ik reeglid.
  • Minge tagasi oma shelli Consuli serveris ja kĂ€ivitage protsess taustal vĂ”i muul viisil, et see töötaks, ja sisestage jĂ€rgmine:

consul acl bootstrap

  • Leidke vÀÀrtus „SecretID“ ja minge tagasi UI-sse. Vahekaardil „ACL“ sisestage just kopeeritud tokeni salajane identifikaator. Salvestage SecretID kuhugi mujale, meil on seda hiljem vaja.
  • NĂŒĂŒd lisage paar vĂ”tme/vÀÀrtuse paari. Selleks lisame POC-sse jĂ€rgmise: vĂ”ti: „custom-ns/test_key“, vÀÀrtus: „Olen custom-ns kaustas!“

Kubernetes-klastri kÀivitamine meie rakenduse jaoks, kus Consul-client on Deemonite komplektina.

  • Looge K8s (Kubernetes) klaster. Loome selle samas piirkonnas nagu server, et kiiremini juurde pÀÀseda ja seetĂ”ttu saame kasutada sama alamvĂ”rku lihtsaks ĂŒhendamiseks sisemiste IP-aadressidega. Nimeks anname „skywiz-app-with-consul-client-poc“.

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

  • MĂ€rkuseks, siin on hea juhend, millega ma kokku puutusin, kui seadistasin POC Consul-klastri koos Consul Connectiga.
  • Kasutame ka Hashicorp helm chart'i koos tĂ€iendatud vÀÀrtuste failiga.
  • Installige ja seadistage Helm. Seadistamise sammud:

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

  • Rakendage helm chart:

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

  • KĂ€ivitamisel vajab see lube Consul-serverile, nii et lisame need.
  • Pöörake tĂ€helepanu klastripaneelis asuvale "Pod adresseerimise vahemikule" ning pöörduge tagasi meie tulemĂŒĂŒri reegli «skywiz-consul-server-poc» juurde.
  • Lisage Podi adresseerimise vahemik IP-aadresside nimekirja ja avage pordid 8301 ja 8300.

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

  • Minge Consul UI-sse ja mĂ”ne minuti pĂ€rast nĂ€ete, et meie klaster ilmub node'i vahekaardile.

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

Seadistage autoriseerimismeetod, integreerides Consuli Kubernetesega.

  • Tagasi Consul serveri konsooli ja eksportige token, mille te varem salvestasite:

export CONSUL_HTTP_TOKEN=

  • Me vajame teavet meie Kubernetes klastrist, et luua auth meetodi instants:
  • 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:

  • Token on base64-kooditud, seega dekodeerige see oma lemmik tööriistaga [link]
  • kubernetes-ca-cert

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

  • VĂ”tke sertifikaat "ca.crt" (pĂ€rast base64-le dekodeerimist) ja kirjutage see faili "ca.crt".
  • NĂŒĂŒd looge auth meetodi instants, asendades kohatĂ€itjad just saadud vÀÀrtustega.

consul acl auth-method create 
-type "kubernetes" 
-name "auth-method-skywiz-consul-poc" 
-description "See on auth meetod, mis kasutab kubernetesi klastrit skywiz-app-with-consul-client-poc jaoks" 
-kubernetes-host "" 
-kubernetes-ca-cert=@ca.crt 
-kubernetes-service-account-
jwt=""

  • JĂ€rgmisena peame looma reegli ja selle uue rolliga siduma. Selle osa jaoks saate kasutada Consul UI-d, kuid meie kasutame kĂ€surealiidest.
  • Kirjutage reegel

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

  • Rakendage reegel

consul acl policy create 
-name kv-custom-ns-policy 
-description "See on nÀidispoliitika kv jaoks custom-ns/" 
-rules @kv-custom-ns-policy.hcl

  • Leidke just loodud reegli identifikaator vĂ€ljunditest.
  • Looge roll koos uue reegliga.

consul acl role create 
-name "custom-ns-role" 
-description "See on nÀidisaruanne custom-ns nimete jaoks" 
-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"'

Konfiguratsioonide lÔpus

LigipÀÀs

  • Looge juurdepÀÀs. Peame andma Consulile loa K8s teenusekonto tokeni autentimise ja tuvastamise kontrollimiseks.
  • Salvesta faili jĂ€rgmist [linki]:

###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

  • Loome juurdepÀÀsu

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

Ühendamine Consul Clientiga

  • Nagu mainitud siit, on daemonseti ĂŒhendamiseks mitmeid vĂ”imalusi, kuid liigume edasi jĂ€rgmise lihtsa lahenduse juurde:
  • Kohaldage jĂ€rgmist faili [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

  • SeejĂ€rel rakendage jĂ€rgmine sisseehitatud kĂ€sk configmapi loomiseks [link]. Pange tĂ€hele, et viitame meie teenuse nimele, asendage see vajadusel.

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

auth-meetodi testimine

NĂŒĂŒd vaatame, kuidas maagia töötab!

  • Looge veel mĂ”ned vĂ”tme kaustad sama ĂŒlemise vĂ”tmega (nt /sample_key) ja valige soovitud vÀÀrtus. Looge uute vĂ”tme tugevatest poliitikatest ja rollidest. Teeme seosed hiljem.

Sissejuhatus Hashicorp Consul's Kubernetes volitusele

Kohandatud testimise nimeline ruum:

  • Loome omaenda nimelise ruumi:

kubectl create namespace custom-ns

  • Loome poodi meie uues nimespetsifikatsioonis. Kirjutage poodi konfiguratsioon.

###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

  • Looge pood:

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

  • Niipea, kui konteiner on kĂ€ivitatud, minge sinna ja installige curl.

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

  • NĂŒĂŒd saadame pĂ€ringu Consulisse sisselogimiseks, kasutades varasemaid autoriseerimismeetodeid [link].
  • Kuidas vaadata oma teenusekonto sisestatud tokent:

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

  • Kirjutage konteineri sisse jĂ€rgmine fail:

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

  • Sisselogimine!

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

  • Kuna soovime sooritada eespool nimetatud samme ĂŒhes reas (kuna kavatseme teha mitu testi), vĂ”ite teha jĂ€rgmist:

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

  • See töötab! TĂ€pselt nii, vĂ€hemalt. NĂŒĂŒd vĂ”ta SecretID ja proovi pÀÀseda juurde vĂ”tme/vÀÀrtuse juurde, millele meil peaks olema juurdepÀÀs.

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

  • Saate dekrĂŒpteerida «Value» base64 ja nĂ€ha, et see vastab vÀÀrtusele custom-ns/test_key kasutajaliideses. Kui kasutasite sama vÀÀrtust, mis on eespool selles juhendis, siis teie kodeeritud vÀÀrtus on IkknbSBpbiB0aGUgY3VzdG9tLW5zIGZvbGRlciEi.

Kohandatud teenuse konto test:

  • Looge kohandatud ServiceAccount jĂ€rgmise kĂ€suga [link].

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

  • Looge uus konfiguratsioonifail pods. Pange tĂ€hele, et ma lisan curl'i installimise, et töö oleks kergem 🙂

###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

  • SeejĂ€rel kĂ€ivitage konteineri sees koonus.

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

  • Sisselogimine!

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

  • Lubamine keelatud. Oi, me unustasime lisada uue reegli sidumise koos vastavate Ă”igustega, teeme seda nĂŒĂŒd.

Korrake ĂŒlaltoodud samme:
a) Looge identne poliitika prefiksiga «custom-sa/».
b) Looge roll, nimetage see «custom-sa-role»
c) Siduge poliitika rolliga.

  • Looge reegli sidumine (ainult CLI / API kaudu). Pange tĂ€hele teistsugust valiku lipu vÀÀrtust.

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

  • Korrake sisselogimist konteinerist «poc-ubuntu-custom-sa». Edu!
  • Kontrollige meie juurdepÀÀsu vĂ”tmeedastusele custom-sa/.

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

  • Samuti saate veenduda, et see token ei anna juurdepÀÀsu kv-le "custom-ns/". Lihtsalt korrake ĂŒlaltoodud kĂ€sku, vahetades "custom-sa" prefiksi "custom-ns" vastu.
    Luba keelatud.

Overlay nÀide:

  • Tuleb mĂ€rkida, et kĂ”ik rule-bindingud lisatakse sellele tokenile nende Ă”igustega.
  • Meie konteiner "poc-ubuntu-custom-sa" asub vaikimisi nimel — seega kasutame seda teise rule-bindingu jaoks.
  • Korrake eelnevaid samme:
    a) Looge identne poliitika vÔtme prefiksile "default/".
    b) Looge Tegevus (Role), nimetage see “default-ns-role”
    c) Siduge poliitika rolliga.
  • Looge Rule-Binding (ainult cli / api kaudu vĂ”imalik)

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

  • Minge tagasi meie konteinerisse "poc-ubuntu-custom-sa" ja proovige saada juurdepÀÀsu "default/" kv teele.
  • Luba keelatud.
    Saate vaadata iga tokeni jaoks mÀÀratud mandaate UI-s sektsioonis ACL > Tokens. Nagu nĂ€ete, on meie praeguse tokeniga seotud ainult ĂŒks „custom-sa-role“. Token, mida me praegu kasutame, genereeriti, kui me sĂŒsteemi sisenesime, ja siis oli ainult ĂŒks rule-binding, mis vastas sellele. Peame uuesti sisse logima ja kasutama uut tokenit.
  • Veenduge, et saate lugeda nii teedest „custom-sa/“ kui ka „default/“ kv.
    Edu!
    See on seotud sellega, et meie „poc-ubuntu-custom-sa“ vastab reeglitel pĂ”hinevatele „custom-sa“ ja „default-ns“ sidemetele.

KokkuvÔte

TTL tokeni haldus?

Selle artikli kirjutamise ajal ei ole olemas integreeritud viisi TTL mÀÀramiseks selle autoriseerimise meetodi kaudu genereeritud tokenite jaoks. See oleks fantastiline vĂ”imalus – tagada Consuli autoriseerimise turvaline automatiseerimine.

On vÔimalik kÀsitsi luua TTL-iga token:

Loodame, et lÀhitulevikus suudame kontrollida, kuidas genereeritakse tokenid (iga reegli vÔi autoriseerimismeetodi jaoks) ja lisada TTL-i.

Nii kaua soovitatakse oma loogikas kasutada vÀljumispunkti.

Vaata ka teisi artikleid meie blogis:

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster