• authz
  • authn
  • käsite

Mitä on AuthZ (Autorisointi)?

Tutustu AuthZ:n määritelmään, AuthN vs AuthZ, kuinka AuthZ toimii ja autsorisoinnin parhaisiin käytäntöihin.

Guamian
Guamian
Product & Design

Mitä on AuthZ ja miten se eroaa AuthN:stä?

AuthZ on lyhenne autorisoinnista. Autorisointi on erillinen mekanismi todennuksesta. Kun todennus tunnistaa kuka olet, autorisointi määrittää, voitko käyttää tiettyjä resursseja ja mitä toimia voit suorittaa niissä.

Reaaliaikaisissa esimerkeissä resurssit voivat olla ohjelmistoja, järjestelmiä, asiakirjoja, tilauksia ja omaisuutta. Autorisointi lisää ylimääräisen hallintakerroksen, joka määrittää kuka voi käyttää näitä resursseja ja millä ehdoilla.

Miten AuthZ toimii?

Autorisointi on erillinen todennuksesta mutta liittyy siihen usein. Esimerkiksi standardiprotokollat kuten OAuth 2.0, OIDC ja SAML sisältävät token-pohjaisia autorisointimekanismeja.

Token-pohjaisessa autorisointijärjestelmässä autorisointipalvelin myöntää käyttäjille pääsytokenin. Tämä token sisältää käyttöoikeudet, jotka määrittävät voiko käyttäjä käyttää tiettyjä resursseja.

Käyttöoikeuksien suora myöntäminen käyttäjille voi olla tehotonta, erityisesti kun vaaditaan yksityiskohtaisempia ehtoja. Esimerkiksi pääsy saattaa riippua tietyistä olosuhteista, kuten käyttäjän sijainnista, mikä tekee käyttöoikeuspolitiikoista välttämättömiä paremman käyttöoikeuksien hallinnan saavuttamiseksi.

Tässä on vaiheittainen yleiskuvaus siitä, miten autorisointi toimii:

  1. Aloita todennus: Käyttäjä kirjautuu sisään valitsemalla tunnisteen ja menetelmän, kuten sähköpostin ja salasanan avulla.
  2. Autorisointipyyntö: Kirjautumisen jälkeen käyttäjä pyytää pääsyä resurssiin, sisältäen tietoja kuten käyttäjätunnuksensa ja roolinsa.
  3. Pääsynhallinnan validointi: Järjestelmä vertaa pyyntöä ennalta määriteltyihin autorisointipolitiikoihin, kuten roolipohjaisiin tai attribuuttipohjaisiin sääntöihin.
  4. Autorisointipäätös: Järjestelmä päättää myöntääkö vai evätäkö pääsyn politiikkojen ja käyttöoikeuksien perusteella.

Ymmärtääksesi OAuth 2.0 autorisointipyynnön tarkemmin, tutustu autorisointipyyntöön

Mitä ovat autorisointityypit?

Roolipohjainen pääsynhallinta ja miten se toimii

Roolipohjaisessa pääsynhallinnassa (RBAC) käytetään rooleja pääsyn hallitsemiseksi. Jokaiselle käyttäjälle on määritetty yksi tai useampi ennalta määritelty rooli, ja jokainen rooli sisältää joukon käyttöoikeuksia. RBAC:n avainasia on ymmärtää suhde kohteiden (tai käyttäjien), roolien ja käyttöoikeuksien välillä.

Ymmärtääksesi, miten roolipohjainen pääsynhallinta (RBAC) toimii, sinun tulee tietää:

  1. Kohteet: Nämä voivat olla käyttäjiä tai ei-inhimillisiä yksiköitä, kuten user tai machine-to-machine application.
  2. Roolit: Edustavat työtehtäviä tai vastuita. esim. admin member
  3. Käyttöoikeudet: Määrittävät mitä toimintoja saa tehdä tietyillä resursseilla, esim. read: order.

RBAC-diagram.png

Attribuuttipohjainen pääsynhallinta ja miten se toimii

Attribuuttipohjainen pääsynhallinta (ABAC) on laajalti käytetty autorisoinnissa ja tukee monimutkaisempia tilanteita käyttämällä yksikön erityisiä attribuutteja, pelkkien roolien lisäksi.

Esimerkiksi yritys hallitsee globaalia asiakirjojen jakamispalvelua, jossa työntekijöiden tarvitsee hallita pääsyä arkaluontoisiin tiedostoihin heidän työroolin, sijainnin ja asiakirjan luokitustason perusteella.

Attribuutit voidaan suunnitella seuraavilla tavoilla:

  1. Käyttäjäattribuutit: Rooli (esim. “Manager,” “Engineer”), sijainti (esim. “US,” “Europe”).
  2. Resurssiattribuutit: Asiakirjan tyyppi (esim. “Financial Report,” “Design File”), luokitustaso (esim. “Confidential”).
  3. Ympäristöattribuutit: Käyttöaika (esim. “During Work Hours”), laitetyyppi (esim. “Company Laptop”).

On myös muita pääsynhallintamalleja, kuten policy-based access control (PBAC). Jokaisella mallilla on omat vahvuutensa ja heikkoutensa, ja mallin valinta riippuu käyttötapauksesta ja vaatimuksista.

AuthZ käyttötapaukset ja esimerkit

B2C-ohjelmisto

B2C-ohjelmistot tarvitsevat usein erityisiä rooleja liiketoimintatarpeiden mukaan. Esimerkiksi kirjakaupan hallintasovellus saattaa sisältää rooleja erilaisilla vastuilla, kuten resurssien ja palveluiden hallinta.

