Programiranje

OPA: Splošni usmerjevalni mehanizem za domače oblake

Ko vaša organizacija zajema oblak, boste morda ugotovili, da dinamičnost in obseg sklada, ki temelji na oblaku, zahtevata veliko bolj zapleteno pokrajino varnosti in skladnosti. Na primer, ko platforme za orkestracijo zabojnikov, kot je Kubernetes, pridobivajo vse večjo moč, imajo razvijalci in ekipe devops novo odgovornost na področjih politik, kot je nadzor vstopa, pa tudi na bolj tradicionalnih področjih, kot so računalništvo, shranjevanje in mreženje. Medtem pa vsaka aplikacija, mikrostoritev ali servisna mreža zahteva svoj nabor pravil za avtorizacijo, za katerega so na voljo razvijalci.

Iz teh razlogov se lovi na enostavnejši, časovno učinkovitejši način za ustvarjanje, uveljavljanje in upravljanje pravil v oblaku. Vnesite agent odprte politike (OPA). OPA, ki je bil ustvarjen pred štirimi leti kot odprtokodni motor za agnostično usmerjanje domen, postaja de facto standard za domačo politiko v oblaku. Pravzaprav je OPA že zaposlena v proizvodnji podjetij, kot so Netflix, Pinterest in Goldman Sachs, za primere uporabe, kot je nadzor nad sprejemom Kubernetes in dovoljenje API za mikro storitve. OPA poganja tudi številna orodja, ki jih že poznate in jih imate radi v oblaku, vključno z Atlassian suite in Chef Automate.

[Tudi na: Kje se inženiring zanesljivosti spletnega mesta sreča z devops]

OPA nudi organizacijam v oblaku enoten jezik pravilnikov, tako da se lahko odločitve o avtorizaciji izražajo na skupen način v aplikacijah, API-jih, infrastrukturi in še več, ne da bi bilo treba trdo kodirati po meri prilagojene politike v vsakem od teh različnih jezikov in orodij posebej . Poleg tega, ker je OPA namensko zasnovan za avtorizacijo, ponuja vedno večjo zbirko optimizacij uspešnosti, tako da lahko avtorji pravilnikov porabijo večino časa za pisanje pravilnih in vzdrževalnih pravilnikov ter uspešnost prepustijo OPA.

Politika pooblastila OPA vsebuje veliko, veliko primerov uporabe v celotnem skladišču - od postavljanja zaščitnih ograj okoli orkestracije vsebnika do nadzora dostopa SSH ali zagotavljanja avtoriziranih mrežnih pooblastil na podlagi konteksta. Vendar pa obstajajo trije priljubljeni primeri uporabe, ki mnogim uporabnikom OPA zagotavljajo dobro zagonsko ploščad: avtorizacija aplikacij, nadzor nad sprejemom Kubernetes in mikro storitve.

OPA za odobritev vloge

Politika avtorizacije je povsod navzoča, ker jo zahteva skoraj vsaka aplikacija. Vendar pa razvijalci običajno »kotalijo svojo« kodo, kar ni le dolgotrajno, ampak povzroči tudi krpo odejo orodij in pravilnikov, ki jih je težko vzdrževati. Medtem ko je avtorizacija ključnega pomena za vsako aplikacijo, čas, porabljen za ustvarjanje pravilnika, pomeni manj časa za osredotočanje na funkcije, usmerjene k uporabniku.

OPA uporablja namensko zasnovan jezik deklarativne politike, ki olajša razvoj politike avtorizacije. Na primer, lahko ustvarite in uveljavite pravilnike tako enostavno, kot je »Če ne morete brati osebnih podatkov, če ste izvajalec«, ali »Jane lahko dostopa do tega računa«. Toda to je šele začetek. Ker se OPA zaveda konteksta, lahko sestavite tudi politiko, ki upošteva kar koli na planetu - na primer: »Trgovanje z delnicami, zahtevano v zadnji uri trgovalnega dne, kar bo imelo za posledico transakcijo v višini več kot milijon dolarjev, se lahko izvede samo dne posebne storitve v določenem imenskem prostoru. "

Seveda imajo številne organizacije že pooblastila po naročilu. Če pa upate, da boste razgradili svoje programe in razširili mikro storitve v oblaku, hkrati pa ohranili učinkovitost za razvijalce, bo potreben porazdeljen sistem za avtorizacijo. Za mnoge je OPA manjkajoči del sestavljanke.

OPA za nadzor vstopa Kubernetes

Številni uporabniki OPA uporabljajo tudi za ustvarjanje varoval za Kubernetes. Kubernetes je sam postal osrednji in kritičen, organizacije pa iščejo načine za opredelitev in izvajanje varnostnih varoval, ki bi pomagale ublažiti tveganje za varnost in skladnost. S pomočjo OPA lahko skrbniki določijo jasne politike, tako da lahko razvijalci pospešijo proizvodnjo cevovodov in hitro pripeljejo nove storitve na trg, ne da bi se skrbeli za operativno, varnostno ali tveganje skladnosti.

OPA lahko uporabimo za ustvarjanje pravilnikov, ki zavračajo vnose, ki uporabljajo isto ime gostitelja, ali ki zahtevajo, da vse slike vsebnikov prihajajo iz zaupanja vrednega registra, ali pa zagotovi, da je ves pomnilnik vedno označen z bitom šifriranja ali da je vsaka aplikacija za internet uporabite odobreno domensko ime - če navedemo le nekaj primerov.

Ker se OPA integrira neposredno s strežnikom Kubernetes API, lahko zavrne kateri koli vir, ki ga politika ne dovoljuje, med računi, mreženjem, shranjevanjem itd. Zlasti koristno za razvijalce, te politike lahko izpostavite že prej v razvojnem ciklu, na primer v cevovodu CI / CD, tako da lahko razvijalci prejmejo povratne informacije in rešijo težave pred izvajanjem. Poleg tega lahko svoje pravilnike celo potrdite zunaj pasu, s čimer zagotovite, da dosežejo predvideni učinek in nenamerno povzročajo težave.

OPA za mikro storitve

Končno je OPA postala zelo priljubljena za pomoč organizacijam pri nadzoru njihovih mikro storitev in arhitekturnih mrežnih mrež. Z OPA lahko ustvarite in uveljavite politike avtorizacije neposredno za mikrostoritev (običajno kot stransko prikolico), zgradite politike storitev do storitve znotraj servisne mreže ali z varnostnega stališča ustvarite politike, ki omejujejo bočno gibanje znotraj servisne mreže arhitektura.

Ustvarjanje enotne politike za arhitekture v izvornem oblaku

Na splošno je splošni cilj uporabe OPA ustvariti enoten pristop k oblikovanju pravilnika v vašem domačem skladu v oblaku - tako da vam ni treba nenehno upravljati politike na več deset lokacijah z uporabo različnih jezikov in pristopov s pomočjo hoc mešanica plemenskega znanja, wikijev in datotek PDF ali množica neusklajenih orodij.

[Tudi na: 7 najboljših praks za oddaljene agilne ekipe]

Poleg poenostavitve razvoja in hitrejše dostave je to velika novica tudi za varnost, saj OPA zmanjšuje število orodij, ki jih potrebujete za preverjanje, ali denimo sumite, da je bil poskušan nepooblaščen dostop. Podobno tako z operativnega vidika kot z vidika skladnosti OPA olajša pridobivanje in analizo informacij v heterogenem okolju - kar vam pomaga hitro prepoznati težave in jih hitreje rešiti.

Razvijalci iščejo enostavnejši in učinkovitejši način za ustvarjanje in upravljanje kontrol, ki temeljijo na politikah, za njihova okolja, ki temeljijo na oblaku. Za mnoge je ta rešitev OPA. Če se dotaknete pravilnika o avtorizaciji na več mestih, v več jezikih ali v več skupinah, vam lahko OPA pomaga odpraviti odvečnost in pospešiti dostavo, tako kot to velja za njih.

Tim Hinrichs je soustanovitelj projekta Open Policy Agent in tehnični direktor Styre. Pred tem je bil soustanovitelj projekta OpenStack Congress in bil programski inženir pri VMware. Tim je zadnjih 18 let razvijal deklarativne jezike za različne domene, kot so računalništvo v oblaku, programsko opredeljeno mreženje, upravljanje konfiguracije, spletna varnost in nadzor dostopa. Doktoriral je leta 2008 je diplomiral iz računalništva na univerzi Stanford.

Forum New Tech ponuja prizorišče za raziskovanje in razpravo o nastajajoči podjetniški tehnologiji v globini in širini brez primere. Izbor je subjektiven in temelji na našem izboru tehnologij, za katere menimo, da so pomembne in najbolj zanimajo bralce. ne sprejema tržnih zavarovanj za objavo in si pridržuje pravico do urejanja celotne prispevane vsebine. Vsa vprašanja pošljite na [email protected].

$config[zx-auto] not found$config[zx-overlay] not found