Grup API: access.smi-spec.io

Versiunea API: v1alpha2

Compatibil cu: specs.smi-spec.io/v1alpha3

Acest set de resurse permite utilizatorilor sa defineasca politica de control al accesului pentru aplicatiile lor. Este partea de autorizare a imaginii. Autentificarea ar trebui sa fie deja gestionata de implementarea subiacenta si ar trebui sa apara printr-un subiect.

Controlul accesului in aceasta specificatie este aditiv, tot traficul este refuzat in mod implicit. Consultati compromisurile pentru o discutie mai lunga despre de ce.

Specificatie

Target de trafic

Un TrafficTarget asociaza un set de definitii (reguli) de trafic cu o identitate de serviciu care este alocata unui grup de pod-uri. Accesul este controlat prin TrafficSpecs la care se face referire si printr-o lista a identitatilor serviciului sursa. Daca un pod care detine identitatea serviciului de referinta efectueaza un apel catre destinatie pe una dintre rutele definite, atunci accesul va fi permis. Orice pod care incearca sa se conecteze si care nu se afla in lista de surse definita va fi refuzat. Orice pod care se afla in lista definita, dar incearca sa se conecteze pe o ruta care nu se afla in lista TrafficSpecs va fi refuzat.

Accesul este controlat pe baza identitatii serviciului, in prezent metoda de atribuire a identitatii serviciului utilizeaza conturile de servicii Kubernetes, prevederile pentru alte mecanisme de identitate vor fi gestionate de specificatii la o data ulterioara.

Regulile sunt specificatii de trafic care definesc cum ar arata traficul pentru anumite protocoale. Tipul poate fi diferit in functie de traficul pe care il serveste o tinta. In exemplele urmatoare, HTTPRouteGroup este utilizat pentru aplicatii care servesc trafic bazat pe HTTP.

Pentru a intelege cum se potriveste toate acestea, definiti mai intai rutele pentru un anumit trafic.

gen: HTTPRouteGroup metadate: nume: specificatiile rutelor: potriviri: – nume: metrica caleRegex: metode “/ metrici”: – GET – nume: totul caleRegex: “. *” metode: [“*”]

Pentru aceasta definitie, exista doua rute: valori si totul.

fontanero cachondo videos porno corridas
porno agresivo sex porne
follando española videosdeincesto
ver peliculas porno italianas madura española con joven
zoofila porno agresivo
follando con mirones hentai scat
supertetas colegialas cachondas
hentai scat penes de abuelos
defloin.com creampie abuelas
jovenes españolas follando española folla
superculos escuchar relatos porno
abuela enculada corrida boca
follando abuelas corridas internas peludas
maduritas corriendose como folla mi vecina
trio amateur español pornotrans
concursos nudistas sexo con viejas
mi vecina desnuda videos porno casero españa
videos porno online miakalifa
porno viejas alemanas porno gay chino
correte dentro porno viola a su madre

Este un caz de utilizare obisnuit pentru a restrictiona accesul la / valorile care pot fi razuite numai de catre Prometeu. Pentru a defini tinta pentru acest trafic, este nevoie de un TrafficTarget.

— kind: TrafficTarget metadate: name: path-specific namespace: default spec: destination: kind: ServiceAccount name: service-a namespace: implicit port: 8080 reguli: – kind: HTTPRouteGroup name: the-matches matches: – metrics sources : – kind: ServiceAccount name: prometheus namespace: implicit

Acest exemplu selecteaza toate pod-urile care au service-a ServiceAccount. Traficul destinat pe o cale / valori este permis. Campul de potriviri este optional si, daca este omis, o regula este valabila pentru toate meciurile dintr-o specificatie de trafic (o relatie SAU). Este posibil ca un serviciu sa expuna mai multe porturi, campul de porturi permite utilizatorului sa specifice in mod specific pe ce trafic de port ar trebui permis. portul este un element optional, daca nu este specificat, traficul va fi permis catre toate porturile din serviciul de destinatie.

