Introduzione all'autenticazione basata su certificati di Azure Active DirectoryGet started with certificate-based authentication in 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:Certificate-based authentication enables you to be authenticated by Azure Active Directory with a client certificate on a Windows, Android or iOS device when connecting your Exchange online account to:

  • Applicazioni per dispositivi mobili Microsoft, come Microsoft Outlook e Microsoft WordMicrosoft mobile applications such as Microsoft Outlook and Microsoft Word

  • Client Exchange ActiveSync (EAS)Exchange ActiveSync (EAS) clients

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.Configuring this feature eliminates the need to enter a username and password combination into certain mail and Microsoft Office applications on your mobile device.

In questo argomento:This topic:

  • 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.Provides you with the steps to configure and utilize certificate-based authentication for users of tenants in Office 365 Enterprise, Business, Education, and US Government plans. Questa funzionalità è disponibile in anteprima nei piani Office 365 China, US Government Defense e US Government Federal.This feature is available in preview in Office 365 China, US Government Defense, and US Government Federal plans.

  • Si presuppone che siano già configurati un'infrastruttura a chiave pubblica (PKI) e AD FS.Assumes that you already have a public key infrastructure (PKI) and AD FS configured.

RequisitiRequirements

Per configurare l'autenticazione basata su certificati, devono essere soddisfatti i requisiti seguenti:To configure certificate-based authentication, the following must be true:

  • L'autenticazione basata sui certificati è supportata solo per ambienti federati per applicazioni browser o client nativi che usano l'autenticazione moderna (ADAL).Certificate-based authentication (CBA) is only supported for Federated environments for browser applications or native clients using modern authentication (ADAL). L'unica eccezione è Exchange Active Sync per EXO che può essere usato sia per gli account federati che per quelli gestiti.The one exception is Exchange Active Sync (EAS) for EXO which can be used for both, federated and managed accounts.

  • L'autorità di certificazione radice e tutte le autorità di certificazione intermedie devono essere configurate in Azure Active Directory.The root certificate authority and any intermediate certificate authorities must be configured 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.Each certificate authority must have a certificate revocation list (CRL) that can be referenced via an Internet facing URL.

  • È necessario che in Azure Active Directory sia configurata almeno un'autorità di certificazione.You must have at least one certificate authority configured in Azure Active Directory. I passaggi correlati sono descritti nella sezione Configure the certificate authorities (Configurare le autorità di certificazione).You can find related steps in the Configure the certificate authorities section.

  • 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.For Exchange ActiveSync clients, the client certificate must have the user’s routable email address in Exchange online in either the Principal Name or the RFC822 Name value of the Subject Alternative Name field. Azure Active Directory esegue il mapping del valore RFC822 all'attributo dell'indirizzo Proxy nella directory.Azure Active Directory maps the RFC822 value to the Proxy Address attribute in the directory.

  • Il dispositivo client deve avere accesso ad almeno un'autorità di certificazione che emetta i certificati client.Your client device must have access to at least one certificate authority that issues client certificates.

  • È necessario che al client sia stato rilasciato un certificato client per l'autenticazione.A client certificate for client authentication must have been issued to your client.

Passaggio 1: Selezionare la piattaforma del dispositivoStep 1: Select your device platform

Il primo passaggio per quanto riguarda la piattaforma del dispositivo è verificare i punti seguenti:As a first step, for the device platform you care about, you need to review the following:

  • Supporto delle applicazioni Office per dispositivi mobiliThe Office mobile applications support
  • Requisiti specifici di implementazioneThe specific implementation requirements

Le informazioni correlate sono disponibili per le piattaforme dei dispositivi seguenti:The related information exists for the following device platforms:

Passaggio 2: Configurare le autorità di certificazioneStep 2: Configure the certificate authorities

Per configurare le proprie autorità di certificazione in Azure Active Directory, caricare gli elementi seguenti per ogni autorità:To configure your certificate authorities in Azure Active Directory, for each certificate authority, upload the following:

  • La parte pubblica del certificato, nel formato .cerThe public portion of the certificate, in .cer format
  • Gli URL Internet in cui si trovano gli elenchi di revoche di certificati (Certificate Revocation List o CRL)The Internet facing URLs where the Certificate Revocation Lists (CRLs) reside

Lo schema per un'autorità di certificazione ha un aspetto simile al seguente:The schema for a certificate authority looks as follows:

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:For the configuration, you can use the Azure Active Directory PowerShell Version 2:

  1. Avviare Windows PowerShell con privilegi amministrativi.Start Windows PowerShell with administrator privileges.
  2. Installare il modulo Azure AD.Install the Azure AD module. È necessario installare la versione 2.0.0.33 o una versione successiva.You need to install Version 2.0.0.33 or higher.

     Install-Module -Name AzureAD –RequiredVersion 2.0.0.33
    

Il primo passaggio di configurazione consiste nello stabilire una connessione con il tenant.As a first configuration step, you need to establish a connection with your tenant. Una volta stabilita la connessione al tenant è possibile rivedere, aggiungere, eliminare e modificare le autorità di certificazione attendibili definite nella directory.As soon as a connection to your tenant exists, you can review, add, delete and modify the trusted certificate authorities that are defined in your directory.

ConnettereConnect

Per stabilire una connessione con il tenant, usare il cmdlet Connect-AzureAD:To establish a connection with your tenant, use the Connect-AzureAD cmdlet:

Connect-AzureAD

RecuperoRetrieve

Per recuperare le autorità di certificazione attendibili definite nella directory, usare il cmdlet Get-AzureADTrustedCertificateAuthority.To retrieve the trusted certificate authorities that are defined in your directory, use the Get-AzureADTrustedCertificateAuthority cmdlet.

Get-AzureADTrustedCertificateAuthority

AddAdd

Per creare un'autorità di certificazione attendibile, usare il cmdlet New-AzureADTrustedCertificateAuthority e l'attributo crlDistributionPoint per un valore corretto:To create a trusted certificate authority, use the New-AzureADTrustedCertificateAuthority cmdlet and set the crlDistributionPoint attribute to a correct value:

$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

RimuovereRemove

Per rimuovere un'autorità di certificazione attendibile, usare il cmdlet Remove-AzureADTrustedCertificateAuthority:To remove a trusted certificate authority, use the Remove-AzureADTrustedCertificateAuthority cmdlet:

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

ModificareModfiy

Per modificare un'autorità di certificazione attendibile, usare il cmdlet Set-AzureADTrustedCertificateAuthority:To modify a trusted certificate authority, use the Set-AzureADTrustedCertificateAuthority cmdlet:

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

Passaggio 3: Configurare la revocaStep 3: Configure revocation

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.To revoke a client certificate, Azure Active Directory fetches the certificate revocation list (CRL) from the URLs uploaded as part of certificate authority information and caches it. L'ultimo timestamp di pubblicazione, ovvero la proprietàEffective Date (Data di validità), in CRL viene usato per assicurare la validità di CRL.The last publish timestamp (Effective Date property) in the CRL is used to ensure the CRL is still valid. Il CRL viene referenziato periodicamente per revocare l'accesso ai certificati che fanno parte dell'elenco.The CRL is periodically referenced to revoke access to certificates that are a part of the list.

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.If a more instant revocation is required (for example, if a user loses a device), the authorization token of the user can be invalidated. Per annullare il token di autorizzazione, impostare il campo StsRefreshTokenValidFrom per questo particolare utente usando Windows PowerShell.To invalidate the authorization token, set the StsRefreshTokenValidFrom field for this particular user using Windows PowerShell. È necessario aggiornare il campo StsRefreshTokenValidFrom per ogni utente a cui revocare l'accesso.You must update the StsRefreshTokenValidFrom field for each user you want to revoke access for.

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.To ensure that the revocation persists, you must set the Effective Date of the CRL to a date after the value set by StsRefreshTokenValidFrom and ensure the certificate in question is in the CRL.

I passaggi seguenti illustrano il processo per aggiornare e annullare il token di autorizzazione impostando il campo StsRefreshTokenValidFrom .The following steps outline the process for updating and invalidating the authorization token by setting the StsRefreshTokenValidFrom field.

Per configurare la revoca:To configure revocation:

  1. Connettersi con credenziali amministrative al servizio MSOL:Connect with admin credentials to the MSOL service:

     $msolcred = get-credential
     connect-msolservice -credential $msolcred
    
  2. Recuperare il valore StsRefreshTokensValidFrom corrente per un utente:Retrieve the current StsRefreshTokensValidFrom value for a user:

     $user = Get-MsolUser -UserPrincipalName test@yourdomain.com`
     $user.StsRefreshTokensValidFrom
    
  3. Configurare un nuovo valore StsRefreshTokensValidFrom per l'utente uguale al timestamp corrente:Configure a new StsRefreshTokensValidFrom value for the user equal to the current timestamp:

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

La data impostata deve essere futura.The date you set must be in the future. Se la data non è futura, la proprietà StsRefreshTokensValidFrom non viene impostata.If the date is not in the future, the StsRefreshTokensValidFrom property is not set. Se la data è futura, la proprietà StsRefreshTokensValidFrom viene impostata sull'ora corrente, non sulla data indicata dal comando Set-MsolUser.If the date is in the future, StsRefreshTokensValidFrom is set to the current time (not the date indicated by Set-MsolUser command).

Passaggio 4: Testare la configurazioneStep 4: Test your configuration

Test del certificatoTesting your certificate

Come primo test di configurazione è consigliabile accedere a Outlook Web Access o a SharePoint Online usando il browser sul dispositivo.As a first configuration test, you should try to sign in to Outlook Web Access or SharePoint Online using your on-device browser.

Se l'accesso ha esito positivo significa che:If your sign-in is successful, then you know that:

  • È stato eseguito il provisioning del certificato utente al dispositivo di testThe user certificate has been provisioned to your test device
  • AD FS è configurato correttamenteAD FS is configured correctly

Test delle applicazioni Office per dispositivi mobiliTesting Office mobile applications

Per testare l'autenticazione basata su certificati sulla propria applicazione Office per dispositivi mobili:To test certificate-based authentication on your mobile Office application:

  1. Nel dispositivo di test installare un'applicazione Office per dispositivi mobili (ad esempio OneDrive).On your test device, install an Office mobile application (e.g., OneDrive).
  2. Avviare l'applicazione.Launch the application.
  3. Immettere il nome utente, quindi selezionare il certificato utente da usare.Enter your user name, and then select the user certificate you want to use.

È necessario aver eseguito l'accesso.You should be successfully signed in.

Test delle applicazioni client Exchange ActiveSyncTesting Exchange ActiveSync client applications

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.To access Exchange ActiveSync (EAS) via certificate-based authentication, an EAS profile containing the client certificate must be available to the application.

Il profilo EAS deve contenere le informazioni seguenti:The EAS profile must contain the following information:

  • Il certificato utente da usare per l'autenticazioneThe user certificate to be used for authentication

  • L'endpoint EAS (ad esempio outlook.office365.com)The EAS endpoint (for example, 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.An EAS profile can be configured and placed on the device through the utilization of Mobile device management (MDM) such as Intune or by manually placing the certificate in the EAS profile on the device.

Test delle applicazioni client EAS in AndroidTesting EAS client applications on Android

Per testare l'autenticazione basata su certificati:To test certificate authentication:

  1. Configurare un profilo EAS nell'applicazione che soddisfi i requisiti riportati sopra.Configure an EAS profile in the application that satisfies the requirements above.
  2. Aprire l'applicazione e verificare che venga eseguita la sincronizzazione dell'email.Open the application, and verify that mail is synchronizing.