Authorization Service
From EgeeWiki
Tento dokument popisuje autorizacni sluzbu v prostredi METACentra.
Contents |
Uvod
Faze nasazeni
Nasazeni autorizacni sluzby jsme rozdelili do dvou fazi.
1. faze: Autorizacni sluzba je rozdelena do nekolika podsluzeb. Autorizacni rozhodnuti se delaji na koncovych sluzbach, autorizacni sluzba zajistuje spravu skupin, distribuci definic skupin na koncove sluzby a online rozhrani pro dotazy na skupiny. Ziskame tak jednotnou spravu uzivatelskych skupin, pri zachovani rozumne uzivatelske privetivosti pro administratory. Tato faze take umozni snadnejsi zapojeni do existujicich sluzeb, ktere maji vlastni prostredky pro rizeni pristupu, casto zalozene na vyuziti skupin (uzivatelskych identit).
2. faze: Rozsireni o moznost spravovat autorizacni rozhodnuti pro nektere sluzby centralne. Vyuziti nastroju pro definici politik, napr. XACML. Podpora obligaci. Vyzaduje uzkou integraci se stavajicimi sluzbami a zmenu pristupu v administrovani (pristupova pravidla se nastavuji mimo koncovou sluzbu).
Struktura autorizacni sluzby
Sluzba sprava skupin
Sluzba spravuje skupiny: vytvareni, editace, ruseni, umoznuje take vytvareni skupiny skupin (vnorovani). Seznam uzivatelu bere z Peruna, uzivatele, tj. vsichni uzivatele musi byt zavedeni. Tato sluzba take eviduje kam a ktere sluzby budou propagovany pomoci Peruna, tento pristup byl zvolen kvuli tomu, aby se na kazdou sluzbu nemusely propagovat vsechny skupiny. Zaroven poskytuje prehled, kde vsude je skupina pouzivana, tato informace je dulezita pri ruseni skupiny.
Informace o skupinach a clenstvi v nich je dostupna online nebo ji lze propagovat na jednotlive sluzby (tak, jak dnes funguje sprava uzivatelu pres Peruna). Je take vyhledove mozne podporovat "push model", kdy si uzivatel autorizacni atributy prinese s sebou pri zadosti o sluzbu (tento pristup umoznuje prepinani roli uzivatelu).
Propagace skupin
Zajistuje komunikaci s Perunem, kteremu predava informace o skupinach, ktere maji byt distribuovany na koncove sluzby. Tato sluzba vi, ktere skupiny maji byt na konkretni sluzby distribuovany. Pokud neni uvedeno jinak, Perun je chapan jen jako sluzba, ktera distribuuje seznamy skupin na cilove sluzby a monitoruje stav distribuce techto informaci. Skupiny jsou expandovany na seznam uzivatelu, ktery lze snadno vyhodnotit. Typ expanze se bude lisit podle typu sluzby, nektere vyzaduji identitu uzivatele ve formatu DN, jine ve formatu kerberovskeho principala ci pouze loginu. Podrobneji je to popsano u jednotlivych use case nize.
Online rozhrani
Sprava skupin bude dostupna i online, nejpravdepodobneji pres LDAP.
Push model
Atributy ulozene v X.509 certifikatu nebo Kerberovskem listku. Zajimave pro vyuziti SAML assertions. Tento pristup zatim neni prioritni. Bude vyzadovat syntaxi politiky, ktera umoznuji zapis atributu (ne jen zalozany na uzivatelske identite).
Poskytovane sluzby autorizacni sluzbou
1. Tvorba skupin uzivatelu
2. Blokace uzivatele
Use cases
Vzdaleny pristup pomoci ssh, rsh, telnet, ...
Rizeni pristupu pomoci sluzby k5login, ktera bude sirena Perunem. Primarne pristup na rootovske ucty. Z tohoto pohledu je Perun cilova sluzba pro autorizacni sluzbu a misto, kde je zapsana pristupova politika. V autorizacni sluzbe se nadefinuji skupiny uzivatelu, v Perunovi se pote priradi jednotlive skupiny konkretnim uctum na konkretnich strojich. V pripade potreby by sly timto zpusobem resit i genericke ucty user001, user002, atp.
Virtualni klastry
VM a virtualni klastry jsou spravovany sluzbou pro spravu virtualnich klastru, kde se bude definovat, ktere skupiny uzivatelu maji prava na vytvoreni, zruseni, pristup, resetovani a vypnuti. Teto sluzbe bude autorizacni sluzba dodavat seznam skupin pres Peruna. Magrathea ridici VM na konkretni HW se bude bud dotazovat sluzby pro spravu virtualnich klastru primo a nebo bude napr. vytvaret dotazy XACML proti lokalne ulozene politice generovane sluzbou pro spravu virtualnich klastru.
Apache
Na server s Apachem budou tlaceny pres Perun skupiny uzivatelu. Kdo ma k cemu pristup se bude definovat primo v konfiguraci Apache, pomoci stavajiciho modulu pro group-based access control. Administrator Apache se musi zaregistrovat pro "odber" pozadovanych skupin, resp. pouzit on-line dotaz do LDAPu. Apache je prikladem sluzby, ktera bude moci prijimat skupiny uzivatelu, kteri maji identitu zapsanou bude jako kerberovsky principal a nebo DN certifikatu.
OpenVPN
Bude existovat sluzba na spravu VPN koncentratoru, kde se budou definovat konkretni VPN "oblacky" a skupiny uzivatelu, kteri k nim maji pristup. VPN sluzba vyzaduje jako identifikaci DN certifikatu uzivatele. Autorizacni sluzba bude jednotlivym koncentratorum poskytovat seznamy skupin.
Eduroam
Resit se bude pristup do lokalniho nebo celosvetoveho eduroamu a blokace uzivatele. Freeradius je vybaven konektorem pro LDAP, proto bude komunikovat s autorizacni sluzbou jednak online, ale take bude prijimat seznamy uzivatelu s identitami ve formatu DN certifikatu.
CVS
Perun bude na stroj s CVS tlacit definice skupin do /etc/group na zaklade informaci o skupinach z autorizacni sluzby. Na CVS serveru se pak bude pristup k jednotlivym modulum nastavovat pomoci pristupovych prav skupin.
Kerberos KDC
Na KDC serveru bude bud aplikace, ktera bude nacitat autorizacni politiky a seznam skupin tlacenych Perunem od autorizacni sluzby a bude vytvaret ACL pro KDC server. Nebo se upravi Heimdal KDC, aby v konfiguraci ACL rozponal skupinu a tu expandoval na konkretni uzivatele.
File systemy
Pro NFS budou k dispozici skupiny nadefinovane v autorizacni sluzbe a ty lze vyuzit k nastavovani prav pro jednotlive soubory/adresare na filesystemu. NFS vyuziva group-nfs4 pro ziskavani informaci o skupinach, proto lze vyuzit podobny mechanismus jako pro CVS, s tim rozdilem, ze v definici skupiny jsou identity uzivatele zapsany jako plne kerberovske principaly.
Budeme resit i AFS?
PBS
Perun natlaci skupiny od autorizacni sluzby na PBS server, kde se budou mapovat fronty PBS na skupiny opravnenych uzivatelu.
VOMS
Autorizacni sluzba bude spravovat skupiny a ty bude "tlacit" (pres Peruna?) do VOMS serveru. VOMS server bude jen prekladova sluzba mezi autorizacni sluzbou a atributovymi certifikaty nebude samostatne spravovat skupiny. Problem muze vzniknout s rolemi...
Postupy
Pridani nove sluzby
1. V autorizacni sluzbe se vytvori skupiny uzivatelu, pokud jeste neexistuji 2. Zaregistruje se do autorizacni sluzby nova sluzba a seznam skupin, ktere na ni maji byt dopravovany 3. Dojde k propagaci skupin na koncovou sluzbu 3. Nastaveni prav na koncove sluzbe
Komentare
Nastaveni skupin na koncovy sluzbach bude vice mene staticka vec, dynamika bude probihat v clenstvi ve skupinach. Proto operace nastaveni, ktere skupiny se maji propagovat na konkretni koncovou sluzbu neni nijak obtezujici, jelikoz se bude provadet vyjimecne.
Pripominky
Co s uzivateli, ktere nemame a nechceme mit v META? Napr. uzivatele diskovych kapacit z MU? Mozne reseni by byla self-registrace pres federaci.
Ostatni
Schema jednotlivych komponent
Schema komunikace pri propagaci
Použití
Správa skupin https://mizar.ics.muni.cz/grouper
Správa ACL https://mizar.ics.muni.cz/acl
Skript pro vyvolani propagace na Perunovi pri zmene clenstvi ve skupine mizar:/opt/grouper/bin/perun_update.sh
Grouper
Instalace:
- Stáhnout Grouper API Source
- Editovat