Permiterea traficului de destinatie ar trebui sa fie posibila numai cu permisiunea proprietarului serviciului. Prin urmare, regulile RBAC ar trebui configurate pentru a controla pod-urile carora li se permite sa atribuie ServiceAccount definit in destinatia TrafficTarget.

Nota: controlul accesului este intotdeauna pus in aplicare pe partea serverului unei conexiuni (sau tinta). Depinde de implementari sa decida daca si-ar dori sa impuna si controlul accesului pe partea clientului (sau sursa) a conexiunii.

Identitatile sursei carora li se permite sa se conecteze la destinatie sunt definite in lista surselor. Doar pod-urile care au un ServiceAccount numit in lista de surse sunt permise sa se conecteze la destinatie.

Exemplu de implementare

Urmatoarea implementare prezinta patru servicii API, site web, plata si prometeu. Arata modul in care este posibil sa scrieti TrafficTargets cu granulatie fina, care sa permita controlul accesului pe ruta si sursa.

kind: HTTPRouteGroup metadate: nume: api-service-routes spec: matches: – name: api pathRegex: / api methods: [“*”] – name: metrics pathRegex: / metrics methods: [“GET”] — kind : TrafficTarget metadate: nume: api-service-metrics namespace: implicit spec: destination: kind: ServiceAccount name: api-service namespace: reguli implicite: – kind: HTTPRouteGroup name: api-service-routes matches: – metrics sources: – kind : ServiceAccount name: prometheus namespace: implicit — kind: TrafficTarget metadate: name: api-service-api namespace: implicit spec: destination: kind: ServiceAccount name: api-service namespace: implicit port: 8080 reguli: – kind: HTTPRouteGroup nume: api-service-routes se potriveste: – surse api: – fel: nume ServiceAccount: site-ul web-service spatiu de nume: implicit – kind: ServiceAccount nume: plati-serviciu spatiu de nume: implicit

Exemplul anterior ar permite urmatorul trafic HTTP:

sursa destinatie cale cale metoda site-service api-service / api * plati-serviciu api-service / api * prometeus api-service / metrics GET

Compensari

  • Politica aditiva – politica care neaga in loc sa permita numai este uneori valoroasa. Din pacate, face extrem de dificil sa rationam despre ceea ce este permis sau refuzat intr-o configuratie.

  • Resurse vs selectoare – ar fi posibil sa se faca referire la resurse concrete, cum ar fi o desfasurare, in loc sa se selecteze mai multe poduri.

  • Deoarece acest control al accesului este implicit pe partea de destinatie (server)

  • In prezent, specificatia nu are prevederi pentru definirea elementelor de nivel superior, cum ar fi un serviciu. Este probabil ca aceasta specificatie sa se schimbe odata ce aceste elemente sunt definite.

Fara scop

  • Politica de iesire – TrafficTarget nu permite posibilitatea controlului accesului de iesire deoarece selecteaza pod-uri specifice si nu nume de gazda. Pentru a gestiona acest caz de utilizare va trebui creat un alt obiect.

  • Politica de intrare – presupunand ca clientii prezinta identitatea corecta, aceasta ar trebui sa functioneze pentru un fel de intrare. Din pacate, nu acopera multe dintre cazurile de utilizare obisnuite (filtrarea dupa numele gazdei) si va trebui extinsa pentru a acoperi acest caz de utilizare.

  • Alte tipuri de politici – a avea o politica in ceea ce priveste reincercarile, expirarile si limitele tarifelor ar fi excelent. Acest obiect specific gestioneaza doar controlul accesului. Deoarece politica pentru aceste exemple ar fi specifica HTTP, trebuie sa existe un obiect de politica specific HTTP creat.

  • Alte tipuri de identitate – exista spatiu pentru extinderea tipului acceptat pentru subiectii din IdentityBinding la alte tipuri de identitate. Aceasta necesita o definitie suplimentara pentru a explica cazurile de utilizare si implementarea.