B2B monivuokraaja sovellus

B2B-sovellukset käyttävät usein monivuokraaja-arkkitehtuuria, jossa jokainen vuokralainen edustaa organisaatiota. Organisaation sisällä tarvitaan rooleja kuten admin ja jäsen. Tässä Autorisointi (AuthZ) on keskeisessä roolissa käyttäjien hallinnassa organisaatiotasolla, usein käyttäjän roolipohjaista pääsynhallintaa (RBAC) käyttäen.

Kone-kone-autorisointi

Kone-koneen viestintä tapahtuu suoraan palveluiden välillä ilman ihmisen osallistumista. Esimerkiksi, API-palveluiden kutsuminen. Se sisältää usein tokeneita (esim. OAuth 2.0 pääsytokenit) turvallisen, dynaamisen ja hienojakoisen pääsyn varmistamiseksi.

Mitkä ovat parhaat käytännöt AuthZ:lle?

Tässä on joitakin autorisoinnin (authZ) parhaita käytäntöjä turvallisen ja tehokkaan pääsynhallinnan varmistamiseksi:

  • Pienimmän etuoikeuden periaate

    Tämä varmistaa, että luvattoman pääsyn tai vahingon riski on minimoitu vaarantuneista tileistä. Käyttäjien ja järjestelmien tulee käyttää vain niiden resursseja ja toimia, jotka ovat tarpeen heidän roolinsa kannalta.

  • Käytä token-pohjaista autorisointia

    Token-pohjainen pääsynhallinta tarjoaa enemmän joustavuutta ja hienojakoista hallintaa avoimia standardeja noudattaen. Käytä turvallisia tokeneita (esim. OAuth 2.0, JWT:t) ajallisesti rajatun ja laajuudeltaan määritellyn pääsyn myöntämiseksi.

  • Auditoi ja seuraa säännöllisesti

    Pääsylokien ja autorisointipolitiikoiden säännöllinen tarkastelu on välttämätöntä poikkeavuuksien tai vanhentuneiden käyttöoikeuksien havaitsemiseksi.

  • Erottele tehtävät

    Aloita toteuttamalla hienojakoiset käyttöoikeudet, kuten määrittelemällä erityiset toiminnot ja resurssit (esim. luku, kirjoitus, poisto). Kun luot rooleja, käytä selkeitä roolinimiä ja varmista tehtävien erottaminen minimoidaksesi vilpin tai virheiden riskin yhdeltä käyttäjältä.

  • Tuki monivuokraajuudelle (jos soveltuu)

    Monivuokraajajärjestelmissä vuokralaisen erottaminen on tärkeää. Yhdistämällä sen roolipohjaiseen pääsynhallintaan voit saavuttaa datavarojen erottelun varmistaaksesi, että sopivat roolit voivat käyttää resursseja vain omassa vuokraajassaan. Tämä estää tahallisen tai tahattoman pääsyn toisten vuokraajien resursseihin.

  • Peruuta pääsy dynaamisesti

    Suunnitellessasi AuthZ-järjestelmääsi varmista, että käyttöoikeuksia voidaan päivittää tai peruuttaa välittömästi, jos olosuhteet muuttuvat (esim. roolipäivitykset tai työsuhteen päättyminen). Tämä voidaan saavuttaa dynaamisten API-tarkastusten, webhook-kutsujen tai muiden menetelmien kautta. Tarkoitus on estää luvaton käyttö reaaliaikaisesti.

Mitä eroa on AuthZ:n (Autorisointi) ja Auth:n (Todennus) välillä?

Ero todennuksen ja autorisoinnin välillä on niiden tarkoituksessa ja prosessissa identiteetin ja pääsynhallinnan sisällä.

AuthN (Todennus) vastaa kysymykseen, “Kuka sinä olet ja mikä identiteetti sinulla on” Se on prosessi, jossa vahvistetaan käyttäjän, palvelun tai laitteen identiteetti. Todennus varmistaa, että järjestelmään tai resurssiin pääsyä yrittävä yksikkö on aito. Yleisimmät menetelmät sisältävät salasanat, biometriset tunnisteet ja kaksivaiheisen todennuksen (2FA). Esimerkiksi, kun kirjaudut tilille käyttäen sähköpostia ja salasanaa, järjestelmä vahvistaa identiteettisi todennuksen kautta.

AuthZ (Autorisointi) vastaa kysymykseen, “Mitä sinulla on lupa tehdä?” Se on prosessi, jossa myönnetään tai evätään pääsy resursseihin käyttäjän käyttöoikeuksien tai roolien perusteella. Autorisointi tapahtuu todennuksen jälkeen ja määrittää, mitä toimia todennettu käyttäjä voi suorittaa. Esimerkiksi, kirjautumisen jälkeen, admin-käyttäjällä voi olla oikeus muuttaa asetuksia, kun taas tavallinen käyttäjä voi vain tarkastella niitä.

Yhteenvetona, AuthN (todennus) vahvistaa identiteetin, kun taas AuthZ (autorisointi) määrittää pääsyn. Todennus tapahtuu ensin, jota seuraa autorisointi resurssien turvallisen ja asianmukaisen käytön varmistamiseksi.

Rakenna AuthZ (Autorisointi) Logton avulla

Logto Cloud tarjoaa keskeisiä autorisointipalveluja perustuen avoimiin standardiprotokolliin, kuten OIDC, OAuth 2.0 ja SAML. Ominaisuuksiin kuuluvat Roolipohjainen pääsynhallinta, Organisaatiot (Monivuokraajuus) ja Mukautetut token-väittämät tarpeidesi mukaisesti autorisoinnin eri näkökulmista.