Programmering

OPA: En policy for generell bruk for cloud-native

Når organisasjonen din omfavner skyen, kan du oppdage at dynamikken og skalaen til den sky-native stacken krever et langt mer komplisert sikkerhets- og compliance-landskap. For eksempel med containerorkestrasjonsplattformer som Kubernetes som får grep, har utviklere og devops-team nytt ansvar for politikkområder som adgangskontroll, så vel som mer tradisjonelle områder som beregning, lagring og nettverk. I mellomtiden krever hver applikasjon, mikroservice eller servicenett sitt eget sett med autorisasjonspolicyer, som utviklere er på kroken for.

Det er av disse grunnene at jakten pågår for en enklere, mer tidseffektiv måte å lage, håndheve og administrere politikk i skyen. Gå inn i Open Policy Agent (OPA). Opprettet for fire år siden som en åpen kildekode, domene-agnostisk policy-motor, blir OPA de facto-standarden for sky-native policy. Faktisk er OPA allerede ansatt i produksjon av selskaper som Netflix, Pinterest og Goldman Sachs, for brukstilfeller som Kubernetes opptakskontroll og microservices API-autorisasjon. OPA driver også mange av de skyinnfødte verktøyene du allerede kjenner og elsker, inkludert Atlassian-suiten og Chef Automate.

[Også på: Hvor nettstedets pålitelighetsteknologi møter devops]

OPA gir skyinnfødte organisasjoner et enhetlig policy-språk - slik at autorisasjonsbeslutninger kan uttrykkes på en felles måte, på tvers av apper, API-er, infrastruktur og mer, uten å måtte hardkode skreddersydd policy til hvert av de forskjellige språkene og verktøyene hver for seg . I tillegg, fordi OPA er spesialbygget for autorisasjon, tilbyr det en økende samling av ytelsesoptimaliseringer slik at policyforfattere kan bruke mesteparten av tiden på å skrive riktige, vedlikeholdbare policyer og overlate ytelsen til OPA.

OPA-autorisasjonspolicy har mange, mange brukstilfeller over hele bunken - fra å sette rekkverk rundt containerorkestrering, til å kontrollere SSH-tilgang eller gi kontekstbasert autorisasjon for servicenett. Imidlertid er det tre populære brukstilfeller som gir en god startpakke for mange OPA-brukere: applikasjonsgodkjenning, Kubernetes opptakskontroll og mikrotjenester.

OPA for søknadstillatelse

Autorisasjonspolitikk er allestedsnærværende fordi nesten alle applikasjoner krever det. Imidlertid "utvikler utviklere vanligvis sin egen" kode, som ikke bare er tidkrevende, men resulterer i et lappeteppe av verktøy og policyer som er vanskelige å vedlikeholde. Selv om autorisasjon er avgjørende for hver app, betyr tid brukt til å lage policy mindre tid på å fokusere på brukervendte funksjoner.

OPA bruker et spesialbygget deklarativt policy-språk som gjør det enkelt å utvikle autorisasjonspolitikk. For eksempel kan du opprette og håndheve policyer som er enkle som "Du kan ikke lese PII hvis du er en entreprenør", eller "Jane har tilgang til denne kontoen." Men det er bare starten. Fordi OPA er kontekstbevisst, kan du også lage politikk som tar hensyn til alt på planeten - for eksempel: "Aksjebehandlinger som er bedt om i løpet av den siste timen av handelsdagen, som vil resultere i over en million dollar-transaksjon, kan bare utføres på bestemte tjenester i et gitt navneområde. ”

Selvfølgelig har mange organisasjoner skreddersydd autorisasjon allerede på plass. Men hvis du håper å spalte applikasjonene dine og skalere mikrotjenester i skyen mens du beholder effektiviteten for utviklere, vil det være behov for et distribuert autorisasjonssystem. For mange er OPA det manglende puslespillet.

OPA for Kubernetes opptakskontroll

