Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Gestisci l'autenticazione a più fattori (MFA) utilizzando REST API, PowerShell e SCCLI

Collaboratori

L'accesso MFA è supportato da browser, REST API, PowerShell e SCCLI. MFA è supportato da un Identity Manager di ad FS. È possibile attivare MFA, disattivare MFA e configurare MFA da GUI, REST API, PowerShell e SCCLI.

Impostare ad FS come OAuth/OIDC

Configurare ad FS utilizzando la GUI di Windows

  1. Accedere a Server Manager Dashboard > Tools > ADFS Management.

  2. Accedere a ADFS > gruppi di applicazioni.

    1. Fare clic con il pulsante destro del mouse su gruppi di applicazioni.

    2. Selezionare Add Application group (Aggiungi gruppo di applicazioni) e immettere Application Name (Nome applicazione).

    3. Selezionare applicazione server.

    4. Fare clic su Avanti.

  3. Copia identificatore del client.

    ID client. .. Aggiungere l'URL di richiamata (URL del server SnapCenter) nell'URL di reindirizzamento. .. Fare clic su Avanti.

  4. Selezionare generate shared secret.

    Copiare il valore segreto. Questo è il segreto del cliente. .. Fare clic su Avanti.

  5. Nella pagina Riepilogo, fare clic su Avanti.

    1. Nella pagina complete, fare clic su Close (Chiudi).

  6. Fare clic con il pulsante destro del mouse sul nuovo Application Group e selezionare Properties.

  7. Selezionare Aggiungi applicazione da Proprietà applicazione.

  8. Fare clic su Aggiungi applicazione.

    Selezionare API Web e fare clic su Avanti.

  9. Nella pagina Configura API web, inserire l'URL del server SnapCenter e l'identificativo client creati nel passaggio precedente nella sezione identificativo.

    1. Fare clic su Aggiungi.

    2. Fare clic su Avanti.

  10. Nella pagina Choose Access Control Policy (Scegli policy di controllo dell'accesso), selezionare la policy di controllo in base ai requisiti (ad esempio, Permit Everyone and Request MFA) e fare clic su Next (Avanti).

  11. Nella pagina Configure Application Permission (Configura autorizzazione applicazione), per impostazione predefinita openid è selezionato come ambito, fare clic su Next (Avanti).

  12. Nella pagina Riepilogo, fare clic su Avanti.

    Nella pagina complete, fare clic su Close (Chiudi).

  13. Nella pagina Proprietà applicazione di esempio, fare clic su OK.

  14. Token JWT emesso da un server di autorizzazione (ad FS) e destinato ad essere utilizzato dalla risorsa.

    La richiesta "aud" o di pubblico di questo token deve corrispondere all'identificatore della risorsa o dell'API Web.

  15. Modificare l'API Web selezionata e verificare che l'URL di richiamata (URL del server SnapCenter) e l'identificatore del client siano stati aggiunti correttamente.

    Configurare OpenID Connect in modo da fornire un nome utente come rivendicato.

  16. Aprire lo strumento ad FS Management situato nel menu Tools in alto a destra di Server Manager.

    1. Selezionare la cartella Application Groups dalla barra laterale sinistra.

    2. Selezionare l'API Web e fare clic su EDIT.

    3. Accedere alla scheda Issuance Transform Rules (regole di trasformazione emissione)

  17. Fare clic su Add Rule (Aggiungi regola).

    1. Selezionare Send LDAP Attributes as Claims (Invia attributi LDAP come richieste di rimborso) nell'elenco a discesa Claim Rule template (

    2. Fare clic su Avanti.

  18. Inserire il nome Claim rule.

    1. Selezionare Active Directory nell'elenco a discesa dell'archivio degli attributi.

    2. Selezionare User-Principal-Name nel menu a discesa LDAP Attribute e UPN nel menu a discesa o*utgoing Claim Type*.

    3. Fare clic su fine.

Creare un gruppo di applicazioni utilizzando i comandi PowerShell

È possibile creare il gruppo di applicazioni, l'API Web e aggiungere l'ambito e le attestazioni utilizzando i comandi PowerShell. Questi comandi sono disponibili in formato script automatizzato. Per ulteriori informazioni, vedere <link to KB article>.

  1. Creare il nuovo gruppo di applicazioni in ad FS utilizzando la seguente comand.

    New-AdfsApplicationGroup -Name $ClientRoleIdentifier -ApplicationGroupIdentifier $ClientRoleIdentifier

    ClientRoleIdentifier nome del gruppo di applicazioni

    redirectURL URL valido per il reindirizzamento dopo l'autorizzazione

  2. Creare l'applicazione server di ad FS e generare il segreto del client.

    Add-AdfsServerApplication -Name "$ClientRoleIdentifier - Server app" -ApplicationGroupIdentifier $ClientRoleIdentifier -RedirectUri $redirectURL -Identifier $identifier -GenerateClientSecret

  3. Creare l'applicazione API Web ADFS e configurare il nome del criterio da utilizzare.

    $identifier = (New-Guid).Guid

    Add-AdfsWebApiApplication -ApplicationGroupIdentifier $ClientRoleIdentifier -Name "App Web API"

    -Identifier $identifier -AccessControlPolicyName "Permit everyone"

  4. Ottenere l'ID client e il client secret dall'output dei seguenti comandi perché vengono visualizzati una sola volta.

    "client_id = $identifier"

    "client_secret: "$($ADFSApp.ClientSecret)

  5. Concedere all'applicazione ad FS le autorizzazioni Allatclaims e openid.

    Grant-AdfsApplicationPermission -ClientRoleIdentifier $identifier -ServerRoleIdentifier $identifier -ScopeNames @('openid')

    $transformrule = @"

    @RuleTemplate = "LdapClaims"

    @RuleName = "AD User properties and Groups"

    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer ==

    "AD AUTHORITY"]

    ⇒ issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);

    "@

  6. Annotare il file di regole di trasformazione.

    $transformrule |Out-File -FilePath .\issueancetransformrules.tmp -force -Encoding ascii $relativePath = Get-Item .\issueancetransformrules.tmp

  7. Assegnare un nome all'applicazione API Web e definirne le regole di conversione mediante un file esterno.

    Set-AdfsWebApiApplication -Name "$ClientRoleIdentifier - Web API" -TargetIdentifier

    $identifier -Identifier $identifier,$redirectURL -IssuanceTransformRulesFile

    $relativePath

