mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-11 20:45:21 -08:00
Translated ['src/banners/hacktricks-training.md', 'src/pentesting-ci-cd/
This commit is contained in:
@@ -6,29 +6,29 @@
|
||||
|
||||
<figure><img src="https://lh7-rt.googleusercontent.com/slidesz/AGV_vUcVrh1BpuQXN7RzGqoxrn-4Nm_sjdJU-dDTvshloB7UMQnN1mtH9N94zNiPCzOYAqE9EsJqlboZOj47tQsQktjxszpKvIDPZLs9rgyiObcZCvl7N0ZWztshR0ZddyBYZIAwPIkrEQ=s2048?key=l3Eei079oPmVJuh8lxQYxxrB" alt=""><figcaption><p><a href="https://www.tunecom.be/stg_ba12f/wp-content/uploads/2020/01/VDC-Governance-ManagementGroups-1536x716.png">https://www.tunecom.be/stg_ba12f/wp-content/uploads/2020/01/VDC-Governance-ManagementGroups-1536x716.png</a></p></figcaption></figure>
|
||||
|
||||
### Bestuursgroepe
|
||||
### Bestuur Groepe
|
||||
|
||||
- Dit kan **ander bestuursgroepe of subskripsies** bevat.
|
||||
- Dit maak dit moontlik om **governance beheer** soos RBAC en Azure-beleid een keer op die bestuursgroepvlak toe te pas en dit **geërf** te laat word deur al die subskripsies in die groep.
|
||||
- **10,000 bestuurs** groepe kan in 'n enkele gids ondersteun word.
|
||||
- 'n Bestuursgroepboom kan **tot ses vlakke diepte** ondersteun. Hierdie limiet sluit nie die wortelvlak of die subskripsievlak in nie.
|
||||
- Elke bestuursgroep en subskripsie kan **slegs een ouer** ondersteun.
|
||||
- Alhoewel verskeie bestuursgroepe geskep kan word, is daar **slegs 1 wortel bestuursgroep**.
|
||||
- Die wortel bestuursgroep **bevat** al die **ander bestuursgroepe en subskripsies** en **kan nie verskuif of verwyder** word nie.
|
||||
- Alle subskripsies binne 'n enkele bestuursgroep moet die **dieselfde Entra ID huur** vertrou.
|
||||
- Dit kan **ander bestuur groepe of subskripsies** bevat.
|
||||
- Dit stel in staat om **governance beheer** soos RBAC en Azure-beleid een keer op die bestuur groep vlak toe te pas en dit **geërf** te laat word deur al die subskripsies in die groep.
|
||||
- **10,000 bestuur** groepe kan in 'n enkele gids ondersteun word.
|
||||
- 'n Bestuur groep boom kan **tot ses vlakke diepte** ondersteun. Hierdie limiet sluit nie die wortelvlak of die subskripsie vlak in nie.
|
||||
- Elke bestuur groep en subskripsie kan **slegs een ouer** ondersteun.
|
||||
- Alhoewel verskeie bestuur groepe geskep kan word, is daar **slegs 1 wortel bestuur groep**.
|
||||
- Die wortel bestuur groep **bevat** al die **ander bestuur groepe en subskripsies** en **kan nie verskuif of verwyder** word nie.
|
||||
- Alle subskripsies binne 'n enkele bestuur groep moet die **dieselfde Entra ID tenant** vertrou.
|
||||
|
||||
<figure><img src="../../../images/image (147).png" alt=""><figcaption><p><a href="https://td-mainsite-cdn.tutorialsdojo.com/wp-content/uploads/2023/02/managementgroups-768x474.png">https://td-mainsite-cdn.tutorialsdojo.com/wp-content/uploads/2023/02/managementgroups-768x474.png</a></p></figcaption></figure>
|
||||
|
||||
### Azure Subskripsies
|
||||
|
||||
- Dit is 'n ander **logiese houer waar hulpbronne** (VM's, DB's…) gedra kan word en gefaktureer sal word.
|
||||
- Sy **ouer** is altyd 'n **bestuursgroep** (en dit kan die wortel bestuursgroep wees) aangesien subskripsies nie ander subskripsies kan bevat nie.
|
||||
- Dit is 'n ander **logiese houer waar hulpbronne** (VMs, DBs…) gedra kan word en gefaktureer sal word.
|
||||
- Sy **ouer** is altyd 'n **bestuur groep** (en dit kan die wortel bestuur groep wees) aangesien subskripsies nie ander subskripsies kan bevat nie.
|
||||
- Dit **vertrou slegs een Entra ID** gids
|
||||
- **Toestemmings** wat op die subskripsievlak (of enige van sy ouers) toegepas word, word **geërf** na al die hulpbronne binne die subskripsie
|
||||
- **Toestemmings** wat op die subskripsie vlak toegepas word (of enige van sy ouers) word **geërf** na al die hulpbronne binne die subskripsie
|
||||
|
||||
### Hulpbron Groepe
|
||||
|
||||
[Van die dokumentasie:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) 'n Hulpbron groep is 'n **houer** wat **verwante hulpbronne** vir 'n Azure-oplossing bevat. Die hulpbron groep kan al die hulpbronne vir die oplossing insluit, of slegs daardie **hulpbronne wat jy as 'n groep wil bestuur**. Oor die algemeen, voeg **hulpbronne** wat die **selfde lewensiklus** deel by die selfde hulpbron groep sodat jy dit maklik kan ontplooi, opdateer, en verwyder as 'n groep.
|
||||
[Van die dokumentasie:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) 'n Hulpbron groep is 'n **houer** wat **verwante hulpbronne** vir 'n Azure oplossing bevat. Die hulpbron groep kan al die hulpbronne vir die oplossing insluit, of slegs daardie **hulpbronne wat jy as 'n groep wil bestuur**. Oor die algemeen, voeg **hulpbronne** wat die **selfde lewensiklus** deel by die selfde hulpbron groep sodat jy dit maklik kan ontplooi, opdateer, en verwyder as 'n groep.
|
||||
|
||||
Alle **hulpbronne** moet **binne 'n hulpbron groep** wees en kan slegs aan een groep behoort, en as 'n hulpbron groep verwyder word, word al die hulpbronne daarin ook verwyder.
|
||||
|
||||
@@ -58,20 +58,20 @@ Entra ID is 'n wolk-gebaseerde **identiteit en toegang bestuur diens** wat ontwe
|
||||
|
||||
### Entra Domein Dienste (voorheen Azure AD DS)
|
||||
|
||||
Entra Domein Dienste brei die vermoëns van Entra ID uit deur **bestuurde domein dienste aan te bied wat versoenbaar is met tradisionele Windows Aktiewe Gids omgewings**. Dit ondersteun ouer protokolle soos LDAP, Kerberos, en NTLM, wat organisasies in staat stel om ouer toepassings in die wolk te migreer of te laat loop sonder om plaaslike domein kontrollers te ontplooi. Hierdie diens ondersteun ook Groep Beleid vir gesentraliseerde bestuur, wat dit geskik maak vir scenario's waar ouer of AD-gebaseerde werklas saam met moderne wolkomgewings moet bestaan.
|
||||
Entra Domein Dienste brei die vermoëns van Entra ID uit deur **bestuurde domein dienste aan te bied wat versoenbaar is met tradisionele Windows Aktiewe Gids omgewings**. Dit ondersteun ou protokolle soos LDAP, Kerberos, en NTLM, wat organisasies in staat stel om ou toepassings in die wolk te migreer of te laat loop sonder om plaaslike domein kontrollers te ontplooi. Hierdie diens ondersteun ook Groep Beleid vir gesentraliseerde bestuur, wat dit geskik maak vir scenario's waar ou of AD-gebaseerde werklas saam met moderne wolkomgewings moet bestaan.
|
||||
|
||||
## Entra ID Principals
|
||||
|
||||
### Gebruikers
|
||||
|
||||
- **Nuwe gebruikers**
|
||||
- Dui e-pos naam en domein van die geselekteerde huur aan
|
||||
- Dui Vertoonnaam aan
|
||||
- Dui e-pos naam en domein van die geselekteerde tenant aan
|
||||
- Dui Vertoon naam aan
|
||||
- Dui wagwoord aan
|
||||
- Dui eienskappe aan (voornaam, posbeskrywing, kontakbesonderhede…)
|
||||
- Dui eienskappe aan (voornaam, posbeskrywing, kontak inligting…)
|
||||
- Standaard gebruiker tipe is “**lid**”
|
||||
- **Buitelandse gebruikers**
|
||||
- Dui e-pos aan om uit te nooi en vertoonnaam (kan 'n nie-Microsoft e-pos wees)
|
||||
- Dui e-pos aan om uit te nooi en vertoon naam (kan 'n nie-Microsoft e-pos wees)
|
||||
- Dui eienskappe aan
|
||||
- Standaard gebruiker tipe is “**Gaste**”
|
||||
|
||||
@@ -79,44 +79,44 @@ Entra Domein Dienste brei die vermoëns van Entra ID uit deur **bestuurde domein
|
||||
|
||||
Jy kan dit nagaan in [https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions](https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions) maar onder andere aksies sal 'n lid in staat wees om:
|
||||
|
||||
- Lees alle gebruikers, Groepe, Toepassings, Toestelle, Rolle, Subskripsies, en hul publieke eienskappe
|
||||
- Nooi Gaste (_kan afgeskakel word_)
|
||||
- Skep Sekuriteitsgroepe
|
||||
- Lees nie-verborgene Groep lidmaatskappe
|
||||
- Voeg gaste by Besit groepe
|
||||
- Skep nuwe toepassing (_kan afgeskakel word_)
|
||||
- Voeg tot 50 toestelle by Azure (_kan afgeskakel word_)
|
||||
- Alle gebruikers, Groepe, Toepassings, Toestelle, Rolle, Subskripsies, en hul openbare eienskappe te lees
|
||||
- Gaste uit te nooi (_kan afgeskakel word_)
|
||||
- Sekuriteitsgroepe te skep
|
||||
- Nie-verborgen Groep lidmaatskappe te lees
|
||||
- Gaste by Besit groepe te voeg
|
||||
- Nuwe toepassing te skep (_kan afgeskakel word_)
|
||||
- Tot 50 toestelle aan Azure toe te voeg (_kan afgeskakel word_)
|
||||
|
||||
> [!NOTE]
|
||||
> Onthou dat om Azure hulpbronne te tel, die gebruiker 'n eksplisiete toekenning van die toestemming benodig.
|
||||
> Onthou dat om Azure hulpbronne te enumerate, die gebruiker 'n eksplisiete toekenning van die toestemming benodig.
|
||||
|
||||
### Gebruikers Standaard Konfigureerbare Toestemmings
|
||||
|
||||
- **Lede (**[**dokumente**](https://learn.microsoft.com/en-gb/entra/fundamentals/users-default-permissions#restrict-member-users-default-permissions)**)**
|
||||
- **Lede (**[**dokumentasie**](https://learn.microsoft.com/en-gb/entra/fundamentals/users-default-permissions#restrict-member-users-default-permissions)**)**
|
||||
- Registreer Toepassings: Standaard **Ja**
|
||||
- Beperk nie-admin gebruikers van die skep van huurders: Standaard **Nee**
|
||||
- Beperk nie-admin gebruikers van die skep van tenants: Standaard **Nee**
|
||||
- Skep sekuriteitsgroepe: Standaard **Ja**
|
||||
- Beperk toegang tot Microsoft Entra administrasie portaal: Standaard **Nee**
|
||||
- Dit beperk nie API toegang tot die portaal nie (slegs web)
|
||||
- Laat gebruikers toe om werk of skool rekening met LinkedIn te verbind: Standaard **Ja**
|
||||
- Toon hou gebruiker ingelog: Standaard **Ja**
|
||||
- Beperk gebruikers van die herstel van die BitLocker sleutel(s) vir hul besit toestelle: Standaard Nee (kyk in Toestel Instellings)
|
||||
- Beperk gebruikers van die herstel van die BitLocker sleutel(s) vir hul besit toestelle: Standaard Nee (nagaan in Toestel Instellings)
|
||||
- Lees ander gebruikers: Standaard **Ja** (deur Microsoft Graph)
|
||||
- **Gaste**
|
||||
- **Gaste gebruiker toegang beperkings**
|
||||
- **Gaste gebruikers het dieselfde toegang as lede** gee alle lid gebruiker toestemmings aan gaste gebruikers per standaard.
|
||||
- **Gaste gebruikers het beperkte toegang tot eienskappe en lidmaatskappe van gids objekte (standaard)** beperk gaste toegang tot slegs hul eie gebruikersprofiel per standaard. Toegang tot ander gebruikers en groep inligting is nie meer toegelaat nie.
|
||||
- **Gaste gebruikers het dieselfde toegang as lede** gee alle lid gebruiker toestemmings aan gaste gebruikers standaard.
|
||||
- **Gaste gebruikers het beperkte toegang tot eienskappe en lidmaatskappe van gids objekte (standaard)** beperk gaste toegang tot slegs hul eie gebruikersprofiel standaard. Toegang tot ander gebruikers en groep inligting is nie meer toegelaat nie.
|
||||
- **Gaste gebruiker toegang is beperk tot eienskappe en lidmaatskappe van hul eie gids objekte** is die mees beperkende een.
|
||||
- **Gaste kan nooi**
|
||||
- **Enige iemand in die organisasie kan gaste gebruikers nooi insluitend gaste en nie-admins (mees inklusief) - Standaard**
|
||||
- **Lid gebruikers en gebruikers wat aan spesifieke admin rolle toegeken is kan gaste gebruikers nooi insluitend gaste met lid toestemmings**
|
||||
- **Slegs gebruikers wat aan spesifieke admin rolle toegeken is kan gaste gebruikers nooi**
|
||||
- **Niemand in die organisasie kan gaste gebruikers nooi insluitend admins (mees beperkende)**
|
||||
- **Gaste kan uitnooi**
|
||||
- **Enige iemand in die organisasie kan gaste gebruikers uitnooi insluitend gaste en nie-admins (mees inklusief) - Standaard**
|
||||
- **Lid gebruikers en gebruikers wat aan spesifieke admin rolle toegeken is kan gaste gebruikers uitnooi insluitend gaste met lid toestemmings**
|
||||
- **Slegs gebruikers wat aan spesifieke admin rolle toegeken is kan gaste gebruikers uitnooi**
|
||||
- **Niemand in die organisasie kan gaste gebruikers uitnooi insluitend admins (mees beperkende)**
|
||||
- **Buitelandse gebruiker verlaat**: Standaard **Waar**
|
||||
- Laat buitelandse gebruikers toe om die organisasie te verlaat
|
||||
|
||||
> [!TIP]
|
||||
> Alhoewel dit per standaard beperk is, kan gebruikers (lede en gaste) met toegekenne toestemmings die vorige aksies uitvoer.
|
||||
> Alhoewel dit standaard beperk is, kan gebruikers (lede en gaste) met toegekenne toestemmings die vorige aksies uitvoer.
|
||||
|
||||
### **Groepe**
|
||||
|
||||
@@ -124,35 +124,35 @@ Daar is **2 tipes groepe**:
|
||||
|
||||
- **Sekuriteit**: Hierdie tipe groep word gebruik om lede toegang te gee tot toepassings, hulpbronne en om lisensies toe te ken. Gebruikers, toestelle, diens prinsipale en ander groepe kan lede wees.
|
||||
- **Microsoft 365**: Hierdie tipe groep word gebruik vir samewerking, wat lede toegang gee tot 'n gedeelde posbus, kalender, lêers, SharePoint webwerf, ensovoorts. Groep lede kan slegs gebruikers wees.
|
||||
- Dit sal 'n **e-pos adres** hê met die domein van die EntraID huur.
|
||||
- Dit sal 'n **e-pos adres** hê met die domein van die EntraID tenant.
|
||||
|
||||
Daar is **2 tipes lidmaatskappe**:
|
||||
|
||||
- **Toegeken**: Laat toe om spesifieke lede handmatig aan 'n groep toe te voeg.
|
||||
- **Dinamiese lidmaatskap**: Bestuur lidmaatskap outomaties met behulp van reëls, wat die groep insluiting opdateer wanneer lede se eienskappe verander.
|
||||
- **Toegewyse**: Laat toe om spesifieke lede handmatig aan 'n groep toe te voeg.
|
||||
- **Dinamiese lidmaatskap**: Bestuur lidmaatskap outomaties met behulp van reëls, wat groep insluiting opdateer wanneer lede eienskappe verander.
|
||||
|
||||
### **Diens Prinsipale**
|
||||
|
||||
'n **Diens Prinsipaal** is 'n **identiteit** geskep vir **gebruik** met **toepassings**, gehoste dienste, en geoutomatiseerde gereedskap om toegang tot Azure hulpbronne te verkry. Hierdie toegang is **beperk deur die rolle wat aan die diens prinsipaal toegeken is**, wat jou beheer gee oor **watter hulpbronne toegang verkry** en op watter vlak. Om veiligheidsredes, word dit altyd aanbeveel om **diens prinsipale met geoutomatiseerde gereedskap te gebruik** eerder as om hulle toe te laat om met 'n gebruikersidentiteit aan te meld.
|
||||
'n **Diens Prinsipaal** is 'n **identiteit** geskep vir **gebruik** met **toepassings**, gehoste dienste, en geoutomatiseerde gereedskap om toegang tot Azure hulpbronne te verkry. Hierdie toegang is **beperk deur die rolle wat aan die diens prinsipaal toegeken is**, wat jou beheer gee oor **watter hulpbronne toegang verkry kan word** en op watter vlak. Om veiligheidsredes, word dit altyd aanbeveel om **diens prinsipale met geoutomatiseerde gereedskap te gebruik** eerder as om hulle toe te laat om met 'n gebruikersidentiteit aan te meld.
|
||||
|
||||
Dit is moontlik om **direk as 'n diens prinsipaal aan te meld** deur 'n **geheim** (wagwoord), 'n **sertifikaat**, of deur **federale** toegang aan derdeparty platforms (bv. Github Actions) oor dit te verleen.
|
||||
|
||||
- As jy **wagwoord** autentisering kies (per standaard), **stoor die gegenereerde wagwoord** aangesien jy dit nie weer kan toegang nie.
|
||||
- As jy **wagwoord** autentisering kies (standaard), **stoor die gegenereerde wagwoord** aangesien jy dit nie weer kan toegang nie.
|
||||
- As jy sertifikaat autentisering kies, maak seker dat die **toepassing toegang sal hê oor die private sleutel**.
|
||||
|
||||
### App Registrasies
|
||||
|
||||
'n **App Registrasie** is 'n konfigurasie wat 'n toepassing toelaat om met Entra ID te integreer en aksies uit te voer.
|
||||
|
||||
#### Sleutel Komponente:
|
||||
#### Sleuteldelers:
|
||||
|
||||
1. **Toepassing ID (Kliënt ID):** 'n Unieke identifiseerder vir jou app in Azure AD.
|
||||
2. **Herlei URIs:** URL's waar Azure AD autentisering antwoorde stuur.
|
||||
3. **Sertifikate, Geheimen & Federale Kredite:** Dit is moontlik om 'n geheim of 'n sertifikaat te genereer om as die diens prinsipaal van die toepassing aan te meld, of om federale toegang aan dit te verleen (bv. Github Actions). 
|
||||
1. As 'n **sertifikaat** of **geheim** gegenereer word, is dit moontlik vir 'n persoon om **as die diens prinsipaal** met CLI gereedskap aan te meld deur die **toepassing ID**, die **geheim** of **sertifikaat** en die **huur** (domein of ID) te ken.
|
||||
4. **API Toestemmings:** Spesifiseer watter hulpbronne of API's die app kan toegang.
|
||||
1. As 'n **sertifikaat** of **geheim** gegenereer word, is dit moontlik vir 'n persoon om **as die diens prinsipaal** met CLI gereedskap aan te meld deur die **toepassing ID**, die **geheim** of **sertifikaat** en die **tenant** (domein of ID) te ken.
|
||||
4. **API Toestemmings:** Spesifiseer watter hulpbronne of API's die app toegang kan verkry.
|
||||
5. **Autentisering Instellings:** Definieer die app se ondersteunde autentisering vloei (bv., OAuth2, OpenID Connect).
|
||||
6. **Diens Prinsipaal**: 'n diens prinsipaal word geskep wanneer 'n App geskep word (as dit vanaf die webkonsol gedoen word) of wanneer dit in 'n nuwe huur geïnstalleer word.
|
||||
6. **Diens Prinsipaal**: 'n diens prinsipaal word geskep wanneer 'n App geskep word (as dit vanaf die webkonsol gedoen word) of wanneer dit in 'n nuwe tenant geïnstalleer word.
|
||||
1. Die **diens prinsipaal** sal al die gevraagde toestemmings wat dit geconfigureer is, ontvang.
|
||||
|
||||
### Standaard Toestemming Toestemmings
|
||||
@@ -180,20 +180,20 @@ Dit is moontlik om **direk as 'n diens prinsipaal aan te meld** deur 'n **geheim
|
||||
|
||||
### **Bestuurde Identiteit (Metadata)**
|
||||
|
||||
Bestuurde identiteite in Azure Aktiewe Gids bied 'n oplossing vir **outomatiese bestuur van die identiteit** van toepassings. Hierdie identiteite word deur toepassings gebruik om te **verbinde** met **hulpbronne** wat versoenbaar is met Azure Aktiewe Gids (**Azure AD**) autentisering. Dit maak dit moontlik om **die behoefte aan hardkoding van wolk akrediteer** in die kode te verwyder aangesien die toepassing in staat sal wees om die **metadata** diens te kontak om 'n geldige token te **verrig** as die aangeduide bestuurde identiteit in Azure.
|
||||
Bestuurde identiteite in Azure Aktiewe Gids bied 'n oplossing vir **outomatiese bestuur van die identiteit** van toepassings. Hierdie identiteite word deur toepassings gebruik met die doel om **verbinding te maak** met **hulpbronne** wat versoenbaar is met Azure Aktiewe Gids (**Azure AD**) autentisering. Dit stel in staat om die behoefte aan hardkoding van wolk kredensiale in die kode te **verwyder** aangesien die toepassing in staat sal wees om die **metadata** diens te kontak om 'n geldige token te **verkry** om aksies uit te voer as die aangeduide bestuurde identiteit in Azure.
|
||||
|
||||
Daar is twee tipes bestuurde identiteite:
|
||||
|
||||
- **Stelsel-toegeken**. Sommige Azure dienste laat jou toe om 'n **bestuurde identiteit direk op 'n diens instansie** in te skakel. Wanneer jy 'n stelsel-toegeken bestuurde identiteit inskakel, word 'n **diens prinsipaal** geskep in die Entra ID huur wat deur die subskripsie vertrou word waar die hulpbron geleë is. Wanneer die **hulpbron** verwyder word, verwyder Azure outomaties die **identiteit** vir jou.
|
||||
- **Gebruiker-toegeken**. Dit is ook moontlik vir gebruikers om bestuurde identiteite te genereer. Hierdie word binne 'n hulpbron groep binne 'n subskripsie geskep en 'n diens prinsipaal sal in die EntraID geskep word wat deur die subskripsie vertrou word. Dan kan jy die bestuurde identiteit aan een of **meer instansies** van 'n Azure diens toeken. Vir gebruiker-toegeken bestuurde identiteite, word die **identiteit apart bestuur van die hulpbronne wat dit gebruik**.
|
||||
- **Stelsel-toegewyse**. Sommige Azure dienste laat jou toe om 'n **bestuurde identiteit direk op 'n diens instansie** in te skakel. Wanneer jy 'n stelsel-toegewyse bestuurde identiteit inskakel, word 'n **diens prinsipaal** geskep in die Entra ID tenant wat deur die subskripsie vertrou word waar die hulpbron geleë is. Wanneer die **hulpbron** verwyder word, verwyder Azure outomaties die **identiteit** vir jou.
|
||||
- **Gebruiker-toegewyse**. Dit is ook moontlik vir gebruikers om bestuurde identiteite te genereer. Hierdie word binne 'n hulpbron groep binne 'n subskripsie geskep en 'n diens prinsipaal sal in die EntraID geskep word wat deur die subskripsie vertrou word. Dan kan jy die bestuurde identiteit aan een of **meer instansies** van 'n Azure diens toewys (meerdere hulpbronne). Vir gebruiker-toegewyse bestuurde identiteite, word die **identiteit apart bestuur van die hulpbronne wat dit gebruik**.
|
||||
|
||||
Bestuurde Identiteite **genereer nie ewige akrediteer** (soos wagwoorde of sertifikate) om toegang te verkry as die diens prinsipaal wat aan dit geheg is.
|
||||
Bestuurde Identiteite **genereer nie ewige kredensiale** (soos wagwoorde of sertifikate) om toegang te verkry as die diens prinsipaal wat aan dit geheg is.
|
||||
|
||||
### Enterprise Toepassings
|
||||
### Onderneming Toepassings
|
||||
|
||||
Dit is net 'n **tafel in Azure om diens prinsipale te filter** en die toepassings wat aan hulle toegeken is, te kontroleer.
|
||||
|
||||
**Dit is nie 'n ander tipe "toepassing" nie,** daar is geen objek in Azure wat 'n "Enterprise Toepassing" is nie, dit is net 'n abstraksie om die Diens prinsipale, App registrasies en bestuurde identiteite te kontroleer.
|
||||
**Dit is nie 'n ander tipe "toepassing" nie,** daar is nie enige objek in Azure wat 'n "Onderneming Toepassing" is nie, dit is net 'n abstraksie om die Diens prinsipale, App registrasies en bestuurde identiteite te kontroleer.
|
||||
|
||||
### Administratiewe Eenhede
|
||||
|
||||
@@ -204,7 +204,7 @@ Voorbeeld:
|
||||
- Scenario: 'n Maatskappy wil regionale IT admins toelaat om slegs die gebruikers in hul eie streek te bestuur.
|
||||
- Implementering:
|
||||
- Skep Administratiewe Eenhede vir elke streek (bv., "Noord-Amerika AU", "Europa AU").
|
||||
- Vul AU's met gebruikers uit hul onderskeie streke.
|
||||
- Vul AU's met gebruikers van hul onderskeie streke.
|
||||
- AU's kan **gebruikers, groepe, of toestelle** bevat
|
||||
- AU's ondersteun **dinamiese lidmaatskappe**
|
||||
- AU's **kan nie AU's bevat nie**
|
||||
@@ -221,31 +221,31 @@ Voorbeeld:
|
||||
|
||||
## Rolle & Toestemmings
|
||||
|
||||
**Rolle** word **toegeken** aan **prinsipale** op 'n **skaal**: `prinsipaal -[HEE ROLE]->(skaal)`
|
||||
**Rolle** word **toegeken** aan **prinsipale** op 'n **skaal**: `principal -[HAS ROLE]->(scope)`
|
||||
|
||||
**Rolle** wat aan **groepe** toegeken word, word **geërf** deur al die **lede** van die groep.
|
||||
|
||||
Afhangende van die skaal waaraan die rol toegeken is, kan die **rol** **geërf** word na **ander hulpbronne** binne die skaal houer. Byvoorbeeld, as 'n gebruiker A 'n **rol op die subskripsie** het, sal hy daardie **rol op al die hulpbron groepe** binne die subskripsie hê en op **al die hulpbronne** binne die hulpbron groep.
|
||||
Afhangende van die skaal waaraan die rol toegeken is, kan die **rol** **geërf** word na **ander hulpbronne** binne die skaal houer. Byvoorbeeld, as 'n gebruiker A 'n **rol op die subskripsie** het, sal hy daardie **rol op al die hulpbron groepe** binne die subskripsie hê en op **alle hulpbronne** binne die hulpbron groep.
|
||||
|
||||
### **Klassieke Rolle**
|
||||
|
||||
| **Eienaar** | <ul><li>Volledige toegang tot alle hulpbronne</li><li>Kan toegang vir ander gebruikers bestuur</li></ul> | Alle hulpbron tipes |
|
||||
| ------------------------------- | ---------------------------------------------------------------------------------------- | ------------------ |
|
||||
| **Bydraer** | <ul><li>Volledige toegang tot alle hulpbronne</li><li>Kan nie toegang bestuur nie</li></ul> | Alle hulpbron tipes |
|
||||
| **Leser** | • Sien alle hulpbronne | Alle hulpbron tipes |
|
||||
| **Gebruiker Toegang Administrateur** | <ul><li>Sien alle hulpbronne</li><li>Kan toegang vir ander gebruikers bestuur</li></ul> | Alle hulpbron tipes |
|
||||
| **Eienaar** | <ul><li>Volle toegang tot alle hulpbronne</li><li>Kan toegang vir ander gebruikers bestuur</li></ul> | Alle hulpbron tipes |
|
||||
| ------------------------------- | ------------------------------------------------------------------------------------------ | ------------------ |
|
||||
| **Bydraer** | <ul><li>Volle toegang tot alle hulpbronne</li><li>Kan nie toegang bestuur nie</li></ul> | Alle hulpbron tipes |
|
||||
| **Leser** | • Sien alle hulpbronne | Alle hulpbron tipes |
|
||||
| **Gebruiker Toegang Administrateur** | <ul><li>Sien alle hulpbronne</li><li>Kan toegang vir ander gebruikers bestuur</li></ul> | Alle hulpbron tipes |
|
||||
|
||||
### Gebou-in rolle
|
||||
|
||||
[Van die dokumentasie: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azure rol-gebaseerde toegangbeheer (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) het verskeie Azure **gebou-in rolle** wat jy kan **toeken** aan **gebruikers, groepe, diens prinsipale, en bestuurde identiteite**. Rol toekennings is die manier waarop jy **toegang tot Azure hulpbronne** beheer. As die gebou-in rolle nie aan die spesifieke behoeftes van jou organisasie voldoen nie, kan jy jou eie [**Azure pasgemaakte rolle**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**.**
|
||||
[Van die dokumentasie: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azure rol-gebaseerde toegangbeheer (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) het verskeie Azure **gebou-in rolle** wat jy kan **toekenn** aan **gebruikers, groepe, diens prinsipale, en bestuurde identiteite**. Rol toekennings is die manier waarop jy **toegang tot Azure hulpbronne** beheer. As die gebou-in rolle nie aan die spesifieke behoeftes van jou organisasie voldoen nie, kan jy jou eie [**Azure pasgemaakte rolle**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)** skep.**
|
||||
|
||||
**Gebou-in** rolle geld slegs vir die **hulpbronne** waarvoor hulle **bedoel** is, byvoorbeeld kyk na hierdie 2 voorbeelde van **Gebou-in rolle oor Compute** hulpbronne:
|
||||
|
||||
| [Disk Backup Reader](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Bied toestemming aan om rugsteun kluise te gebruik om disk rugsteun te doen. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 |
|
||||
| [Disk Backup Reader](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Bied toestemming aan om rugsteun kluise te laat rugsteun. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ |
|
||||
| [Virtuele Masjien Gebruiker Aanmelding](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Sien Virtuele Masjiene in die portaal en meld aan as 'n gewone gebruiker. | fb879df8-f326-4884-b1cf-06f3ad86be52 |
|
||||
| [Virtuele Masjien Gebruiker Aanmelding](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Sien Virtuele Masjiene in die portaal en teken in as 'n gewone gebruiker. | fb879df8-f326-4884-b1cf-06f3ad86be52 |
|
||||
|
||||
Hierdie rolle kan **ook toegeken word oor logiese houers** (soos bestuursgroepe, subskripsies en hulpbron groepe) en die prinsipale wat geraak word, sal dit **oor die hulpbronne binne daardie houers** hê.
|
||||
Hierdie rolle kan **ook oor logiese houers** (soos bestuur groepe, subskripsies en hulpbron groepe) toegeken word en die prinsipale wat geraak word, sal dit **oor die hulpbronne binne daardie houers** hê.
|
||||
|
||||
- Vind hier 'n lys met [**alle Azure gebou-in rolle**](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles).
|
||||
- Vind hier 'n lys met [**alle Entra ID gebou-in rolle**](https://learn.microsoft.com/en-us/azure/active-directory/roles/permissions-reference).
|
||||
@@ -253,7 +253,7 @@ Hierdie rolle kan **ook toegeken word oor logiese houers** (soos bestuursgroepe,
|
||||
### Pasgemaakte Rolle
|
||||
|
||||
- Dit is ook moontlik om [**pasgemaakte rolle**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles) te skep
|
||||
- Hulle word binne 'n skaal geskep, alhoewel 'n rol in verskeie skale kan wees (bestuursgroepe, subskripsie en hulpbron groepe)
|
||||
- Hulle word binne 'n skaal geskep, alhoewel 'n rol in verskeie skale kan wees (bestuur groepe, subskripsie en hulpbron groepe)
|
||||
- Dit is moontlik om al die fynere toestemmings wat die pasgemaakte rol sal hê, te konfigureer
|
||||
- Dit is moontlik om toestemmings uit te sluit
|
||||
- 'n prinsipaal met 'n uitgeslote toestemming sal dit nie kan gebruik nie, selfs al word die toestemming elders toegeken
|
||||
@@ -294,16 +294,16 @@ Voorbeeld van toestemmings JSON vir 'n pasgemaakte rol:
|
||||
```
|
||||
### Permissies volgorde
|
||||
|
||||
- Ten einde vir 'n **hoofpersoon om toegang tot 'n hulpbron te hê** moet daar 'n eksplisiete rol aan hom toegeken word (op enige manier) **wat hom daardie toestemming gee**.
|
||||
- Om 'n **hoofpersoon toegang tot 'n hulpbron te hê**, moet daar 'n eksplisiete rol aan hom toegeken word (op enige manier) **wat hom daardie toestemming gee**.
|
||||
- 'n Eksplisiete **weier roltoewysing het voorrang** bo die rol wat die toestemming gee.
|
||||
|
||||
<figure><img src="../../../images/image (191).png" alt=""><figcaption><p><a href="https://link.springer.com/chapter/10.1007/978-1-4842-7325-8_10">https://link.springer.com/chapter/10.1007/978-1-4842-7325-8_10</a></p></figcaption></figure>
|
||||
|
||||
### Globale Administrateur
|
||||
|
||||
Globale Administrateur is 'n rol van Entra ID wat **volledige beheer oor die Entra ID huurder gee**. Dit gee egter nie standaard enige toestemmings oor Azure hulpbronne nie.
|
||||
Globale Administrateur is 'n rol van Entra ID wat **volledige beheer oor die Entra ID huurder** gee. Dit gee egter nie standaard enige toestemming oor Azure hulpbronne nie.
|
||||
|
||||
Gebruikers met die Globale Administrateur rol het die vermoë om '**te verhoog' na die Gebruikerstoegang Administrateur Azure rol in die Wortelbestuursgroep**. So kan Globale Administrateurs toegang in **alle Azure subskripsies en bestuursgroepe bestuur.**\
|
||||
Gebruikers met die Globale Administrateur rol het die vermoë om te '**verhoog' na die Gebruikerstoegang Administrateur Azure rol in die Wortelbestuursgroep**. So kan Globale Administrateurs toegang in **alle Azure subskripsies en bestuursgroepe bestuur.**\
|
||||
Hierdie verhoging kan aan die einde van die bladsy gedoen word: [https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/\~/Properties](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties)
|
||||
|
||||
<figure><img src="../../../images/image (349).png" alt=""><figcaption></figcaption></figure>
|
||||
@@ -312,7 +312,7 @@ Hierdie verhoging kan aan die einde van die bladsy gedoen word: [https://portal.
|
||||
|
||||
**Azure Beleide** is reëls wat organisasies help om te verseker dat hul hulpbronne aan spesifieke standaarde en nakomingsvereistes voldoen. Hulle stel jou in staat om **instellings op hulpbronne in Azure af te dwing of te oudit**. Byvoorbeeld, jy kan die skepping van virtuele masjiene in 'n nie-geautoriseerde streek voorkom of verseker dat alle hulpbronne spesifieke etikette het vir opsporing.
|
||||
|
||||
Azure Beleide is **proaktief**: hulle kan nie-nakomende hulpbronne stop om geskep of verander te word. Hulle is ook **reaktief**, wat jou toelaat om bestaande nie-nakomende hulpbronne te vind en reg te stel.
|
||||
Azure Beleide is **proaktief**: hulle kan nie-nakomende hulpbronne keer om geskep of verander te word. Hulle is ook **reaktief**, wat jou toelaat om bestaande nie-nakomende hulpbronne te vind en reg te stel.
|
||||
|
||||
#### **Belangrike Konsepte**
|
||||
|
||||
@@ -326,9 +326,9 @@ Azure Beleide is **proaktief**: hulle kan nie-nakomende hulpbronne stop om geske
|
||||
1. **Verseker Nakoming met Spesifieke Azure Streke**: Hierdie beleid verseker dat alle hulpbronne in spesifieke Azure streke ontplooi word. Byvoorbeeld, 'n maatskappy mag wil verseker dat al sy data in Europa gestoor word vir GDPR-nakoming.
|
||||
2. **Afgedwonge Naamstandaarde**: Beleide kan naamkonvensies vir Azure hulpbronne afdwing. Dit help om hulpbronne te organiseer en maklik te identifiseer op grond van hul name, wat nuttig is in groot omgewings.
|
||||
3. **Beperking van Sekere Hulpbron Tipes**: Hierdie beleid kan die skepping van sekere tipes hulpbronne beperk. Byvoorbeeld, 'n beleid kan ingestel word om die skepping van duur hulpbron tipes, soos sekere VM-groottes, te voorkom om koste te beheer.
|
||||
4. **Afgedwonge Etikettering Beleide**: Etikette is sleutel-waarde pare wat met Azure hulpbronne geassosieer word en gebruik word vir hulpbronbestuur. Beleide kan afdwing dat sekere etikette teenwoordig moet wees, of spesifieke waardes moet hê, vir alle hulpbronne. Dit is nuttig vir kostesporing, eienaarskap, of kategorisering van hulpbronne.
|
||||
4. **Afgedwonge Etikettering Beleide**: Etikette is sleutel-waarde pare wat met Azure hulpbronne geassosieer word en gebruik word vir hulpbronbestuur. Beleide kan afdwing dat sekere etikette teenwoordig moet wees, of spesifieke waardes moet hê, vir alle hulpbronne. Dit is nuttig vir kostebestuur, eienaarskap, of kategorisering van hulpbronne.
|
||||
5. **Beperking van Publieke Toegang tot Hulpbronne**: Beleide kan afdwing dat sekere hulpbronne, soos stoor rekeninge of databasisse, nie publieke eindpunte het nie, wat verseker dat hulle slegs binne die organisasie se netwerk toeganklik is.
|
||||
6. **Outomatiese Toepassing van Sekuriteitsinstellings**: Beleide kan gebruik word om outomaties sekuriteitsinstellings op hulpbronne toe te pas, soos om 'n spesifieke netwerk sekuriteitsgroep op alle VM's toe te pas of te verseker dat alle stoor rekeninge versleuteling gebruik.
|
||||
6. **Outomatiese Toepassing van Sekuriteitsinstellings**: Beleide kan gebruik word om outomaties sekuriteitsinstellings op hulpbronne toe te pas, soos om 'n spesifieke netwerk sekuriteitsgroep op alle VM's toe te pas of om te verseker dat alle stoor rekeninge versleuteling gebruik.
|
||||
|
||||
Let daarop dat Azure Beleide aan enige vlak van die Azure hiërargie geheg kan word, maar hulle word **gewoonlik in die wortelbestuursgroep** of in ander bestuursgroepe gebruik.
|
||||
|
||||
@@ -354,17 +354,17 @@ Azure beleid json voorbeeld:
|
||||
|
||||
In Azure **kan toestemmings aan enige deel van die hiërargie toegeken word**. Dit sluit bestuursgroepe, subskripsies, hulpbron groepe, en individuele hulpbronne in. Toestemmings word **geërf** deur die ingeslote **hulpbronne** van die entiteit waar hulle toegeken is.
|
||||
|
||||
Hierdie hiërargiese struktuur stel doeltreffende en skaalbare bestuur van toegangstoestemmings in staat.
|
||||
Hierdie hiërargiese struktuur stel in staat vir doeltreffende en skaalbare bestuur van toegangstoestemmings.
|
||||
|
||||
<figure><img src="../../../images/image (26).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### Azure RBAC vs ABAC
|
||||
|
||||
**RBAC** (rol-gebaseerde toegangbeheer) is wat ons reeds in die vorige afdelings gesien het: **'n rol aan 'n prinsiep toe te ken om hom toegang te gee** oor 'n hulpbron.\
|
||||
E however, in sommige gevalle wil jy dalk **meer fyn-gegradeerde toegangsbewaking** of **vereenvoudig** die bestuur van **honderde** rol **toekennings**.
|
||||
**RBAC** (rol-gebaseerde toegangbeheer) is wat ons reeds in die vorige afdelings gesien het: **'n rol aan 'n prinsiep toe te ken om hom toegang** tot 'n hulpbron te gee.\
|
||||
E however, in sommige gevalle wil jy dalk **meer fyn-granulêre toegangsbewaking** bied of **die bestuur** van **honderde** rol **toekennings** vereenvoudig.
|
||||
|
||||
Azure **ABAC** (attribuut-gebaseerde toegangbeheer) bou op Azure RBAC deur **roltoekenningsvoorwaardes gebaseer op attribuute** in die konteks van spesifieke aksies by te voeg. 'n _roltoekenningsvoorwaarde_ is 'n **addisionele kontrole wat jy opsioneel aan jou roltoekenning kan voeg** om meer fyn-gegradeerde toegangbeheer te bied. 'n Voorwaarde filter die toestemmings wat as deel van die roldefinisie en roltoekenning toegeken word. Byvoorbeeld, jy kan **'n voorwaarde byvoeg wat vereis dat 'n objek 'n spesifieke etiket moet hê om die objek te lees**.\
|
||||
Jy **kan nie** eksplisiet **toegang** tot spesifieke hulpbronne **weier nie** **met behulp van voorwaardes**.
|
||||
Azure **ABAC** (attribuut-gebaseerde toegangbeheer) bou op Azure RBAC deur **roltoekenningsvoorwaardes gebaseer op attribuute** in die konteks van spesifieke aksies by te voeg. 'n _roltoekenningsvoorwaarde_ is 'n **addisionele kontrole wat jy opsioneel aan jou roltoekenning kan voeg** om meer fyn-granulêre toegangbeheer te bied. 'n voorwaarde filter die toestemmings wat as deel van die roldefinisie en roltoekenning toegeken word. Byvoorbeeld, jy kan **'n voorwaarde byvoeg wat vereis dat 'n objek 'n spesifieke etiket moet hê om die objek te lees**.\
|
||||
Jy **kan nie** eksplisiet **toegang** tot spesifieke hulpbronne **weier** **met behulp van voorwaardes** nie.
|
||||
|
||||
## Verwysings
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Basic Information
|
||||
## Basiese Inligting
|
||||
|
||||
Entra ID is Microsoft's cloud-based identity and access management (IAM) platform, serving as the foundational authentication and authorization system for services like Microsoft 365 and Azure Resource Manager. Azure AD implementeer die OAuth 2.0-autoriseringsraamwerk en die OpenID Connect (OIDC) autentikasieprotokol om toegang tot hulpbronne te bestuur.
|
||||
Entra ID is Microsoft se wolk-gebaseerde identiteit en toegang bestuur (IAM) platform, wat dien as die fundamentele autentikasie en magtiging stelsel vir dienste soos Microsoft 365 en Azure Resource Manager. Azure AD implementeer die OAuth 2.0 magtiging raamwerk en die OpenID Connect (OIDC) autentikasie protokol om toegang tot hulpbronne te bestuur.
|
||||
|
||||
### OAuth
|
||||
|
||||
@@ -12,51 +12,51 @@ Entra ID is Microsoft's cloud-based identity and access management (IAM) platfor
|
||||
|
||||
1. **Hulpbronbediener (RS):** Beskerm hulpbronne wat deur die hulpbron eienaar besit word.
|
||||
2. **Hulpbron Eienaar (RO):** Tipies 'n eindgebruiker wat die beskermde hulpbronne besit.
|
||||
3. **Kliënttoepassing (CA):** 'n Toepassing wat toegang tot hulpbronne soek namens die hulpbron eienaar.
|
||||
4. **Autoriseringsbediener (AS):** Gee toegangstokens aan kliënttoepassings nadat dit hulle geverifieer en geautoriseer het.
|
||||
3. **Kliënt Toepassing (CA):** 'n Toepassing wat toegang tot hulpbronne soek namens die hulpbron eienaar.
|
||||
4. **Magtigingsbediener (AS):** Gee toegangstokens aan kliënttoepassings nadat dit hulle geverifieer en gemagtig het.
|
||||
|
||||
**Skoppe en Toestemming:**
|
||||
|
||||
- **Skoppe:** Fyn gespesifiseerde toestemmings op die hulpbronbediener wat toegangsvlakke spesifiseer.
|
||||
- **Skoppe:** Fynkorrelige toestemmings wat op die hulpbronbediener gedefinieer is wat toegangsvlakke spesifiseer.
|
||||
- **Toestemming:** Die proses waardeur 'n hulpbron eienaar 'n kliënttoepassing toestemming gee om toegang tot hulpbronne met spesifieke skoppe te verkry.
|
||||
|
||||
**Microsoft 365 Integrasie:**
|
||||
|
||||
- Microsoft 365 gebruik Azure AD vir IAM en bestaan uit verskeie "eerste-party" OAuth-toepassings.
|
||||
- Hierdie toepassings is diep geïntegreer en het dikwels onderling afhanklike diensverhoudings.
|
||||
- Om die gebruikerservaring te vereenvoudig en funksionaliteit te handhaaf, gee Microsoft "implisiete toestemming" of "vooraf toestemming" aan hierdie eerste-party toepassings.
|
||||
- **Implisiete Toestemming:** Sekere toepassings word outomaties **toegang tot spesifieke skoppe sonder eksplisiete gebruiker of administrateur goedkeuring gegee**.
|
||||
- Om die gebruikerservaring te vereenvoudig en funksionaliteit te handhaaf, verleen Microsoft "implisiete toestemming" of "vooraf toestemming" aan hierdie eerste-party toepassings.
|
||||
- **Implisiete Toestemming:** Sekere toepassings word outomaties **toegestaan om toegang tot spesifieke skoppe te verkry sonder eksplisiete gebruiker of administrateur goedkeuring**.
|
||||
- Hierdie vooraf goedgekeurde skoppe is tipies verborge vir beide gebruikers en administrateurs, wat dit minder sigbaar maak in standaard bestuursinterfaces.
|
||||
|
||||
**Kliënttoepassing Tipes:**
|
||||
**Kliënt Toepassing Tipes:**
|
||||
|
||||
1. **Vertroulike Kliënte:**
|
||||
- Besit hul eie geloofsbriewe (bv. wagwoorde of sertifikate).
|
||||
- Kan **veilig hulself autentiseer** by die autoriseringsbediener.
|
||||
- Kan **veilig hulself autentiseer** by die magtigingsbediener.
|
||||
2. **Publieke Kliënte:**
|
||||
- Het nie unieke geloofsbriewe nie.
|
||||
- Kan nie veilig autentiseer by die autoriseringsbediener nie.
|
||||
- **Sekuriteitsimplikasie:** 'n Aanvaller kan 'n publieke kliënttoepassing naboots wanneer hy tokens aan vra, aangesien daar geen meganisme is vir die autoriseringsbediener om die legitimiteit van die toepassing te verifieer nie.
|
||||
- Kan nie veilig autentiseer by die magtigingsbediener nie.
|
||||
- **Sekuriteitsimplikasie:** 'n Aanvaller kan 'n publieke kliënttoepassing naboots wanneer hy tokens aan vra, aangesien daar geen meganisme is vir die magtigingsbediener om die legitimiteit van die toepassing te verifieer nie.
|
||||
|
||||
## Authentication Tokens
|
||||
## Autentikasie Tokens
|
||||
|
||||
Daar is **drie tipes tokens** wat in OIDC gebruik word:
|
||||
|
||||
- [**Toegangstokens**](https://learn.microsoft.com/en-us/azure/active-directory/develop/access-tokens)**:** Die kliënt bied hierdie token aan die hulpbronbediener aan om **toegang tot hulpbronne** te verkry. Dit kan slegs gebruik word vir 'n spesifieke kombinasie van gebruiker, kliënt en hulpbron en **kan nie herroep word** tot vervaldatum nie - dit is 1 uur per standaard.
|
||||
- **ID Tokens**: Die kliënt ontvang hierdie **token van die autoriseringsbediener**. Dit bevat basiese inligting oor die gebruiker. Dit is **gebind aan 'n spesifieke kombinasie van gebruiker en kliënt**.
|
||||
- **Herfris Tokens**: Verskaf aan die kliënt saam met toegangstoken. Gebruik om **nuwe toegang en ID tokens te verkry**. Dit is gebind aan 'n spesifieke kombinasie van gebruiker en kliënt en kan herroep word. Standaard vervaldatum is **90 dae** vir inaktiewe herfris tokens en **geen vervaldatum vir aktiewe tokens** (dit is moontlik om nuwe herfris tokens van 'n herfris token te verkry).
|
||||
- 'n Herfris token moet gekoppel wees aan 'n **`aud`**, aan sekere **skoppe**, en aan 'n **tenant** en dit moet slegs in staat wees om toegangstokens vir daardie aud, skoppe (en nie meer nie) en tenant te genereer. Dit is egter nie die geval met **FOCI toepassings tokens** nie.
|
||||
- 'n Herfris token is versleuteld en slegs Microsoft kan dit ontsleutel.
|
||||
- Om 'n nuwe herfris token te verkry, herroep nie die vorige herfris token nie.
|
||||
- [**Toegangstokens**](https://learn.microsoft.com/en-us/azure/active-directory/develop/access-tokens)**:** Die kliënt bied hierdie token aan die hulpbronbediener voor om **toegang tot hulpbronne** te verkry. Dit kan slegs gebruik word vir 'n spesifieke kombinasie van gebruiker, kliënt, en hulpbron en **kan nie herroep** word tot vervaldatum nie - dit is 1 uur per standaard.
|
||||
- **ID Tokens**: Die kliënt ontvang hierdie **token van die magtigingsbediener**. Dit bevat basiese inligting oor die gebruiker. Dit is **gebind aan 'n spesifieke kombinasie van gebruiker en kliënt**.
|
||||
- **Herlaai Tokens**: Verskaf aan die kliënt saam met toegangstoken. Gebruik om **nuwe toegang en ID tokens te verkry**. Dit is gebind aan 'n spesifieke kombinasie van gebruiker en kliënt en kan herroep word. Standaard vervaldatum is **90 dae** vir inaktiewe herlaai tokens en **geen vervaldatum vir aktiewe tokens** (dit is moontlik om nuwe herlaai tokens uit 'n herlaai token te verkry).
|
||||
- 'n Herlaai token moet gekoppel wees aan 'n **`aud`**, aan sekere **skoppe**, en aan 'n **tenant** en dit moet slegs in staat wees om toegangstokens vir daardie aud, skoppe (en nie meer nie) en tenant te genereer. Dit is egter nie die geval met **FOCI toepassings tokens** nie.
|
||||
- 'n Herlaai token is versleuteld en slegs Microsoft kan dit ontsleutel.
|
||||
- Om 'n nuwe herlaai token te verkry, herroep nie die vorige herlaai token nie.
|
||||
|
||||
> [!WARNING]
|
||||
> Inligting vir **voorwaardelike toegang** is **gestoor** binne die **JWT**. So, as jy die **token van 'n toegelate IP-adres** aan vra, sal daardie **IP** in die token **gestoor** word en dan kan jy daardie token van 'n **nie-toegelate IP gebruik om toegang tot die hulpbronne** te verkry.
|
||||
> Inligting vir **voorwaardelike toegang** is **gestoor** binne die **JWT**. So, as jy die **token van 'n toegelate IP adres** aan vra, sal daardie **IP** in die token **gestoor** word en dan kan jy daardie token van 'n **nie-toegelate IP gebruik om toegang tot die hulpbronne** te verkry.
|
||||
|
||||
### Access Tokens "aud"
|
||||
### Toegangstokens "aud"
|
||||
|
||||
Die veld wat in die "aud" veld aangedui word, is die **hulpbronbediener** (die toepassing) wat gebruik word om die aanmelding uit te voer.
|
||||
|
||||
Die opdrag `az account get-access-token --resource-type [...]` ondersteun die volgende tipes en elkeen van hulle sal 'n spesifieke "aud" in die resulterende toegangstoken voeg:
|
||||
Die opdrag `az account get-access-token --resource-type [...]` ondersteun die volgende tipes en elkeen daarvan sal 'n spesifieke "aud" in die resulterende toegangstoken voeg:
|
||||
|
||||
> [!CAUTION]
|
||||
> Let daarop dat die volgende net die API's is wat deur `az account get-access-token` ondersteun word, maar daar is meer.
|
||||
@@ -68,19 +68,19 @@ Die opdrag `az account get-access-token --resource-type [...]` ondersteun die vo
|
||||
- **aad-graph (Azure Active Directory Graph API)**: Gebruik om toegang te verkry tot die ouer Azure AD Graph API (verouderd), wat toepassings toelaat om gidsdata in Azure Active Directory (Azure AD) te lees en te skryf.
|
||||
- `https://graph.windows.net/`
|
||||
|
||||
* **arm (Azure Resource Manager)**: Gebruik om Azure hulpbronne te bestuur deur die Azure Resource Manager API. Dit sluit operasies in soos die skep, opdateer en verwyder van hulpbronne soos virtuele masjiene, stoor rekeninge, en meer.
|
||||
* **arm (Azure Resource Manager)**: Gebruik om Azure hulpbronne te bestuur deur die Azure Resource Manager API. Dit sluit operasies in soos die skep, opdateer, en verwyder van hulpbronne soos virtuele masjiene, stoor rekeninge, en meer.
|
||||
- `https://management.core.windows.net/ of https://management.azure.com/`
|
||||
|
||||
- **batch (Azure Batch Services)**: Gebruik om toegang te verkry tot Azure Batch, 'n diens wat grootmaat parallelle en hoë-prestasie rekenaar toepassings doeltreffend in die wolk moontlik maak.
|
||||
- `https://batch.core.windows.net/`
|
||||
|
||||
* **data-lake (Azure Data Lake Storage)**: Gebruik om te kommunikeer met Azure Data Lake Storage Gen1, wat 'n skaalbare data berging en analise diens is.
|
||||
* **data-lake (Azure Data Lake Storage)**: Gebruik om te kommunikeer met Azure Data Lake Storage Gen1, wat 'n skaalbare data stoor en analise diens is.
|
||||
- `https://datalake.azure.net/`
|
||||
|
||||
- **media (Azure Media Services)**: Gebruik om toegang te verkry tot Azure Media Services, wat wolk-gebaseerde media verwerking en aflewering dienste vir video en klank inhoud bied.
|
||||
- `https://rest.media.azure.net`
|
||||
|
||||
* **ms-graph (Microsoft Graph API)**: Gebruik om toegang te verkry tot die Microsoft Graph API, die verenigde eindpunt vir Microsoft 365 dienste data. Dit laat jou toe om data en insigte van dienste soos Azure AD, Office 365, Enterprise Mobility, en Sekuriteitsdienste te verkry.
|
||||
* **ms-graph (Microsoft Graph API)**: Gebruik om toegang te verkry tot die Microsoft Graph API, die verenigde eindpunt vir Microsoft 365 dienste data. Dit laat jou toe om toegang te verkry tot data en insigte van dienste soos Azure AD, Office 365, Enterprise Mobility, en Sekuriteitsdienste.
|
||||
- `https://graph.microsoft.com`
|
||||
|
||||
- **oss-rdbms (Azure Open Source Relational Databases)**: Gebruik om toegang te verkry tot Azure Databasis dienste vir oopbron relationele databasis enjin soos MySQL, PostgreSQL, en MariaDB.
|
||||
@@ -88,13 +88,13 @@ Die opdrag `az account get-access-token --resource-type [...]` ondersteun die vo
|
||||
|
||||
</details>
|
||||
|
||||
### Access Tokens Skoppe "scp"
|
||||
### Toegangstokens Skoppe "scp"
|
||||
|
||||
Die skop van 'n toegangstoken word binne die scp sleutel binne die toegangstoken JWT gestoor. Hierdie skoppe definieer waartoe die toegangstoken toegang het.
|
||||
|
||||
As 'n JWT toegelaat word om 'n spesifieke API te kontak, maar **nie die skop het** om die aangevraagde aksie uit te voer nie, sal dit **nie in staat wees om die aksie** met daardie JWT uit te voer nie.
|
||||
As 'n JWT toegelaat word om 'n spesifieke API te kontak maar **nie die skop** het om die aangevraagde aksie uit te voer nie, sal dit **nie in staat wees om die aksie** met daardie JWT uit te voer nie.
|
||||
|
||||
### Kry herfris & toegang token voorbeeld
|
||||
### Kry herlaai & toegang token voorbeeld
|
||||
```python
|
||||
# Code example from https://github.com/secureworks/family-of-client-ids-research
|
||||
import msal
|
||||
@@ -121,7 +121,6 @@ device_flow
|
||||
pprint(azure_cli_bearer_tokens_for_graph_api)
|
||||
|
||||
|
||||
|
||||
# DECODE JWT
|
||||
def decode_jwt(base64_blob: str) -> Dict[str, Any]:
|
||||
"""Decodes base64 encoded JWT blob"""
|
||||
@@ -147,17 +146,17 @@ pprint(new_azure_cli_bearer_tokens_for_graph_api)
|
||||
```
|
||||
## FOCI Tokens Privilege Escalation
|
||||
|
||||
Voorheen is genoem dat verfrissingstokens aan die **scopes** waaraan dit gegenereer is, aan die **toepassing** en **huurder** waaraan dit gegenereer is, gekoppel moet wees. As enige van hierdie grense oorgesteek word, is dit moontlik om voorregte te verhoog, aangesien dit moontlik sal wees om toegangstokens vir ander hulpbronne en huurders te genereer waartoe die gebruiker toegang het en met meer scopes as wat oorspronklik bedoel was.
|
||||
Voorheen is genoem dat verfrissingstokens aan die **skoppe** waaraan dit gegenereer is, aan die **aansoek** en **huurder** waaraan dit gegenereer is, gekoppel moet wees. As enige van hierdie grense oorgesteek word, is dit moontlik om voorregte te verhoog, aangesien dit moontlik sal wees om toegangstokens vir ander hulpbronne en huurders wat die gebruiker toegang het, te genereer en met meer skoppe as wat oorspronklik bedoel was.
|
||||
|
||||
Boonop, **dit is moontlik met alle verfrissingstokens** in die [Microsoft identity platform](https://learn.microsoft.com/en-us/entra/identity-platform/) (Microsoft Entra-rekeninge, Microsoft persoonlike rekeninge, en sosiale rekeninge soos Facebook en Google) omdat die [**dokumentasie**](https://learn.microsoft.com/en-us/entra/identity-platform/refresh-tokens) noem: "Verfrissingstokens is gebonde aan 'n kombinasie van gebruiker en kliënt, maar **is nie aan 'n hulpbron of huurder gekoppel nie**. 'n Kliënt kan 'n verfrissingstoken gebruik om toegangstokens te verkry **oor enige kombinasie van hulpbron en huurder** waar dit toestemming het om dit te doen. Verfrissingstokens is versleuteld en slegs die Microsoft identity platform kan dit lees."
|
||||
Boonop **is dit moontlik met alle verfrissingstokens** in die [Microsoft identity platform](https://learn.microsoft.com/en-us/entra/identity-platform/) (Microsoft Entra-rekeninge, Microsoft persoonlike rekeninge, en sosiale rekeninge soos Facebook en Google) omdat, soos die [**dokumentasie**](https://learn.microsoft.com/en-us/entra/identity-platform/refresh-tokens) noem: "Verfrissingstokens is gebonde aan 'n kombinasie van gebruiker en kliënt, maar **is nie aan 'n hulpbron of huurder gekoppel nie**. 'n Kliënt kan 'n verfrissingstoken gebruik om toegangstokens **oor enige kombinasie van hulpbron en huurder** te verkry waar dit toestemming het om dit te doen. Verfrissingstokens is versleuteld en slegs die Microsoft identity platform kan dit lees."
|
||||
|
||||
Boonop, let daarop dat die FOCI-toepassings openbare toepassings is, so **geen geheim is nodig** om by die bediener te autentiseer.
|
||||
Boonop, let daarop dat die FOCI aansoeke openbare aansoeke is, so **geen geheim is nodig** om by die bediener te autentiseer nie.
|
||||
|
||||
Dan bekende FOCI-kliënte wat in die [**oorspronklike navorsing**](https://github.com/secureworks/family-of-client-ids-research/tree/main) gerapporteer is, kan [**hier gevind word**](https://github.com/secureworks/family-of-client-ids-research/blob/main/known-foci-clients.csv).
|
||||
Dan kan bekende FOCI kliënte wat in die [**oorspronklike navorsing**](https://github.com/secureworks/family-of-client-ids-research/tree/main) gerapporteer is, [**hier gevind word**](https://github.com/secureworks/family-of-client-ids-research/blob/main/known-foci-clients.csv).
|
||||
|
||||
### Get different scope
|
||||
|
||||
Volgende met die vorige voorbeeldkode, in hierdie kode word 'n nuwe token vir 'n ander scope aangevra:
|
||||
Volgende met die vorige voorbeeldkode, in hierdie kode word 'n nuwe token vir 'n ander skoop aangevra:
|
||||
```python
|
||||
# Code from https://github.com/secureworks/family-of-client-ids-research
|
||||
azure_cli_bearer_tokens_for_outlook_api = (
|
||||
@@ -174,7 +173,7 @@ scopes=[
|
||||
)
|
||||
pprint(azure_cli_bearer_tokens_for_outlook_api)
|
||||
```
|
||||
### Kry verskillende kliënt en skope
|
||||
### Kry verskillende kliënte en skope
|
||||
```python
|
||||
# Code from https://github.com/secureworks/family-of-client-ids-research
|
||||
microsoft_office_client = msal.PublicClientApplication("d3590ed6-52b3-4102-aeff-aad2292ab01c")
|
||||
|
||||
Reference in New Issue
Block a user