Mange brukere bruker også OPA for å lage rekkverk for Kubernetes. Kubernetes selv er blitt mainstream og oppdragskritisk, og organisasjoner ser etter måter å definere og implementere sikkerhetsrekkverk for å redusere sikkerhets- og overholdelsesrisiko. Ved hjelp av OPA kan administratorer sette klare retningslinjer slik at utviklere kan akselerere rørledningsproduksjon og raskt bringe nye tjenester til markedet uten å bekymre seg for risiko for drift, sikkerhet eller samsvar.

OPA kan brukes til å lage policyer som avviser inntrengninger som bruker samme vertsnavn, eller som krever at alle containerbilder kommer fra et klarert register, eller for å sikre at all lagring alltid er merket med krypteringsbiten, eller at hver app blir utsatt til internett bruk et godkjent domenenavn - for å sitere bare noen få eksempler.

Fordi OPA integreres direkte med Kubernetes API-server, kan den avvise enhver ressurs som policyen ikke tillater, på tvers av databehandling, nettverk, lagring og så videre. Spesielt gunstig for utviklere, kan du eksponere disse retningslinjene tidligere i utviklingssyklusen, for eksempel i CI / CD-rørledningen, slik at utviklere kan få tilbakemelding tidlig og avhjelpe problemer før kjøretid. Videre kan du til og med validere retningslinjene dine utenfor bandet, slik at de oppnår den tiltenkte effekten og ikke utilsiktet forårsaker problemer.

OPA for mikrotjenester

Endelig har OPA blitt veldig populært for å hjelpe organisasjoner med å kontrollere mikrotjenester og servicearkitekturer. Med OPA kan du opprette og håndheve autorisasjonspolicyer direkte for en mikroservice (vanligvis som en sidevogn), bygge service-til-service-policyer innenfor servicenettet, eller, fra et sikkerhetsmessig synspunkt, opprette policyer som begrenser sidebevegelse innenfor servicenettet arkitektur.

Bygge enhetlig policy for skyinnfødte arkitekturer

Generelt sett er det overordnede målet når du bruker OPA å skape en enhetlig tilnærming til å lage politikk på tvers av din sky-native stack - slik at du ikke trenger å kontinuerlig administrere policyer på dusinvis av steder, ved hjelp av forskjellige språk og tilnærminger, gjennom en annonse hoc blanding av stammekunnskap, wikier og PDF-filer eller et virvar av uoverensstemmende verktøy.

[Også på: 7 beste fremgangsmåter for eksterne smidige team]

Bortsett fra å forenkle utvikling og rask levering, er dette også store nyheter for sikkerhet, siden OPA reduserer antall verktøy du trenger for å sjekke om du for eksempel mistenker at det ble forsøkt uautorisert tilgang. På samme måte, fra både et operasjons- og et overholdelsesperspektiv, gjør OPA det lettere å hente og analysere informasjon i et heterogent miljø - noe som hjelper deg med å raskt identifisere problemer og løse dem raskere.

Utviklere er på jakt etter en enklere og mer effektiv måte å opprette og administrere policy-baserte kontroller for deres sky-native miljøer. For mange er den løsningen OPA. Hvis du kommer til å berøre autorisasjonspolitikken flere steder, på flere språk eller på tvers av flere lag, kan OPA bidra til å eliminere redundans og rask levering for deg, akkurat som det har gjort for dem.

Tim Hinrichs er medstifter av Open Policy Agent-prosjektet og CTO for Styra. Før det var han medstifter av OpenStack Congress-prosjektet og var programvareingeniør i VMware. Tim tilbrakte de siste 18 årene med å utvikle deklarative språk for forskjellige domener som cloud computing, programvaredefinert nettverk, konfigurasjonsadministrasjon, websikkerhet og tilgangskontroll. Han fikk sin doktorgrad. i informatikk fra Stanford University i 2008.

New Tech Forum er et sted for å utforske og diskutere ny teknologi i enestående dybde og bredde. Valget er subjektivt, basert på vårt valg av teknologiene vi mener er viktige og av størst interesse for leserne. godtar ikke markedsføringssikkerhet for publisering og forbeholder seg retten til å redigere alt bidratt innhold. Send alle henvendelser til [email protected]