Aggiornare il tempo di scadenza del token di accesso

È possibile aggiornare il tempo di scadenza del token di accesso utilizzando il comando PowerShell.

A proposito di questa attività

  • Un token di accesso può essere utilizzato solo per una combinazione specifica di utente, client e risorsa. I token di accesso non possono essere revocati e sono validi fino alla scadenza.

  • Per impostazione predefinita, la scadenza di un token di accesso è di 60 minuti. Questo tempo di scadenza minimo è sufficiente e scalabile. Devi fornire un valore sufficiente per evitare qualsiasi lavoro business-critical in corso.

Passo

Per aggiornare il tempo di scadenza del token di accesso per un gruppo di applicazioni WebAPI, utilizzare il seguente comando nel server ad FS.

+ Set-AdfsWebApiApplication -TokenLifetime 3600 -TargetName "<Web API>"

Ottenere il token del bearer da ad FS

Inserire i parametri indicati di seguito in qualsiasi client REST (come Postman) e richiedere di inserire le credenziali dell'utente. Inoltre, per ottenere il token del bearer, è necessario immettere l'autenticazione del secondo fattore (qualcosa che si possiede e qualcosa che si è).

+ La validità del token bearer è configurabile dal server ad FS per ogni applicazione e il periodo di validità predefinito è di 60 minuti.

Campo

Valore

Tipo di concessione

Codice di autorizzazione

URL di richiamata

Se non si dispone di un URL di richiamata, immettere l'URL di base dell'applicazione.

URL di autenticazione

[adfs-domain-name]/adfs/oauth2/authorize

URL token di accesso

[adfs-domain-name]/adfs/oauth2/token

ID client

Inserire l'ID del client ad FS

Segreto del client

Inserire il segreto del client ad FS

Scopo

OpenID

Autenticazione del client

Invia come intestazione AUTH di base

Risorsa

Nella scheda Opzioni avanzate, aggiungere il campo risorsa con lo stesso valore dell'URL di richiamata, che viene fornito come valore "aud" nel token JWT.