Verificatie op basis van certificaten configureren voor Azure AD

Met Azure Active Directory (Azure AD) verificatie op basis van certificaten (CBA) kunnen organisaties hun Azure AD tenants configureren om gebruikers toe te staan of te verplichten zich te verifiëren met X.509-certificaten die zijn gemaakt door hun PKI (Enterprise Public Key Infrastructure) voor aanmelding bij apps en browsers. Met deze functie kunnen organisaties phishingbestendige moderne verificatie zonder wachtwoord gebruiken met behulp van een x.509-certificaat.

Tijdens het aanmelden zien gebruikers ook een optie om te verifiëren met een certificaat in plaats van een wachtwoord in te voeren. Als er meerdere overeenkomende certificaten aanwezig zijn op het apparaat, kan de gebruiker kiezen welke certificaten te gebruiken. Het certificaat wordt gevalideerd op basis van het gebruikersaccount en als dit lukt, melden ze zich aan.

Volg deze instructies voor het configureren en gebruiken van Azure AD CBA voor tenants in abonnementen voor Office 365 Enterprise en de Amerikaanse overheid. U moet al een PKI (Public Key Infrastructure) hebben geconfigureerd.

Vereisten

Zorg ervoor dat aan de volgende vereisten wordt voldaan:

  • Configureer ten minste één certificeringsinstantie (CA) en eventuele tussenliggende CA's in Azure AD.
  • De gebruiker moet toegang hebben tot een gebruikerscertificaat (uitgegeven vanuit een vertrouwde, op de tenant geconfigureerde, Public Key Infrastructure) die is bedoeld voor clientverificatie om te verifiëren bij Azure AD.
  • Elke CA moet een certificaatintrekkingslijst (CRL) hebben waarnaar kan worden verwezen vanuit internetgerichte URL's. Als voor de vertrouwde CA geen CRL is geconfigureerd, voert Azure AD geen CRL-controle uit, werkt het intrekken van gebruikerscertificaten niet en wordt de verificatie niet geblokkeerd.

Belangrijk

Zorg ervoor dat de PKI veilig is en niet gemakkelijk kan worden aangetast. In het geval van een inbreuk kan de aanvaller clientcertificaten maken en ondertekenen en elke gebruiker in de tenant in gevaar brengen, zowel gebruikers die worden gesynchroniseerd vanuit on-premises gebruikers als cloudgebruikers. Een sterke strategie voor sleutelbeveiliging kan echter, samen met andere fysieke en logische besturingselementen, zoals HSM-activeringskaarten of tokens voor de veilige opslag van artefacten, diepgaande verdediging bieden om te voorkomen dat externe aanvallers of bedreigingen van binnenuit de integriteit van de PKI in gevaar brengen. Zie voor meer informatie PKI beveiligen.

Notitie

Bij het evalueren van een PKI is het belangrijk om het certificaatuitgiftebeleid en het afdwingen te controleren. Zoals vermeld, kunnen certificaten die door deze CA's zijn uitgegeven, door certificeringsinstanties (CA's) aan Azure AD configuratie worden toegevoegd, elke gebruiker in Azure AD verifiëren. Daarom is het belangrijk om te overwegen hoe en wanneer de CA's certificaten mogen uitgeven en hoe ze herbruikbare id's implementeren. Wanneer beheerders ervoor moeten zorgen dat alleen een specifiek certificaat kan worden gebruikt om een gebruiker te verifiëren, moeten beheerders uitsluitend bindingen met hoge affiniteit gebruiken om een hoger niveau van zekerheid te bereiken dat alleen een specifiek certificaat de gebruiker kan verifiëren. Zie bindingen met hoge affiniteit voor meer informatie.

Stappen voor het configureren en testen van Azure AD CBA

Enkele configuratiestappen die moeten worden uitgevoerd voordat u Azure AD CBA inschakelt. Eerst moet een beheerder de vertrouwde CA's configureren die gebruikerscertificaten verlenen. Zoals te zien is in het volgende diagram, gebruiken we op rollen gebaseerd toegangsbeheer om ervoor te zorgen dat alleen beheerders met de minste bevoegdheden nodig zijn om wijzigingen aan te brengen. Alleen de rol Globale beheerder kan de CA configureren.

U kunt desgewenst ook verificatiebindingen configureren om certificaten toe te wijzen aan verificatie met één factor of meervoudige verificatie, en gebruikersnaambindingen configureren om het certificaatveld toe te wijzen aan een kenmerk van het gebruikersobject. Beheerders van verificatiebeleid kunnen gebruikersinstellingen configureren. Zodra alle configuraties zijn voltooid, schakelt u Azure AD CBA in op de tenant.

Diagram van de stappen die nodig zijn om Azure Active Directory verificatie op basis van certificaat in te schakelen.

Stap 1: de certificeringsinstanties configureren

U kunt CA's configureren met behulp van de Azure Portal of PowerShell.

Certificeringsinstanties configureren met behulp van de Azure Portal

Voer de volgende stappen uit om de verificatie op basis van certificaten in te schakelen en gebruikersbindingen in de Azure Portal te configureren:

  1. Meld u aan bij de Azure Portal als globale beheerder.

  2. Klik op Azure Active Directory-beveiliging>.

    Schermopname van certificeringsinstanties.

  3. Als u een CA wilt uploaden, klikt u op Uploaden:

    1. Kies het CA-bestand.

    2. Kies Ja als de CA een basiscertificaat is, kies anders Nee.

    3. Stel de internetgerichte HTTP-URL in voor de CA-basis-CRL die alle ingetrokken certificaten bevat. Als de URL niet is ingesteld, mislukt de verificatie met ingetrokken certificaten niet.

    4. Delta CRL URL instellen - de HTTP-internet-URL voor de CRL die alle ingetrokken certificaten bevat sinds de laatste basis-CRL is gepubliceerd.

    5. Klik op Add.

      Schermopname van het uploaden van een bestand van een certificeringsinstantie.

  4. Als u een CA-certificaat wilt verwijderen, kiest u het certificaat en klikt u op Verwijderen.

  5. Klik op Kolommen om kolommen toe te voegen of te verwijderen.

Certificeringsinstanties configureren met behulp van PowerShell

Er wordt slechts één CRL-distributiepunt (CDP) ondersteund voor een vertrouwde CA. Het CDP kan alleen HTTP-URL's zijn. ONLINE CERTIFICATE Status Protocol (OCSP) of LDAP-URL's (Lightweight Directory Access Protocol) worden niet ondersteund.

Als u uw certificeringsinstanties in Azure Active Directory wilt configureren, uploadt u voor elke certificeringsinstantie het volgende:

  • Het openbare gedeelte van het certificaat, in .cer-indeling
  • De internetgerichte URL's waar de certificaatintrekkingslijsten (CRL's) zich bevinden

Het schema voor een certificeringsinstantie ziet er als volgt uit:

    class TrustedCAsForPasswordlessAuth
    {
       CertificateAuthorityInformation[] certificateAuthorities;
    }

    class CertificateAuthorityInformation

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

    enum CertAuthorityType
    {
        RootAuthority = 0,
        IntermediateAuthority = 1
    }

Voor de configuratie kunt u Azure Active Directory PowerShell versie 2 gebruiken:

  1. Start Windows PowerShell met beheerdersbevoegdheden.

  2. Installeer de Azure Powershell-module, versie 2.0.0.33 of hoger.

        Install-Module -Name AzureAD –RequiredVersion 2.0.0.33
    

Als eerste configuratiestap moet u verbinding maken met uw tenant. Zodra er een verbinding met uw tenant bestaat, kunt u de vertrouwde certificeringsinstanties die in uw directory zijn gedefinieerd controleren, toevoegen, verwijderen en wijzigen.

Verbinding maken

Gebruik de cmdlet Connect-AzureAD om een verbinding met uw tenant tot stand te brengen:

    Connect-AzureAD

Ophalen

Gebruik de cmdlet Get-AzureADTrustedCertificateAuthority om de vertrouwde certificeringsinstanties op te halen die zijn gedefinieerd in uw directory.

    Get-AzureADTrustedCertificateAuthority

Toevoegen

Als u een vertrouwde certificeringsinstantie wilt maken, gebruikt u de cmdlet New-AzureADTrustedCertificateAuthority en stelt u het kenmerk crlDistributionPoint in op een juiste waarde:

    $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

AuthorityType

  • Gebruik 0 om een basiscertificeringsinstantie aan te geven
  • Gebruik 1 om een tussenliggende of verlenende certificeringsinstantie aan te geven

crlDistributionPoint

U kunt de CRL downloaden en het CA-certificaat en de CRL-gegevens vergelijken om te valideren dat de crlDistributionPoint-waarde in het voorgaande PowerShell-voorbeeld geldig is voor de CA die u wilt toevoegen.

In de volgende tabel en afbeelding ziet u hoe u informatie van het CA-certificaat kunt toewijzen aan de kenmerken van de gedownloade CRL.

CA-certificaatgegevens = Gedownloade CRL-informatie
Onderwerp = Verlener
Identifier onderwerpsleutel = Authority Key Identifier (Sleutel-ID)

CA-certificaat met CRL-informatie vergelijken.

Tip

De waarde voor crlDistributionPoint in het vorige voorbeeld is de HTTP-locatie voor de certificaatintrekkingslijst (CRL) van de CA. Dit is op een paar plaatsen te vinden.

  • In het kenmerk CRL-distributiepunt (CDP) van een certificaat dat is uitgegeven door de CA.

Als de verlenende CA Windows Server is:

  • Op de eigenschappen van de CA in de certificeringsinstantie Microsoft Management Console (MMC).
  • Op de CA door uit te voeren certutil -cainfo cdp. Zie certutil voor meer informatie.

Zie Inzicht in het certificaatintrekkingsproces voor meer informatie.

Verwijderen

Als u een vertrouwde certificeringsinstantie wilt verwijderen, gebruikt u de cmdlet Remove-AzureADTrustedCertificateAuthority:

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

U kunt de opdracht wijzigen om het 0e element te verwijderen door te wijzigen in Remove-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $c[0].

Wijzigen

Als u een vertrouwde certificeringsinstantie wilt wijzigen, gebruikt u de cmdlet Set-AzureADTrustedCertificateAuthority:

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

Stap 2: CBA inschakelen voor de tenant

Belangrijk

Een gebruiker wordt beschouwd als geschikt voor MFA wanneer de gebruiker binnen het bereik valt van verificatie op basis van certificaten in het beleid voor verificatiemethoden. Deze beleidsvereiste betekent dat een gebruiker proof-up niet kan gebruiken als onderdeel van de verificatie om andere beschikbare methoden te registreren. Zie Azure AD MFA voor meer informatie.

Voer de volgende stappen uit om verificatie op basis van certificaten in te schakelen in de Azure Portal:

  1. Meld u als beheerder van verificatietoepassingen aan bij Azure Portal.

  2. Zoek en kies Azure Active Directory en kies in het menu aan de linkerkant Beveiliging.

  3. Kies verificatiemethodenop basis van certificaten> onder Beheren.

  4. Klik onder Inschakelen en doel op Inschakelen.

  5. Klik op Alle gebruikers of klik op Groepen toevoegen om specifieke groepen te selecteren.

    Schermopname van hoe CBA in te schakelen.

Zodra verificatie op basis van certificaten is ingeschakeld voor de tenant, zien alle gebruikers in de tenant de optie om zich aan te melden met een certificaat. Alleen gebruikers die zijn ingeschakeld voor verificatie op basis van certificaten, kunnen zich verifiëren met behulp van het X.509-certificaat.

Notitie

De netwerkbeheerder moet naast login.microsoftonline.com toegang tot het eindpunt voor certificaatverificatie toestaan voor de cloudomgeving van de klant. Schakel TLS-inspectie uit op het certauth-eindpunt om ervoor te zorgen dat de aanvraag voor het clientcertificaat slaagt als onderdeel van de TLS-handshake.

Stap 3: verificatiebindingsbeleid configureren

Het verificatiebindingsbeleid helpt bij het bepalen van de sterkte van verificatie voor één factor of meerdere factoren. Een beheerder kan de standaardwaarde wijzigen van single-factor in multifactor en aangepaste beleidsregels configureren door de onderwerp- of beleids-OID-velden van de verlener in het certificaat toe te wijzen.

Voer de volgende stappen uit om Azure AD CBA in te schakelen en gebruikersbindingen te configureren in de Azure Portal:

  1. Meld u als beheerder van verificatietoepassingen aan bij Azure Portal.

  2. Zoek en kies Azure Active Directory en kies in het menu aan de linkerkant Beveiliging.

  3. Klik op Beleid voor verificatiemethoden>.

  4. Kies verificatiemethodenop basis van certificaten> onder Beheren.

    Schermopname van verificatiebeleid.

  5. Klik op Configureren om verificatiebinding en gebruikersnaambinding in te stellen.

  6. Het kenmerk beveiligingsniveau heeft een standaardwaarde voor verificatie met één factor. Kies Meervoudige verificatie om de standaardwaarde te wijzigen in MFA.

    Notitie

    De standaardwaarde voor het beveiligingsniveau wordt van kracht als er geen aangepaste regels worden toegevoegd. Als er aangepaste regels worden toegevoegd, wordt in plaats daarvan het op regelniveau gedefinieerde beveiligingsniveau toegepast.

    Schermopname van hoe het standaardbeleid te veranderen in MFA.

  7. U kunt ook aangepaste regels voor verificatiebinding instellen om het beveiligingsniveau voor clientcertificaten te bepalen. Deze kan worden geconfigureerd met behulp van de velden Onderwerp van verlener of Beleids-OID in het certificaat.

    Met bindingsregels voor verificatie worden de certificaatkenmerken (uitgever of beleids-OID) toegewezen aan een waarde en wordt het standaardbeveiligingsniveau voor die regel geselecteerd. Er kunnen meerdere regels worden gemaakt.

    Als u aangepaste regels wilt toevoegen, klikt u op Regel toevoegen.

    Schermopname van hoe een regel toe te voegen.

    Als u een regel wilt maken op basis van certificaatverlener, klikt u op Certificaatverlener.

    1. Kies een certificaatverlener-id in de keuzelijst.

    2. Klik op Meervoudige verificatie.

      Schermopname van beleid voor meervoudige verificatie.

    Als u een regel wilt maken op basis van beleids-OID, klikt u op Beleids-OID.

    1. Voer een waarde in voor beleids-OID.

    2. Klik op Meervoudige verificatie.

      Schermopname van toewijzen aan beleids-OID.

  8. Klik op OK om een aangepaste regel op te slaan.

Stap 4: Beleid voor binding van gebruikersnaam configureren

Het beleid voor gebruikersnaambinding helpt bij het valideren van het certificaat van de gebruiker. Standaard wijzen we Principal Name in het certificaat toe aan UserPrincipalName in het gebruikersobject om de gebruiker te bepalen. Een beheerder kan de standaardinstelling overschrijven en een aangepaste toewijzing maken.

Zie Hoe gebruikersnaambinding werkt om te bepalen hoe u gebruikersnaambinding configureert.

Belangrijk

Als een beleid voor gebruikersnaambinding gesynchroniseerde kenmerken gebruikt, zoals het kenmerk onPremisesUserPrincipalName van het gebruikersobject, moet u er rekening mee houden dat elke gebruiker met bevoegdheden van Active Directory-beheerders wijzigingen kan aanbrengen die van invloed zijn op de waarde onPremisesUserPrincipalName in Azure AD voor gesynchroniseerde accounts, inclusief gebruikers met gedelegeerde beheerdersbevoegdheden voor gesynchroniseerde gebruikersaccounts of beheerdersrechten voor de Azure AD Servers verbinden.

  1. Maak de gebruikersnaambinding door een van de X.509-certificaatvelden te kiezen om te verbinden met een van de gebruikerskenmerken. De volgorde van de gebruikersnaambinding vertegenwoordigt het prioriteitsniveau van de binding. De eerste heeft de hoogste prioriteit, enzovoort.

    Schermopname van het beleid voor gebruikersnaambinding.

    Als het opgegeven X.509-certificaatveld op het certificaat wordt gevonden, maar Azure AD geen gebruikersobject vindt met deze waarde, mislukt de verificatie. Azure AD valt terug en probeert de volgende binding in de lijst.

  2. Klik op Opslaan om de wijzigingen op te slaan.

De uiteindelijke configuratie ziet er als volgt uit:

Schermopname van de uiteindelijke configuratie.

Stap 5: uw configuratie testen

In deze sectie wordt beschreven hoe u uw certificaat en aangepaste regels voor verificatiebinding kunt testen.

Uw certificaat testen

Als eerste configuratietest moet u zich aanmelden bij het MyApps-portal met behulp van uw browser op het apparaat.

  1. Voer uw UPN (User Principal Name) in.

    Schermopname van de User Principal Name.

  2. Klik op Volgende.

    Schermopname van aanmelden met certificaat.

    Als u andere verificatiemethoden hebt ingeschakeld, zoals aanmelden via telefoon of FIDO2, zien gebruikers mogelijk een ander aanmeldingsscherm.

    Schermopname van de alternatieve aanmelding.

  3. Kies Aanmelden met een certificaat.

  4. Kies het juiste gebruikerscertificaat in de gebruikersinterface van de clientcertificaatkiezer en klik op OK.

Schermopname van de UI van de certificaatkiezer.

  1. Gebruikers moeten zijn aangemeld bij de MyApps-portal.

Als uw aanmelding is geslaagd, weet u dat:

  • Het gebruikerscertificaat is ingericht in uw testapparaat.
  • Azure AD is correct geconfigureerd met vertrouwde CA's.
  • De gebruikersnaambinding is correct geconfigureerd en de gebruiker wordt gevonden en geverifieerd.

Aangepaste regels voor verificatiebinding testen

Laten we een scenario doorlopen waarin we sterke verificatie valideren. We maken twee regels voor verificatiebeleid, een door verlener onderworpen te gebruiken om te voldoen aan verificatie met één factor en een andere door beleids-OID te gebruiken om te voldoen aan meervoudige verificatie.

  1. Maak een onderwerpregel voor de verlener met een beveiligingsniveau als verificatie met één factor en een waarde die is ingesteld op de onderwerpwaarde van uw CA's. Bijvoorbeeld:

    CN = WoodgroveCA

  2. Maak een beleids-OID-regel, waarbij het beveiligingsniveau meervoudige verificatie en de waarde is ingesteld op een van de beleids-OID's in uw certificaat. Bijvoorbeeld 1.2.3.4.

    Schermopname van de beleids-OID-regel.

  3. Maak een beleid voor voorwaardelijke toegang voor de gebruiker om meervoudige verificatie te vereisen door de stappen te volgen in Voorwaardelijke toegang - MFA vereisen.

  4. Navigeer naar hetMyApps-portal. Voer uw UPN in en klik op Volgende.

    Schermopname van de User Principal Name.

  5. Kies Aanmelden met een certificaat.

    Schermopname van aanmelden met certificaat.

    Als u andere verificatiemethoden hebt ingeschakeld, zoals aanmelden via telefoon of FIDO2, zien gebruikers mogelijk een ander aanmeldingsscherm.

    Schermopname van de alternatieve aanmelding.

  6. Kies het clientcertificaat en klik op Certificaatgegevens.

    Schermopname van de clientkiezer.

  7. Het certificaat wordt weergegeven en u kunt de verlener- en beleids-OID-waarden controleren. Schermopname van de verlener.

  8. Als u beleids-OID-waarden wilt zien, klikt u op Details.

    Schermopname van de verificatiedetails.

  9. Kies het clientcertificaat en klik op OK.

  10. De beleids-OID in het certificaat komt overeen met de geconfigureerde waarde 1.2.3.4 en voldoet aan meervoudige verificatie. Op dezelfde manier komt de verlener in het certificaat overeen met de geconfigureerde waarde van CN=WoodgroveCA en voldoet deze aan verificatie met één factor.

  11. Omdat de beleids-OID-regel voorrang heeft op de regel voor verleners, voldoet het certificaat aan meervoudige verificatie.

  12. Het beleid voor voorwaardelijke toegang voor de gebruiker vereist MFA en het certificaat voldoet aan meerdere factoren, zodat de gebruiker wordt geverifieerd in de toepassing.

Azure AD CBA inschakelen met Microsoft Graph API

Voer de volgende stappen uit om CBA in te schakelen en gebruikersnaambindingen te configureren met behulp van Graph API.

Notitie

In de volgende stappen wordt Graph Explorer gebruikt, die niet beschikbaar is in de Cloud van de Amerikaanse overheid. Cloudtenants van de Amerikaanse overheid kunnen Postman gebruiken om de Microsoft Graph-query's te testen.

  1. Ga naar Microsoft Graph Explorer.

  2. Klik op Aanmelden bij Graph Explorer en meld u aan bij uw tenant.

  3. Volg de stappen om toestemming te geven voor de gedelegeerde toestemming Policy.ReadWrite.AuthenticationMethod.

  4. GET all verificatiemethoden:

    GET  https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy
    
  5. GET de configuratie voor de verificatiemethode x509Certificaat:

    GET https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy/authenticationMethodConfigurations/X509Certificate
    
  6. Standaard is de verificatiemethode x509Certificate uitgeschakeld. Als u wilt toestaan dat gebruikers zich met een certificaat kunnen aanmelden, moet u de verificatiemethode inschakelen en het beleid voor verificatie- en gebruikersnaambinding configureren via een updatebewerking. Voer een PATCH-aanvraag uit om het beleid bij te werken.

    Aanvraagtekst:

    PATCH https: //graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/x509Certificate
    Content-Type: application/json
    
    {
        "@odata.type": "#microsoft.graph.x509CertificateAuthenticationMethodConfiguration",
        "id": "X509Certificate",
        "state": "enabled",
        "certificateUserBindings": [
            {
                "x509CertificateField": "PrincipalName",
                "userProperty": "onPremisesUserPrincipalName",
                "priority": 1
            },
            {
                "x509CertificateField": "RFC822Name",
                "userProperty": "userPrincipalName",
                "priority": 2
            }, 
            {
                "x509CertificateField": "PrincipalName",
                "userProperty": "certificateUserIds",
                "priority": 3
            }
        ],
        "authenticationModeConfiguration": {
            "x509CertificateAuthenticationDefaultMode": "x509CertificateSingleFactor",
            "rules": [
                {
                    "x509CertificateRuleType": "issuerSubject",
                    "identifier": "CN=WoodgroveCA ",
                    "x509CertificateAuthenticationMode": "x509CertificateMultiFactor"
                },
                {
                    "x509CertificateRuleType": "policyOID",
                    "identifier": "1.2.3.4",
                    "x509CertificateAuthenticationMode": "x509CertificateMultiFactor"
                }
            ]
        },
        "includeTargets": [
            {
                "targetType": "group",
                "id": "all_users",
                "isRegistrationRequired": false
            }
        ]
    }
    
  7. U krijgt een 204 No content antwoordcode. Voer de GET-aanvraag opnieuw uit om ervoor te zorgen dat het beleid correct wordt bijgewerkt.

  8. Test de configuratie door u aan te melden met een certificaat dat voldoet aan het beleid.

Volgende stappen