diff --git a/src/pentesting-cloud/azure-security/az-basic-information/README.md b/src/pentesting-cloud/azure-security/az-basic-information/README.md index 1605ec57c..183a96d20 100644 --- a/src/pentesting-cloud/azure-security/az-basic-information/README.md +++ b/src/pentesting-cloud/azure-security/az-basic-information/README.md @@ -9,7 +9,7 @@ ### Gruppi di Gestione - Può contenere **altri gruppi di gestione o sottoscrizioni**. -- Questo consente di **applicare controlli di governance** come RBAC e Azure Policy una sola volta a livello di gruppo di gestione e di farli **ereditar** da tutte le sottoscrizioni nel gruppo. +- Questo consente di **applicare controlli di governance** come RBAC e Azure Policy una sola volta a livello di gruppo di gestione e farli **ereditar** da tutte le sottoscrizioni nel gruppo. - Possono essere supportati **10.000 gruppi di gestione** in una singola directory. - Un albero di gruppi di gestione può supportare **fino a sei livelli di profondità**. Questo limite non include il livello radice o il livello di sottoscrizione. - Ogni gruppo di gestione e sottoscrizione può supportare **solo un genitore**. @@ -28,7 +28,7 @@ ### Gruppi di Risorse -[From the docs:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) Un gruppo di risorse è un **contenitore** che contiene **risorse correlate** per una soluzione Azure. Il gruppo di risorse può includere tutte le risorse per la soluzione, o solo quelle **risorse che desideri gestire come un gruppo**. In generale, aggiungi **risorse** che condividono il **stesso ciclo di vita** allo stesso gruppo di risorse in modo da poterle facilmente distribuire, aggiornare ed eliminare come un gruppo. +[Dal documento:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) Un gruppo di risorse è un **contenitore** che contiene **risorse correlate** per una soluzione Azure. Il gruppo di risorse può includere tutte le risorse per la soluzione, o solo quelle **risorse che desideri gestire come un gruppo**. In generale, aggiungi **risorse** che condividono il **stesso ciclo di vita** allo stesso gruppo di risorse in modo da poterle facilmente distribuire, aggiornare ed eliminare come un gruppo. Tutte le **risorse** devono essere **all'interno di un gruppo di risorse** e possono appartenere solo a un gruppo e se un gruppo di risorse viene eliminato, tutte le risorse al suo interno vengono anch'esse eliminate. @@ -60,7 +60,7 @@ Entra ID è un servizio di **gestione dell'identità e degli accessi basato su c I Servizi di Dominio Entra estendono le capacità di Entra ID offrendo **servizi di dominio gestiti compatibili con ambienti tradizionali di Windows Active Directory**. Supporta protocolli legacy come LDAP, Kerberos e NTLM, consentendo alle organizzazioni di migrare o eseguire applicazioni più vecchie nel cloud senza dover distribuire controller di dominio on-premises. Questo servizio supporta anche le Group Policy per la gestione centralizzata, rendendolo adatto a scenari in cui carichi di lavoro legacy o basati su AD devono coesistere con ambienti cloud moderni. -## Principali di Entra ID +## Principali Entra ID ### Utenti @@ -103,17 +103,17 @@ Puoi controllarli in [https://learn.microsoft.com/en-us/entra/fundamentals/users - Limitare gli utenti dal recuperare la chiave BitLocker per i loro dispositivi di proprietà: Predefinito No (controlla nelle Impostazioni Dispositivo) - Leggere altri utenti: Predefinito **Sì** (tramite Microsoft Graph) - **Ospiti** -- **Restrizioni di accesso per gli utenti ospiti** opzioni: +- **Restrizioni di accesso per utenti ospiti** opzioni: - **Gli utenti ospiti hanno lo stesso accesso dei membri**. - **Gli utenti ospiti hanno accesso limitato alle proprietà e alle appartenenze degli oggetti di directory (predefinito)**. Questo limita l'accesso degli ospiti solo al proprio profilo utente per impostazione predefinita. L'accesso ad altre informazioni sugli utenti e sui gruppi non è più consentito. - **L'accesso degli utenti ospiti è limitato alle proprietà e alle appartenenze dei propri oggetti di directory** è la più restrittiva. - **Opzioni di invito per gli ospiti**: -- **Chiunque nell'organizzazione può invitare utenti ospiti, inclusi ospiti e non amministratori (la più inclusiva) - Predefinito** -- **Gli utenti membri e gli utenti assegnati a ruoli amministrativi specifici possono invitare utenti ospiti, inclusi ospiti con permessi di membro** +- **Chiunque nell'organizzazione può invitare utenti ospiti, compresi ospiti e non amministratori (la più inclusiva) - Predefinito** +- **Gli utenti membri e gli utenti assegnati a ruoli amministrativi specifici possono invitare utenti ospiti, compresi gli ospiti con permessi di membro** - **Solo gli utenti assegnati a ruoli amministrativi specifici possono invitare utenti ospiti** -- **Nessuno nell'organizzazione può invitare utenti ospiti, inclusi gli amministratori (la più restrittiva)** -- **Uscita degli utenti esterni**: Predefinito **Vero** -- Consenti agli utenti esterni di lasciare l'organizzazione +- **Nessuno nell'organizzazione può invitare utenti ospiti, compresi gli amministratori (la più restrittiva)** +- **Uscita di utenti esterni**: Predefinito **Vero** +- Consentire agli utenti esterni di lasciare l'organizzazione > [!TIP] > Anche se limitati per impostazione predefinita, gli utenti (membri e ospiti) con permessi concessi potrebbero eseguire le azioni precedenti. @@ -149,10 +149,10 @@ Una **Registrazione App** è una configurazione che consente a un'applicazione d 1. **ID Applicazione (Client ID):** Un identificatore unico per la tua app in Azure AD. 2. **URI di Reindirizzamento:** URL dove Azure AD invia le risposte di autenticazione. 3. **Certificati, Segreti e Credenziali Federate:** È possibile generare un segreto o un certificato per accedere come il principio di servizio dell'applicazione, o per concedere accesso federato ad essa (ad es. Github Actions). -1. Se viene generato un **certificato** o un **segreto**, è possibile che una persona **acceda come il principio di servizio** con strumenti CLI conoscendo l'**ID applicazione**, il **segreto** o il **certificato** e il **tenant** (dominio o ID). +1. Se viene generato un **certificato** o un **segreto**, è possibile per una persona **accedere come il principio di servizio** con strumenti CLI conoscendo l'**ID dell'applicazione**, il **segreto** o il **certificato** e il **tenant** (dominio o ID). 4. **Permessi API:** Specifica quali risorse o API l'app può accedere. 5. **Impostazioni di Autenticazione:** Definisce i flussi di autenticazione supportati dall'app (ad es., OAuth2, OpenID Connect). -6. **Principio di Servizio**: Un principio di servizio viene creato quando viene creata un'App (se è fatto dalla console web) o quando viene installata in un nuovo tenant. +6. **Principio di Servizio**: Un principio di servizio viene creato quando viene creata un'App (se fatto dalla console web) o quando viene installata in un nuovo tenant. 1. Il **principio di servizio** otterrà tutti i permessi richiesti con cui è stato configurato. ### Permessi di Consenso Predefiniti @@ -180,14 +180,14 @@ Una **Registrazione App** è una configurazione che consente a un'applicazione d ### **Identità Gestite (Metadati)** -Le identità gestite in Azure Active Directory offrono una soluzione per **gestire automaticamente l'identità** delle applicazioni. Queste identità sono utilizzate dalle applicazioni per **connettersi** a **risorse** compatibili con l'autenticazione di Azure Active Directory (**Azure AD**). Questo consente di **eliminare la necessità di hardcoding delle credenziali cloud** nel codice poiché l'applicazione sarà in grado di contattare il **servizio di metadati** per ottenere un token valido per **eseguire azioni** come l'identità gestita indicata in Azure. +Le identità gestite in Azure Active Directory offrono una soluzione per **gestire automaticamente l'identità** delle applicazioni. Queste identità sono utilizzate dalle applicazioni per **connettersi** a **risorse** compatibili con l'autenticazione di Azure Active Directory (**Azure AD**). Questo consente di **eliminare la necessità di codificare le credenziali cloud** nel codice poiché l'applicazione sarà in grado di contattare il **servizio di metadati** per ottenere un token valido per **eseguire azioni** come l'identità gestita indicata in Azure. Ci sono due tipi di identità gestite: - **Assegnate al sistema**. Alcuni servizi Azure consentono di **abilitare un'identità gestita direttamente su un'istanza di servizio**. Quando abiliti un'identità gestita assegnata al sistema, viene creato un **principio di servizio** nel tenant Entra ID fidato dalla sottoscrizione in cui si trova la risorsa. Quando la **risorsa** viene **eliminata**, Azure elimina automaticamente **l'identità** per te. - **Assegnate dall'utente**. È anche possibile per gli utenti generare identità gestite. Queste vengono create all'interno di un gruppo di risorse all'interno di una sottoscrizione e verrà creato un principio di servizio nel tenant EntraID fidato dalla sottoscrizione. Poi, puoi assegnare l'identità gestita a una o **più istanze** di un servizio Azure (risorse multiple). Per le identità gestite assegnate dall'utente, **l'identità è gestita separatamente dalle risorse che la utilizzano**. -Le Identità Gestite **non generano credenziali eterne** (come password o certificati) per accedere come il principio di servizio ad essa associato. +Le identità gestite **non generano credenziali eterne** (come password o certificati) per accedere come il principio di servizio ad esse collegato. ### Applicazioni Aziendali @@ -212,38 +212,32 @@ Esempio: - Concedi il ruolo di "Amministratore Utente" al personale IT regionale, limitato all'AU della loro regione. - Risultato: Gli amministratori IT regionali possono gestire gli account utente all'interno della loro regione senza influenzare altre regioni. -### Ruoli Entra ID +### Ruoli e Permessi Entra ID - Per gestire Entra ID ci sono alcuni **ruoli predefiniti** che possono essere assegnati ai principi Entra ID per gestire Entra ID - Controlla i ruoli in [https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference) +- I ruoli contrassegnati come **`PRIVILEGIATI`** da EntraID dovrebbero essere assegnati con cautela perché, come spiega Microsoft [nei documenti](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference): Le assegnazioni di ruolo privilegiato possono portare a un'elevazione dei privilegi se non utilizzate in modo sicuro e previsto. - Il ruolo più privilegiato è **Amministratore Globale** -- Nella descrizione del ruolo è possibile vedere i suoi **permessi granulari** +- I ruoli raggruppano **permessi granulari** e possono essere trovati nelle loro descrizioni. +- È possibile **creare ruoli personalizzati** con i permessi desiderati. Anche se per qualche motivo non tutti i permessi granulari sono disponibili per gli amministratori per creare ruoli personalizzati. +- I ruoli in Entra ID sono completamente **indipendenti** dai ruoli in Azure. L'unica relazione è che i principi con il ruolo di **Amministratore Globale** in Entra ID possono elevare al ruolo di **Amministratore Accesso Utente** in Azure. +- Non è **possibile utilizzare caratteri jolly** nei ruoli Entra ID. -## Ruoli e Permessi +## Ruoli e Permessi Azure -**Ruoli** sono **assegnati** ai **principi** su un **ambito**: `principle -[HAS ROLE]->(scope)` - -**Ruoli** assegnati a **gruppi** sono **ereditati** da tutti i **membri** del gruppo. - -A seconda dell'ambito a cui è stato assegnato il ruolo, il **ruolo** potrebbe essere **ereditato** da **altre risorse** all'interno del contenitore di ambito. Ad esempio, se un utente A ha un **ruolo sulla sottoscrizione**, avrà quel **ruolo su tutti i gruppi di risorse** all'interno della sottoscrizione e su **tutte le risorse** all'interno del gruppo di risorse. - -### Ruoli Classici - -| **Proprietario** | | Tutti i tipi di risorsa | -| ----------------------------- | ---------------------------------------------------------------------------------------- | ------------------ | -| **Collaboratore** | | Tutti i tipi di risorsa | -| **Lettore** | • Visualizza tutte le risorse | Tutti i tipi di risorsa | -| **Amministratore Accesso Utente** | | Tutti i tipi di risorsa | +- **Ruoli** sono **assegnati** ai **principi** su un **ambito**: `principle -[HAS ROLE]->(scope)` +- **Ruoli** assegnati a **gruppi** sono **ereditati** da tutti i **membri** del gruppo. +- A seconda dell'ambito a cui è stato assegnato il ruolo, il **ruolo** potrebbe essere **ereditato** da **altre risorse** all'interno del contenitore dell'ambito. Ad esempio, se un utente A ha un **ruolo sulla sottoscrizione**, avrà quel **ruolo su tutti i gruppi di risorse** all'interno della sottoscrizione e su **tutte le risorse** all'interno del gruppo di risorse. ### Ruoli Predefiniti -[From the docs: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azure role-based access control (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) ha diversi **ruoli predefiniti** di Azure che puoi **assegnare** a **utenti, gruppi, principi di servizio e identità gestite**. Le assegnazioni di ruolo sono il modo in cui controlli **l'accesso alle risorse Azure**. Se i ruoli predefiniti non soddisfano le esigenze specifiche della tua organizzazione, puoi creare i tuoi [**ruoli personalizzati di Azure**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**.** +[Dal documento: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Il controllo degli accessi basato sui ruoli di Azure (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) ha diversi **ruoli predefiniti di Azure** che puoi **assegnare** a **utenti, gruppi, principi di servizio e identità gestite**. Le assegnazioni di ruolo sono il modo in cui controlli **l'accesso alle risorse Azure**. Se i ruoli predefiniti non soddisfano le esigenze specifiche della tua organizzazione, puoi creare i tuoi [**ruoli personalizzati di Azure**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles). -I ruoli **predefiniti** si applicano solo alle **risorse** per cui sono **destinati**, ad esempio controlla questi 2 esempi di **ruoli predefiniti su risorse Compute**: +I **ruoli predefiniti** si applicano solo alle **risorse** per cui sono **destinati**, ad esempio controlla questi 2 esempi di **ruoli predefiniti su risorse Compute**: -| [Lettore Backup Disco](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Fornisce permesso al vault di backup per eseguire il backup del disco. | 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) | Fornisce permesso al vault di backup per eseguire il backup del disco. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 | | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ | -| [Accesso Utente Macchina Virtuale](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Visualizza le Macchine Virtuali nel portale e accede come utente normale. | fb879df8-f326-4884-b1cf-06f3ad86be52 | +| [Virtual Machine User Login](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Visualizza le Macchine Virtuali nel portale e accedi come utente normale. | fb879df8-f326-4884-b1cf-06f3ad86be52 | Questi ruoli possono **essere assegnati anche su contenitori logici** (come gruppi di gestione, sottoscrizioni e gruppi di risorse) e i principi interessati li avranno **sulle risorse all'interno di quei contenitori**. @@ -316,7 +310,7 @@ Secondo **[la documentazione](https://learn.microsoft.com/en-us/azure/role-based ### Assegnazioni di Negazione -Proprio come le assegnazioni di ruolo, le **assegnazioni di negazione** vengono utilizzate per **controllare l'accesso alle risorse di Azure**. Tuttavia, le **assegnazioni di negazione** vengono utilizzate per **negare esplicitamente l'accesso** a una risorsa, anche se a un utente è stato concesso l'accesso tramite un'assegnazione di ruolo. Le **assegnazioni di negazione** hanno la precedenza sulle **assegnazioni di ruolo**, il che significa che se a un utente è concesso l'accesso tramite un'assegnazione di ruolo ma viene anche esplicitamente negato l'accesso tramite un'assegnazione di negazione, l'assegnazione di negazione avrà la precedenza. +Proprio come le assegnazioni di ruolo, le **assegnazioni di negazione** vengono utilizzate per **controllare l'accesso alle risorse di Azure**. Tuttavia, le **assegnazioni di negazione** vengono utilizzate per **negare esplicitamente l'accesso** a una risorsa, anche se a un utente è stato concesso l'accesso tramite un'assegnazione di ruolo. Le **assegnazioni di negazione** hanno la precedenza sulle **assegnazioni di ruolo**, il che significa che se a un utente è concesso l'accesso tramite un'assegnazione di ruolo ma gli viene anche negato esplicitamente l'accesso tramite un'assegnazione di negazione, l'assegnazione di negazione avrà la precedenza. Proprio come le assegnazioni di ruolo, le **assegnazioni di negazione** vengono applicate su un certo ambito che indica i principali interessati e i permessi che vengono negati. Inoltre, nel caso delle assegnazioni di negazione, è possibile **prevenire che la negazione venga ereditata** dalle risorse figlie. @@ -331,7 +325,7 @@ Le Politiche di Azure sono **proattive**: possono impedire la creazione o la mod 1. **Definizione della Politica**: Una regola, scritta in JSON, che specifica cosa è consentito o richiesto. 2. **Assegnazione della Politica**: L'applicazione di una politica a un ambito specifico (ad es., sottoscrizione, gruppo di risorse). 3. **Iniziative**: Una raccolta di politiche raggruppate per un'applicazione più ampia. -4. **Effetto**: Specifica cosa succede quando la politica viene attivata (ad es., "Negare", "Audit" o "Aggiungi"). +4. **Effetto**: Specifica cosa succede quando la politica viene attivata (ad es., "Negare", "Audit" o "Aggiungere"). **Alcuni esempi:** @@ -344,7 +338,7 @@ Le Politiche di Azure sono **proattive**: possono impedire la creazione o la mod Nota che le Politiche di Azure possono essere collegate a qualsiasi livello della gerarchia di Azure, ma sono **comunemente utilizzate nel gruppo di gestione radice** o in altri gruppi di gestione. -Esempio di json di politica di Azure: +Esempio di json della politica di Azure: ```json { "policyRule": { @@ -362,20 +356,20 @@ Esempio di json di politica di Azure: "mode": "All" } ``` -### Ereditarietà delle autorizzazioni +### Ereditarietà dei Permessi -In Azure **le autorizzazioni possono essere assegnate a qualsiasi parte della gerarchia**. Questo include gruppi di gestione, sottoscrizioni, gruppi di risorse e risorse individuali. Le autorizzazioni sono **ereditarie** dalle **risorse** contenute nell'entità a cui sono state assegnate. +In Azure **i permessi possono essere assegnati a qualsiasi parte della gerarchia**. Questo include gruppi di gestione, sottoscrizioni, gruppi di risorse e risorse individuali. I permessi sono **ereditati** dalle **risorse** contenute nell'entità a cui sono stati assegnati. -Questa struttura gerarchica consente una gestione efficiente e scalabile delle autorizzazioni di accesso. +Questa struttura gerarchica consente una gestione efficiente e scalabile dei permessi di accesso.
### Azure RBAC vs ABAC -**RBAC** (controllo degli accessi basato sui ruoli) è ciò che abbiamo già visto nelle sezioni precedenti: **Assegnare un ruolo a un principale per concedergli accesso** a una risorsa.\ +**RBAC** (controllo accessi basato su ruoli) è ciò che abbiamo già visto nelle sezioni precedenti: **Assegnare un ruolo a un principale per concedergli accesso** a una risorsa.\ Tuttavia, in alcuni casi potresti voler fornire una **gestione degli accessi più dettagliata** o **semplificare** la gestione di **centinaia** di **assegnazioni** di ruolo. -Azure **ABAC** (controllo degli accessi basato sugli attributi) si basa su Azure RBAC aggiungendo **condizioni di assegnazione del ruolo basate su attributi** nel contesto di azioni specifiche. Una _condizione di assegnazione del ruolo_ è un **controllo aggiuntivo che puoi opzionalmente aggiungere alla tua assegnazione di ruolo** per fornire un controllo degli accessi più dettagliato. Una condizione filtra le autorizzazioni concesse come parte della definizione del ruolo e dell'assegnazione del ruolo. Ad esempio, puoi **aggiungere una condizione che richiede a un oggetto di avere un tag specifico per leggere l'oggetto**.\ +Azure **ABAC** (controllo accessi basato su attributi) si basa su Azure RBAC aggiungendo **condizioni di assegnazione del ruolo basate su attributi** nel contesto di azioni specifiche. Una _condizione di assegnazione del ruolo_ è un **controllo aggiuntivo che puoi opzionalmente aggiungere alla tua assegnazione di ruolo** per fornire un controllo degli accessi più dettagliato. Una condizione filtra i permessi concessi come parte della definizione del ruolo e dell'assegnazione del ruolo. Ad esempio, puoi **aggiungere una condizione che richiede a un oggetto di avere un tag specifico per leggere l'oggetto**.\ Non **puoi** esplicitamente **negare** **l'accesso** a risorse specifiche **utilizzando condizioni**. ## Riferimenti diff --git a/src/pentesting-cloud/azure-security/az-services/az-azuread.md b/src/pentesting-cloud/azure-security/az-services/az-azuread.md index a760169fb..2093e0966 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md +++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md @@ -2,7 +2,7 @@ {{#include ../../../banners/hacktricks-training.md}} -## Informazioni di base +## Informazioni di Base Azure Active Directory (Azure AD) funge da servizio basato su cloud di Microsoft per la gestione dell'identità e degli accessi. È fondamentale per consentire ai dipendenti di accedere e ottenere risorse, sia all'interno che al di fuori dell'organizzazione, comprendendo Microsoft 365, il portale Azure e una moltitudine di altre applicazioni SaaS. Il design di Azure AD si concentra sulla fornitura di servizi essenziali per l'identità, includendo in modo prominente **autenticazione, autorizzazione e gestione degli utenti**. @@ -365,7 +365,7 @@ $password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText ``` ### MFA & Conditional Access Policies -È fortemente consigliato aggiungere MFA a ogni utente, tuttavia, alcune aziende potrebbero non impostarlo o potrebbero impostarlo con un Accesso Condizionale: L'utente sarà **richiesto MFA se** accede da una posizione specifica, browser o **alcuna condizione**. Queste politiche, se non configurate correttamente, potrebbero essere soggette a **bypass**. Controlla: +È fortemente consigliato aggiungere MFA a ogni utente, tuttavia, alcune aziende potrebbero non impostarlo o potrebbero impostarlo con un Accesso Condizionale: L'utente sarà **richiesto MFA se** accede da una posizione specifica, browser o **alcuna condizione**. Queste politiche, se non configurate correttamente, potrebbero essere soggette a **bypasses**. Controlla: {{#ref}} ../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md @@ -487,7 +487,7 @@ I proprietari del gruppo possono aggiungere nuovi utenti al gruppo Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose ``` > [!WARNING] -> I gruppi possono essere dinamici, il che significa fondamentalmente che **se un utente soddisfa determinate condizioni, verrà aggiunto a un gruppo**. Naturalmente, se le condizioni si basano su **attributi** che un **utente** può **controllare**, potrebbe abusare di questa funzionalità per **entrare in altri gruppi**.\ +> I gruppi possono essere dinamici, il che significa fondamentalmente che **se un utente soddisfa determinate condizioni verrà aggiunto a un gruppo**. Naturalmente, se le condizioni si basano su **attributi** che un **utente** può **controllare**, potrebbe abusare di questa funzionalità per **entrare in altri gruppi**.\ > Controlla come abusare dei gruppi dinamici nella pagina seguente: {{#ref}} @@ -496,7 +496,7 @@ Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose ### Service Principals -Per ulteriori informazioni sui service principal di Entra ID, controlla: +Per ulteriori informazioni sui service principals di Entra ID controlla: {{#ref}} ../az-basic-information/ @@ -735,6 +735,13 @@ az ad app owner list --id --query "[].[displayName]" -o table az ad app list --show-mine # Get apps with generated secret or certificate az ad app list --query '[?length(keyCredentials) > `0` || length(passwordCredentials) > `0`].[displayName, appId, keyCredentials, passwordCredentials]' -o json +# Get Global Administrators (full access over apps) +az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1b2256f9-46c1-4fc2-a125-5b2f51bb43b7/members" +# Get Application Administrators (full access over apps) +az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92c3b7-2363-4826-93a6-7f7a5b53e7f9/members" +# Get Cloud Applications Administrators (full access over apps) +az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d601d27-7b9c-476f-8134-8e7cd6744f02/members" + ``` {{#endtab }} @@ -894,7 +901,7 @@ Get-AzDenyAssignment -Scope '/subscriptions/96231a05-34ce-4eb4-aa6a-70759cbb5e83 {{#tab name="Raw" }} ```bash -# Ottieni permessi su una risorsa utilizzando direttamente ARM +# Ottieni permessi su una risorsa utilizzando ARM direttamente $Token = (Get-AzAccessToken).Token $URI = 'https://management.azure.com/subscriptions/b413826f-108d-4049-8c11-d52d5d388768/resourceGroups/Research/providers/Microsoft.Compute/virtualMachines/infradminsrv/providers/Microsoft.Authorization/permissions?api-version=2015-07-01' $RequestParams = @{ @@ -922,43 +929,43 @@ For more information about Azure roles check: {{#tab name="az cli" }} ```bash -# Elenca i modelli di ruolo di Entra ID +# Elenco dei modelli di ruolo di Entra ID az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/directoryRoleTemplates" -# Elenca i ruoli integrati di Entra ID abilitati +# Elenco dei ruoli di Entra ID integrati abilitati az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/directoryRoles" -# Elenca tutti i ruoli di Entra ID con le loro autorizzazioni (inclusi i ruoli personalizzati) +# Elenco di tutti i ruoli di Entra ID con le loro autorizzazioni (inclusi i ruoli personalizzati) az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions" -# Elenca solo i ruoli personalizzati di Entra ID +# Elenco solo dei ruoli personalizzati di Entra ID az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions" | jq '.value[] | select(.isBuiltIn == false)' -# Elenca tutti i ruoli di Entra ID assegnati +# Elenco di tutti i ruoli di Entra ID assegnati az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments" -# Elenca i membri di un ruolo di Entra ID +# Elenco dei membri di un ruolo di Entra ID az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/directoryRoles//members" -# Elenca i ruoli di Entra ID assegnati a un utente +# Elenco dei ruoli di Entra ID assegnati a un utente az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/users//memberOf/microsoft.graph.directoryRole" \ --query "value[]" \ --output json -# Elenca i ruoli di Entra ID assegnati a un gruppo +# Elenco dei ruoli di Entra ID assegnati a un gruppo az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/groups/$GROUP_ID/memberOf/microsoft.graph.directoryRole" \ --query "value[]" \ --output json -# Elenca i ruoli di Entra ID assegnati a un servizio principale +# Elenco dei ruoli di Entra ID assegnati a un servizio principale az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/servicePrincipals/$SP_ID/memberOf/microsoft.graph.directoryRole" \ --query "value[]" \ @@ -972,12 +979,12 @@ az rest --method GET \ ```bash # Ottieni tutti i modelli di ruolo disponibili Get-AzureADDirectoryroleTemplate -# Ottieni i ruoli abilitati (ruoli assegnati) +# Ottieni ruoli abilitati (Ruoli assegnati) Get-AzureADDirectoryRole Get-AzureADDirectoryRole -ObjectId #Ottieni informazioni sul ruolo # Ottieni ruoli personalizzati - usa AzureAdPreview Get-AzureADMSRoleDefinition | ?{$_.IsBuiltin -eq $False} | select DisplayName -# Utenti assegnati a un ruolo (Amministratore Globale) +# Utenti assegnati a un ruolo (Amministratore globale) Get-AzureADDirectoryRole -Filter "DisplayName eq 'Global Administrator'" | Get-AzureADDirectoryRoleMember Get-AzureADDirectoryRole -ObjectId | fl # Ruoli dell'Unità Amministrativa (chi ha permessi sull'unità amministrativa e sui suoi membri)