fbpx

Azure RBAC (role-based access control)

Azure RBAC helpottaa Azure resurssien oikeuksien hallintaa roolijaoilla sekä mahdollistaa oikeuksien tarkan määrityksen. Määrittelyt voidaan tehdä keskitetysti Azure hallintapaneelin kautta.  

Rooli määritys (Role assignment) koostuu security principal, role definition ja scope määrityksistä. Security principal on esimerkiksi käyttäjä, ryhmä tai managed identity (sovellus), joka pyytää pääsyä resurssiin. Role definition on kokoelma lupia (permissions) kuten luku, kirjoitus, poisto. Azuressa on paljon valmiita Role definition määrityksiä tai niitä voi itse luoda. Scope on määritys roolin ulottuvuudesta; se voi olla vain tiettyyn resurssiin, esimerkiksi yhteen tietokantaan, tai koko resurssiryhmään, johon kuluu useita virtuaalikoneita. Scope voidaan määrittää Azuresssa management, subscription, resource group tai resource tasolla. Rooleja voi olla myös useita päällekkäisiä, esimerkiksi käyttäjällä voi olla lukuoikeus yhden roolin kautta ja kirjoitusoikeus toisen. Tällöin roolit summautuvat eli käyttäjällä on sekä kuku- että kirjoitusoikeus. Annettuja oikeuksia voidaan myös evätä (Deny assignments), jolloin esimerkiksi käyttäjälle roolin kautta annettu kirjoitusoikeus poistuu. 

RBAC-data tallennetaan maailmanlaajuisesti, jolloin annetut oikeudet ovat voimassa käyttäjän ollessa eri maanosissa. 

Rooleja voidaan käyttää Azure Functions sovelluksessa seuraavalla tavalla: 

Käyttäjän tiedot saadaan purettua lähetetystä tokenista. Tässä esimerkissä palautetaan käyttäjän nimi ja oikeudet. Sovellus julkaistaan Azureen ja rekisteröidään. 

Sovellukselle luodaan Identity provider (Microsoft) ja määritetään asetukset: 

Issuer URL määritetään https://login.microsoftonline.com/[TenantId]/v2.0 ja Allowed token audiences asetetaan sovelluksen Application ID URI. 

Tulemme kutsumaan sovellusta Postmanista, joten luodaan Platform jonka Redirect URI -osoitteeksi tulee [sovelluksen osoite]/ /.auth/login/aad/callback sekä valitaan ID tokens. 

Seuraavaksi haemme Postman-ohjelmalla tokenin, jota käytämme tunnistautumiseen: 

Callback URL on Azureen määrittelemämme Redirect URI [osoite] /.auth/login/aad/callback/ 

Auth URL ja Access Token URL osoitteet löytyvät Azure Active Directorystä Endpoints osoitteista. 

”Get New Access Token” hakee tokenin, jota käytämme kutsuessamme sovellusta. 

Kirjoittaja Joni Uotinen toimii T-Basella kehittäjänä. 

Kiinnostuitko?

Ota yhteyttä, jos tarvitset apua Azure funktioiden kanssa tai olet kiinnostunut muista palveluistamme. 

Seuraa meitä somessa:

Tutustu myös näihin: