For the complete documentation index, see llms.txt. This page is also available as Markdown.

Autorizzazione

L'autorizzazione degli utenti viene realizzata tramite i ruoli. I ruoli possono essere assegnati tramite la mappatura delle attestazioni, uno script di criteri oppure assegnando il ruolo direttamente all'identità.

Per impostazione predefinita, nessun ruolo viene assegnato automaticamente. Durante la configurazione iniziale viene creato un account amministratore locale, utilizzato per configurare le assegnazioni dei ruoli.

Mappatura dei ruoli alle attestazioni

È possibile mappare i ruoli a un claim (come l'appartenenza a un gruppo) utilizzando i parametri -ClaimType e -ClaimValue di New-PSURole. Le impostazioni sono disponibili anche nella finestra di dialogo delle proprietà del ruolo in Secure > Roles.

Mappatura dei ruoli alle attestazioni

Ad esempio, con l'autenticazione Windows, se volesse mappare un gruppo a un ruolo, potrebbe configurarlo in modo che il SID del gruppo venga mappato al ruolo di amministratore.

Mappare i ruoli alle attestazioni in questo modo è più veloce rispetto agli script dei criteri, perché non richiede l'esecuzione di PowerShell al momento dell'accesso dell'utente.

Visualizzare le informazioni sulle attestazioni

Per facilitare lo sviluppo di script di criteri o l'assegnazione di ruoli ai claim, è possibile visualizzare le informazioni sui claim facendo clic su View Claim Information in Secure > Roles.

Visualizzare le informazioni sulle attestazioni

Esempio: Azure Active Directory

È possibile mappare un gruppo di Azure Active Directory a un ruolo cercando l'Object ID del gruppo in Azure. Ad esempio, all'interno del dominio Ironman Software abbiamo un gruppo denominato Dashboard Administrators. Questo gruppo ha un object ID pari a 61849bf2-e44b-4057-b589-6cd1812d7545.

All'interno di PowerShell Universal è possibile assegnare gli utenti di questo gruppo al gruppo Administrator configurando la mappatura delle attestazioni. Il Claim Type sarà groups e il Claim Value sarà 61849bf2-e44b-4057-b589-6cd1812d7545. Una volta mappata l'attestazione, gli utenti del gruppo Dashboard Administrators faranno parte del gruppo Administrators di PowerShell Universal. Il file roles.ps1 risultante avrà questo aspetto.

Tutti gli altri ruoli sono disabilitati.

Assegnazione tramite criteri

Per impostazione predefinita, i ruoli vengono assegnati dai criteri. I criteri vengono eseguiti quando l'utente effettua l'accesso. È possibile modificare gli script dei criteri accedendo a Secure > Roles. Faccia clic sul pulsante Edit Code per configurare lo script del criterio.

Pulsante Edit Policy Code

Gli script dei criteri ricevono un oggetto ClaimsPrincipal come parametro e devono restituire true o false. I criteri che generano errori verranno considerati false. L'oggetto ClaimsPrincipal contiene l'identità dell'utente e le attestazioni che l'utente ha ricevuto. Queste possono includere le assegnazioni di gruppo o altre caratteristiche dell'account di un utente.

Può aspettarsi un oggetto con questa struttura.

Assegnazione dei ruoli

Per assegnare un ruolo a un utente, è possibile creare la sua identità in Universal e quindi selezionare il ruolo nell'elenco a discesa in Secure > Identities.

Per impostazione predefinita, le identità ricevono un ruolo tramite la mappatura delle attestazioni o tramite criteri.

Assegnazione dei ruoli

Importare i ruoli

Quando l'autenticazione Windows è abilitata, è possibile fare clic sul pulsante Import Windows Groups per selezionare i gruppi da importare in PowerShell Universal. Dopo aver selezionato questi gruppi, verranno creati i ruoli, con la mappatura dei ruoli alle attestazioni, senza doverla configurare manualmente.

Pulsante Import Windows Groups

Ruoli predefiniti

Administrator

Accesso completo all'intera piattaforma PowerShell Universal e alle impostazioni.

Operator

Gli operatori possono aggiungere e rimuovere risorse come API, script e dashboard. Gli operatori non possono modificare impostazioni come gli ambienti, i ruoli o le impostazioni generali.

Execute

Il ruolo Execute concede la possibilità di eseguire script e l'accesso in lettura a tutto il resto.

Reader

Il ruolo Reader fornisce l'accesso in sola lettura a PowerShell Universal.

Route predefinita per ruolo

È possibile modificare la pagina che l'utente vede al momento dell'accesso impostando la proprietà Default Route per il ruolo. Ad esempio, potrebbe voler indirizzare gli utenti delle risorse umane alla dashboard Human Resources e gli utenti IT alla dashboard IT.

Utenti con molti gruppi

Se i suoi utenti sono membri di più di circa 40 gruppi, potrebbe riscontrare problemi di accesso. Ciò è dovuto ai limiti di dimensione delle intestazioni HTTP in IIS e Kestrel. Più gruppi ha un utente, più attestazioni di autorizzazione possiede e più grande diventa l'intestazione.

È possibile aumentare il limite delle intestazioni per Kestrel utilizzando la configurazione dei limiti nel file appsettings.json. Sarà necessario aumentare la dimensione dell'intestazione. È un valore in byte e il valore predefinito è 32 kb.

Autorizzazione in IIS

L'autorizzazione in IIS funziona come con qualsiasi altro metodo, ma è necessario tenere presente il limite di dimensione dell'intestazione della richiesta. Potrebbe ricevere errori quando abilita attestazioni che includono molti gruppi. Queste possono superare il limite di dimensione dell'intestazione e IIS restituirà degli errori. Abbiamo riscontrato che circa 40 gruppi di Azure Active Directory causano questo problema in un'installazione IIS predefinita.

L'errore che riceverà sarà un errore 400 con l'indicazione che la richiesta è troppo lunga.

Se ha abilitato HTTPS, riceverà un errore relativo a un errore di protocollo HTTP2.

È possibile aumentare la dimensione della richiesta in IIS impostando le seguenti chiavi di registro. Sarà necessario riavviare la macchina affinché abbiano effetto.

Maggiori informazioni sono disponibili nella documentazione di Microsoft.

In alternativa all'aumento della dimensione della richiesta, è anche possibile ridurre il numero di gruppi inviati. In Azure Active Directory è possibile impostare solo i gruppi assegnati all'applicazione per evitare che vengano inviati tutti i gruppi.

In Azure vada su App registrations > (selezioni l'app) > Token Configuration e specifichi i gruppi assegnati all'applicazione.

Ora vada su Enterprise Application > (selezioni l'app) > Users and groups. Assegni i gruppi che desidera includere nelle attestazioni. (Nota: questo può essere utilizzato anche come limite di sicurezza se imposta “User Assignment Required” su Yes nella sezione 'Properties' dell'app)

App Token

Gli App Token possono essere assegnati a servizi che non possono effettuare l'accesso in modo interattivo. È possibile concedere un nuovo app token al proprio account facendo clic sul pulsante Grant App Token in User menu > User Settings > Tokens.

Il token avrà una scadenza di un anno e disporrà dei ruoli validi per il suo account. Per copiare l'App Token nel suo account, faccia clic sull'azione Copy. Per revocare un App Token, faccia clic sull'azione Revoke.

È possibile utilizzare gli App Token con i cmdlet di Universal oppure tramite richieste web dirette usando ****** src="https://218893503-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAje1UFQFSPx2kH2ueeCf%2Fuploads%2Fgit-blob-d2492c5fb69b57572019e3d793148c0e0c53370c%2Fimage%20(224).png?alt=media" alt="">

Pagina App Tokens

Ambiente

Per impostazione predefinita, gli script di autenticazione tramite form e di assegnazione dei criteri vengono eseguiti all'interno del processo di PowerShell Universal. Quando configura un ambiente di sicurezza, verrà avviato un processo PowerShell esterno configurato per utilizzare le impostazioni del suo ambiente.

Per modificare l'ambiente utilizzato dal processo di sicurezza, imposti -SecurityEnvironment in settings.ps1.

Esempio: autenticazione tramite form con Active Directory

L'esempio seguente mostra l'esecuzione di un semplice "LDAP BIND" per convalidare le credenziali Active Directory di un utente. Se un utente che tenta di accedere a PowerShell Universal non è l'utente amministratore predefinito, dovrà autenticare correttamente le proprie credenziali con Active Directory tramite un semplice bind LDAP. Questo può essere combinato con un controllo dell'appartenenza a un gruppo AD nei criteri dei ruoli Admin, Operator e Reader per utilizzare efficacemente l'autenticazione Active Directory E l'appartenenza ai gruppi di Active Directory per fornire l'accesso basato sui ruoli a PowerShell Universal.

Esempio: criterio basato sull'appartenenza ai gruppi di Active Directory (autenticazione Windows)

Questo esempio richiede un metodo di autenticazione che fornisca le informazioni sui gruppi durante il processo di autenticazione. Metodi come l'autenticazione Windows e WS-Federation possono fornire queste informazioni. L'autenticazione tramite form non funzionerà con questo tipo di criterio.

Questo esempio sfrutta le attestazioni fornite durante l'autenticazione. È possibile verificare se l'utente dispone di un groupsid (appartenenza a un gruppo) utilizzando le mappature delle attestazioni. Mappi il tipo di attestazione groupid al valore a cui desidera assegnare il ruolo.

Esempio: criterio basato sull'appartenenza ai gruppi di Active Directory

In questo esempio configureremo il nostro script del criterio Administrator per utilizzare LDAP al fine di recuperare l'appartenenza a un gruppo di Active Directory. Qui abbiamo creato un gruppo denominato "PowerShell Universal Admins" i cui membri devono ottenere l'accesso come amministratori in PowerShell Universal. In questo caso eseguiamo un semplice controllo del samaccountname dell'utente per verificare che sia membro del gruppo. Per ambienti più robusti sarebbe più appropriato un controllo su SID/DN/ObjectGUID.

Esempio: appartenenza ai gruppi basata su Azure Active Directory

Questo esempio sfrutta OpenID Connect e Azure Active Directory.

Dopo aver configurato PowerShell Universal e Azure Active Directory, è possibile configurare gli script dei ruoli per verificare se gli utenti sono membri dei gruppi presenti in Azure AD. È possibile sfruttare le mappature delle attestazioni per mappare l'ID del gruppo di Azure AD a un ruolo di PowerShell Universal.

Per prima cosa, si assicuri di aver abilitato le attestazioni di appartenenza ai gruppi nel manifest della registrazione dell'applicazione. In questo modo verranno incluse tutte le appartenenze ai gruppi, rendendole accessibili in PowerShell Universal.

Una volta configurato, è possibile aggiornare lo script del ruolo per verificare l'appartenenza a un gruppo. Prenda innanzitutto nota dell'object ID del gruppo che desidera verificare in Azure AD.

Successivamente, all'interno dello script roles.ps1, è possibile verificare che un utente disponga di un determinato ruolo utilizzando la mappatura delle attestazioni.

Quando gli utenti effettuano l'accesso, la loro appartenenza ai gruppi verrà convalidata in base alle loro attestazioni e verrà assegnato un ruolo.

Vedere anche

Ultimo aggiornamento

È stato utile?