Introduzione all'autenticazione basata su certificati di Azure Active Directory

L'autenticazione basata su certificati consente di essere autenticati da Azure Active Directory con un certificato client su un dispositivo Windows, Android o iOS quando si connette il proprio account Exchange online a:

  • Applicazioni Office per dispositivi mobili, come Microsoft Outlook e Microsoft Word

  • Client Exchange ActiveSync (EAS)

La configurazione di questa funzionalità elimina la necessità di immettere una combinazione di nome utente e password in determinate applicazioni di posta e applicazioni Microsoft Office sul dispositivo mobile.

In questo argomento:

  • Viene descritto come configurare e usare l'autenticazione basata su certificati per gli utenti dei tenant nei piani Office 365 Enterprise, Business, Education e US Government. Questa funzionalità è disponibile in anteprima nei piani Office 365 China, US Government Defense e US Government Federal.

  • Si presuppone che siano già configurati un'infrastruttura a chiave pubblica (PKI) e AD FS.

Requisiti

Per configurare l'autenticazione basata su certificati, devono essere soddisfatti i requisiti seguenti:

  • L'autorità di certificazione radice e tutte le autorità di certificazione intermedie devono essere configurate in Azure Active Directory.

  • Ogni autorità di certificazione deve avere un elenco di revoche di certificati (Certificate Revocation List o CRL) a cui si possa fare riferimento tramite un URL Internet.

  • È necessario che in Azure Active Directory sia configurata almeno un'autorità di certificazione. I passaggi correlati sono descritti nella sezione Configure the certificate authorities (Configurare le autorità di certificazione).

  • Per i client Exchange ActiveSync, il certificato client deve contenere l'indirizzo email instradabile dell'utente in Exchange online, nel nome dell'entità o nel nome RFC822 del campo Nome alternativo soggetto. Azure Active Directory esegue il mapping del valore RFC822 all'attributo dell'indirizzo Proxy nella directory.

  • Il dispositivo client deve avere accesso ad almeno un'autorità di certificazione che emetta i certificati client.

  • È necessario che al client sia stato rilasciato un certificato client per l'autenticazione.

Passaggio 1: Selezionare la piattaforma del dispositivo

Il primo passaggio per quanto riguarda la piattaforma del dispositivo è verificare i punti seguenti:

  • Supporto delle applicazioni Office per dispositivi mobili
  • Requisiti specifici di implementazione

Le informazioni correlate sono disponibili per le piattaforme dei dispositivi seguenti:

Passaggio 2: Configurare le autorità di certificazione

Per configurare le proprie autorità di certificazione in Azure Active Directory, caricare gli elementi seguenti per ogni autorità:

  • La parte pubblica del certificato, nel formato .cer
  • Gli URL Internet in cui si trovano gli elenchi di revoche di certificati (Certificate Revocation List o CRL)

Lo schema per un'autorità di certificazione ha un aspetto simile al seguente:

class TrustedCAsForPasswordlessAuth 
{ 
   CertificateAuthorityInformation[] certificateAuthorities;    
} 

class CertificateAuthorityInformation 

{ 
    CertAuthorityType authorityType; 
    X509Certificate trustedCertificate; 
    string crlDistributionPoint; 
    string deltaCrlDistributionPoint; 
    string trustedIssuer; 
    string trustedIssuerSKI; 
}                

enum CertAuthorityType 
{ 
    RootAuthority = 0, 
    IntermediateAuthority = 1 
} 

Per la configurazione, è possibile usare Azure Active Directory PowerShell versione 2:

  1. Avviare Windows PowerShell con privilegi amministrativi.
  2. Installare il modulo Azure AD. È necessario installare la versione 2.0.0.33 o una versione successiva.

     Install-Module -Name AzureAD –RequiredVersion 2.0.0.33 
    

Il primo passaggio di configurazione consiste nello stabilire una connessione con il tenant. Una volta stabilita la connessione al tenant è possibile rivedere, aggiungere, eliminare e modificare le autorità di certificazione attendibili definite nella directory.

Connettere

Per stabilire una connessione con il tenant, usare il cmdlet Connect-AzureAD:

Connect-AzureAD 

Recupero

Per recuperare le autorità di certificazione attendibili definite nella directory, usare il cmdlet Get-AzureADTrustedCertificateAuthority.

Get-AzureADTrustedCertificateAuthority 

Add

Per creare un'autorità di certificazione attendibile, usare il cmdlet New-AzureADTrustedCertificateAuthority e l'attributo crlDistributionPoint per un valore corretto:

$cert=Get-Content -Encoding byte "[LOCATION OF THE CER FILE]" 
$new_ca=New-Object -TypeName Microsoft.Open.AzureAD.Model.CertificateAuthorityInformation 
$new_ca.AuthorityType=0 
$new_ca.TrustedCertificate=$cert 
$new_ca.crlDistributionPoint=”<CRL Distribution URL>”
New-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $new_ca 

Rimuovere

Per rimuovere un'autorità di certificazione attendibile, usare il cmdlet Remove-AzureADTrustedCertificateAuthority:

$c=Get-AzureADTrustedCertificateAuthority 
Remove-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $c[2] 

Modificare

Per modificare un'autorità di certificazione attendibile, usare il cmdlet Set-AzureADTrustedCertificateAuthority:

$c=Get-AzureADTrustedCertificateAuthority 
$c[0].AuthorityType=1 
Set-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $c[0] 

Passaggio 3: Configurare la revoca

Per revocare un certificato client, Azure Active Directory recupera l'elenco di revoche di certificati (Certificate Revocation List o CRL) dagli URL caricati come parte delle informazioni sull'autorità di certificazione e li memorizza nella cache. L'ultimo timestamp di pubblicazione, ovvero la proprietàEffective Date (Data di validità), in CRL viene usato per assicurare la validità di CRL. Il CRL viene referenziato periodicamente per revocare l'accesso ai certificati che fanno parte dell'elenco.

Se è necessaria una revoca più immediata (ad esempio in caso di smarrimento del dispositivo da parte di un utente), il token di autorizzazione dell'utente può essere annullato. Per annullare il token di autorizzazione, impostare il campo StsRefreshTokenValidFrom per questo particolare utente usando Windows PowerShell. È necessario aggiornare il campo StsRefreshTokenValidFrom per ogni utente a cui revocare l'accesso.

Per fare in modo che la revoca persista, è necessario impostare la proprietà Effective Date (Data di validità) di CRL su una data successiva al valore impostato da StsRefreshTokenValidFrom e assicurarsi che il certificato in questione sia in CRL.

I passaggi seguenti illustrano il processo per aggiornare e annullare il token di autorizzazione impostando il campo StsRefreshTokenValidFrom .

Per configurare la revoca:

  1. Connettersi con credenziali amministrative al servizio MSOL:

     $msolcred = get-credential 
     connect-msolservice -credential $msolcred 
    
  2. Recuperare il valore StsRefreshTokensValidFrom corrente per un utente:

     $user = Get-MsolUser -UserPrincipalName test@yourdomain.com` 
     $user.StsRefreshTokensValidFrom 
    
  3. Configurare un nuovo valore StsRefreshTokensValidFrom per l'utente uguale al timestamp corrente:

     Set-MsolUser -UserPrincipalName test@yourdomain.com -StsRefreshTokensValidFrom ("03/05/2016")
    

La data impostata deve essere futura. Se la data non è futura, la proprietà StsRefreshTokensValidFrom non viene impostata. Se la data è futura, la proprietà StsRefreshTokensValidFrom viene impostata sull'ora corrente, non sulla data indicata dal comando Set-MsolUser.

Passaggio 4: Testare la configurazione

Test del certificato

Come primo test di configurazione è consigliabile accedere a Outlook Web Access o a SharePoint Online usando il browser sul dispositivo.

Se l'accesso ha esito positivo significa che:

  • È stato eseguito il provisioning del certificato utente al dispositivo di test
  • AD FS è configurato correttamente

Test delle applicazioni Office per dispositivi mobili

Per testare l'autenticazione basata su certificati sulla propria applicazione Office per dispositivi mobili:

  1. Nel dispositivo di test installare un'applicazione Office per dispositivi mobili (ad esempio OneDrive).
  2. Avviare l'applicazione.
  3. Immettere il nome utente, quindi selezionare il certificato utente da usare.

È necessario aver eseguito l'accesso.

Test delle applicazioni client Exchange ActiveSync

Per accedere a Exchange ActiveSync (EAS) tramite l'autenticazione basata su certificati, l'applicazione deve avere a disposizione un profilo EAS contenente il certificato client.

Il profilo EAS deve contenere le informazioni seguenti:

  • Il certificato utente da usare per l'autenticazione

  • L'endpoint EAS (ad esempio outlook.office365.com)

Un profilo EAS può essere configurato e aggiunto al dispositivo tramite l'uso di software MDM, come Intune, o inserendo manualmente il certificato nel profilo EAS sul dispositivo.

Test delle applicazioni client EAS in Android

Per testare l'autenticazione basata su certificati:

  1. Configurare un profilo EAS nell'applicazione che soddisfi i requisiti riportati sopra.
  2. Aprire l'applicazione e verificare che venga eseguita la sincronizzazione dell'email.