Toewijzing aan het kenmerk certificateUserIds in Microsoft Entra ID

Gebruikersobjecten in Microsoft Entra-id hebben een kenmerk met de naam certificateUserIds.

  • Het kenmerk certificateUserIds is multivalued en kan maximaal 5 waarden bevatten.
  • Elke waarde mag niet langer zijn dan 1024 tekens.
  • Elke waarde moet uniek zijn. Zodra een waarde aanwezig is in één gebruikersaccount, kan deze niet worden weggeschreven naar een ander gebruikersaccount in dezelfde Entra ID-tenant.
  • De waarde hoeft niet de indeling van de e-mail-id te hebben. Het kenmerk certificateUserIds kan niet-routable user principal names (UPN's) opslaan, zoals bob@woodgrove of bob@local.

Notitie

Hoewel elke waarde uniek moet zijn in Entra-id, kunt u één certificaat toewijzen aan meerdere accounts door meerdere gebruikersnaambindingen te implementeren. Zie Meerdere gebruikersnaambindingen voor meer informatie.

Ondersteunde patronen voor certificaatgebruikers-id's

De waarden die zijn opgeslagen in certificateUserIds, moeten de indeling hebben die wordt beschreven in de volgende tabel. De X509:<Toewijzingsvoorvoegsels> zijn hoofdlettergevoelig.

Veld voor certificaattoewijzing Voorbeelden van waarden in certificateUserIds
Primaire naam X509:<PN>bob@woodgrove.com
Primaire naam X509:<PN>bob@woodgrove
RFC822Name X509:<RFC822>user@woodgrove.com
IssuerAndSubject X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest
Onderwerp X509:<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest
SKI X509:<SKI>123456789abcdef
SHA1PublicKey X509:<SHA1-PUKEY>123456789abcdef
IssuerAndSerialNumber X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>b24134139f069b49997212a86ba0ef48
Als u de juiste waarde voor serienummer wilt ophalen, voert u deze opdracht uit en slaat u de waarde op die wordt weergegeven in certificateUserIds:
Syntaxis:
Certutil –dump –v [~certificate path~] >> [~dumpFile path~]
Voorbeeld:
certutil -dump -v firstusercert.cer >> firstCertDump.txt

Rollen voor het bijwerken van certificateUserIds

Cloudgebruikers moeten ten minste de rol Privileged Authentication Beheer istrator hebben om certificateUserIds bij te werken. Cloudgebruikers kunnen het Microsoft Entra-beheercentrum of Microsoft Graph gebruiken om certificateUserIds bij te werken.

Gesynchroniseerde gebruikers moeten ten minste de rol Hybrid Identity Beheer istrator hebben om certificateUserIds bij te werken. Alleen Microsoft Entra Verbinding maken kan worden gebruikt om certificateUserIds bij te werken door de waarde van on-premises te synchroniseren.

Notitie

Active Directory-beheerders kunnen wijzigingen aanbrengen die van invloed zijn op de waarde certificateUserIds in Microsoft Entra ID voor elk gesynchroniseerd account. Beheer istrators kunnen accounts met gedelegeerde beheerdersbevoegdheden bevatten ten opzichte van gesynchroniseerde gebruikersaccounts of beheerdersrechten via de Microsoft Entra Verbinding maken-servers.

CertificateUserIds bijwerken

Gebruik de volgende stappen om certificateUserIds voor gebruikers bij te werken:

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een bevoegde verificatie Beheer istrator voor gebruikers in de cloud of als ten minste een hybride identiteit Beheer istrator voor gesynchroniseerde gebruikers.

  2. Zoek en selecteer Alle gebruikers.

    Schermopname van het testgebruikersaccount.

  3. Klik op een gebruiker en klik op Eigenschappen bewerken.

  4. Klik naast autorisatiegegevens op Weergeven.

    Schermopname van Autorisatiegegevens weergeven.

  5. Klik op Certificaatgebruikers-id's bewerken.

    Schermopname van certificaatgebruikers-id's bewerken.

  6. Klik op Toevoegen.

    Schermopname van het toevoegen van een certificateUserIds.

  7. Voer de waarde in en klik op Opslaan. U kunt maximaal vier waarden optellen, elk van 120 tekens.

    Schermopname van een waarde die moet worden ingevoerd voor certificateUserIds.

CertificateUserIds bijwerken met behulp van Microsoft Graph-query's

In de volgende voorbeelden ziet u hoe u Microsoft Graph gebruikt om certificateUserIds op te zoeken en bij te werken.

CertificateUserIds opzoeken

Geautoriseerde bellers kunnen Microsoft Graph-query's uitvoeren om alle gebruikers met een bepaalde certificateUserId-waarde te vinden. In het Microsoft Graph-gebruikersobject wordt de verzameling certificateUserIds opgeslagen in de eigenschap authorizationInfo.

CertificateUserIds van alle gebruikersobjecten ophalen:

GET https://graph.microsoft.com/v1.0/users?$select=authorizationinfo
ConsistencyLevel: eventual

CertificateUserIds ophalen voor een bepaalde gebruiker door de ObjectId van de gebruiker:

GET https://graph.microsoft.com/v1.0/users/{user-object-id}?$select=authorizationinfo
ConsistencyLevel: eventual

Het gebruikersobject ophalen met een specifieke waarde in certificateUserIds:

GET https://graph.microsoft.com/v1.0/users?$select=authorizationinfo&$filter=authorizationInfo/certificateUserIds/any(x:x eq 'X509:<PN>user@contoso.com')&$count=true
ConsistencyLevel: eventual

U kunt de operatoren en startsWith de not filtervoorwaarde ook gebruiken om aan de filtervoorwaarde te voldoen. Als u wilt filteren op het object certificateUserIds, moet de aanvraag de $count=true querytekenreeks bevatten en moet de header ConsistencyLevel worden ingesteld op eventual.

CertificateUserIds bijwerken

Voer een PATCH-aanvraag uit om de certificateUserIds voor een bepaalde gebruiker bij te werken.

Aanvraagtekst

PATCH https://graph.microsoft.com/v1.0/users/{user-object-id}
Content-Type: application/json
{
    "authorizationInfo": {
        "certificateUserIds": [
            "X509:<PN>123456789098765@mil"
        ]
    }
}

CertificateUserIds bijwerken met behulp van PowerShell-opdrachten

Voor deze configuratie kunt u Microsoft Graph PowerShell gebruiken.

  1. Start PowerShell met beheerdersbevoegdheden.

  2. Installeer en importeer de Microsoft Graph PowerShell SDK.

        Install-Module Microsoft.Graph -Scope AllUsers
        Import-Module Microsoft.Graph.Authentication
        Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  3. Verbinding maken aan de tenant en accepteer alles.

       Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
    
  4. List certificateUserIds attribute of a given user.

      $results = Invoke-MGGraphRequest -Method get -Uri 'https://graph.microsoft.com/v1.0/users/<userId>?$select=authorizationinfo' -OutputType PSObject -Headers @{'ConsistencyLevel' = 'eventual' }
      #list certificateUserIds
      $results.authorizationInfo
    
  5. Maak een variabele met certificateUserIds-waarden.

      #Create a new variable to prepare the change. Ensure that you list any existing values you want to keep as this operation will overwrite the existing value
      $params = @{
            authorizationInfo = @{
                  certificateUserIds = @(
                  "X509:<SKI>eec6b88788d2770a01e01775ce71f1125cd6ad0f", 
                  "X509:<PN>user@contoso.com"
                  )
            }
      }
    
  6. Werk het kenmerk certificateUserIds bij.

       $results = Invoke-MGGraphRequest -Method patch -Uri 'https://graph.microsoft.com/v1.0/users/<UserId>/?$select=authorizationinfo' -OutputType PSObject -Headers @{'ConsistencyLevel' = 'eventual' } -Body $params
    

CertificateUserIds bijwerken met behulp van gebruikersobject

  1. Haal het gebruikersobject op.

      $userObjectId = "6b2d3bd3-b078-4f46-ac53-f862f35e10b6"
      $user = Get-MgUser -UserId $userObjectId -Property AuthorizationInfo
    
  2. Werk het kenmerk certificateUserIds van het gebruikersobject bij.

       $user.AuthorizationInfo.certificateUserIds = @("X509:<SKI>eec6b88788d2770a01e01775ce71f1125cd6ad0f", "X509:<PN>user1@contoso.com") 
       Update-MgUser -UserId $userObjectId -AuthorizationInfo $user.AuthorizationInfo
    

CertificateUserIds bijwerken met Microsoft Entra Verbinding maken

Microsoft Entra connect ondersteunt het synchroniseren van waarden met certificateUserIds vanuit een on-premises Active Directory-omgeving. On-premises Active Directory ondersteunt verificatie op basis van certificaten en meerdere gebruikersnaambindingen. Zorg ervoor dat u de nieuwste versie van Microsoft Entra Verbinding maken gebruikt.

Als u deze toewijzingsmethoden wilt gebruiken, moet u het kenmerk altSecurityIdentities van gebruikersobjecten in de on-premises Active Directory invullen. Nadat u verificatiewijzigingen op basis van certificaten hebt toegepast op Windows-domeincontrollers, zoals beschreven in KB5014754, hebt u mogelijk enkele niet-herbruikbare toewijzingsmethoden (Type=strong) geïmplementeerd om te voldoen aan de vereisten voor het afdwingen van sterke certificaten voor on-premises Active Directory.

Als u synchronisatiefouten wilt voorkomen, moet u ervoor zorgen dat de waarden die worden gesynchroniseerd een van de ondersteunde indelingen voor de certificateUserIds volgen.

Voordat u begint, moet u ervoor zorgen dat alle gebruikersaccounts die vanuit on-premises Active Directory worden gesynchroniseerd:

  • 5 of minder waarden in de kenmerken van hun altSecurityId-entiteiten

  • Geen waarde met meer dan 1024 tekens

  • Geen dubbele waarden

    Overweeg zorgvuldig of een dubbele waarde is bedoeld om één certificaat toe te wijzen aan meerdere on-premises Active Directory-accounts. Zie Meerdere gebruikersnaambindingen voor meer informatie.

    Notitie

    In specifieke scenario's kan een subset van gebruikers een geldige zakelijke reden hebben om één certificaat toe te wijzen aan meer dan één on-premises Active Directory-account. Bekijk deze scenario's en implementeer waar nodig afzonderlijke toewijzingsmethoden om toe te wijzen aan meer dan één account in zowel de on-premises Active Directory als de Entra-id.

Overwegingen voor continue synchronisatie van certificateUserIds

  • Zorg ervoor dat het inrichtingsproces voor het invullen van de waarden in on-premises Active Directory de juiste hygiëne implementeert. Alleen waarden die zijn gekoppeld aan huidige geldige certificaten, worden ingevuld.
  • Waarden worden verwijderd wanneer het bijbehorende certificaat is verlopen of ingetrokken.
  • Waarden die groter zijn dan 1024 tekens, worden niet ingevuld.
  • Dubbele waarden worden niet ingericht.
  • Gebruik Microsoft Entra Verbinding maken Health om synchronisatie te controleren.

Volg deze stappen om Microsoft Entra-Verbinding maken te configureren om userPrincipalName te synchroniseren met certificateUserIds:

  1. Zoek en start op de Microsoft Entra Verbinding maken-server de editor voor synchronisatieregels.

  2. Klik op Richting en klik op Uitgaand.

    Schermopname van regel voor uitgaande synchronisatie.

  3. Zoek de regel naar Microsoft Entra ID – Gebruikersidentiteit, klik op Bewerken en klik op Ja om te bevestigen.

    Schermopname van de gebruikersidentiteit.

  4. Voer een hoog getal in het veld Prioriteit in en klik vervolgens op Volgende.

    Schermopname van een prioriteitswaarde.

  5. Klik op Transformaties>toevoegen transformatie. Mogelijk moet u omlaag schuiven in de lijst met transformaties voordat u een nieuwe kunt maken.

X509:<PN>PrincipalNameValue synchroniseren

Als u X509:<PN>PrincipalNameValue wilt synchroniseren, maakt u een regel voor uitgaande synchronisatie en kiest u Expressie in het stroomtype. Kies het doelkenmerk als certificateUserIds en voeg in het bronveld de volgende expressie toe. Als uw bronkenmerk niet userPrincipalName is, kunt u de expressie dienovereenkomstig wijzigen.

"X509:<PN>"&[userPrincipalName]

Schermopname van het synchroniseren van x509.

X509:<RFC822>RFC822Name synchroniseren

Als u X509:<RFC822>RFC822Name wilt synchroniseren, maakt u een regel voor uitgaande synchronisatie en kiest u Expressie in het stroomtype. Kies het doelkenmerk als certificateUserIds en voeg in het bronveld de volgende expressie toe. Als uw bronkenmerk niet userPrincipalName is, kunt u de expressie dienovereenkomstig wijzigen.

"X509:<RFC822>"&[userPrincipalName]

Schermopname van het synchroniseren van RFC822Name.

  1. Klik op Doelkenmerk, selecteer certificateUserIds, klik op Bron, selecteer userPrincipalName en klik vervolgens op Opslaan.

    Schermopname van het opslaan van een regel.

  2. Klik op OK om te bevestigen.

Belangrijk

In de voorgaande voorbeelden wordt userPrincipalName atribute gebruikt als bronkenmerk in de transformatieregel. U kunt elk beschikbaar kenmerk met de juiste waarde gebruiken. Sommige organisaties gebruiken bijvoorbeeld het e-mailkenmerk. Zie Microsoft Entra Verbinding maken Sync voor complexere transformatieregels: Informatie over declaratieve inrichtingsexpressies

Zie Microsoft Entra Verbinding maken: declaratieve inrichtingsexpressies voor meer informatie over declaratieve inrichtingsexpressies.

Het kenmerk altSecurityIdentities van Active Directory synchroniseren met Microsoft Entra ID certificateUserIds

Het kenmerk altSecurityIdentities maakt geen deel uit van de standaardkenmerkenset. Een beheerder moet een nieuw kenmerk toevoegen aan het persoonsobject in de Metaverse en vervolgens de juiste synchronisatieregels maken om deze gegevens door te sturen naar certificateUserIds in Entra-id.

  1. Open Metaverse Designer en selecteer het persoonsobject. Als u het kenmerk alternativeSecurityId wilt maken, klikt u op Nieuw kenmerk. Selecteer Tekenreeks (niet-indexeerbaar) om een kenmerkgrootte van maximaal 1024 tekens te maken. Dit is de maximale ondersteunde lengte voor certificateUserIds. Als u Tekenreeks (indexeerbaar) selecteert, is de maximale grootte van een kenmerkwaarde 448 tekens. Zorg ervoor dat u Meerdere waarden selecteert.

    Schermopname van het maken van een nieuw kenmerk.

  2. Open Metaverse Designer en selecteer alternativeSecurityId om deze toe te voegen aan het persoonsobject.

    Schermopname van het toevoegen van alternativeSecurityId aan het persoonsobject.

  3. Maak een regel voor binnenkomende synchronisatie om te transformeren van altSecurityId-entiteiten naar het kenmerk alternativeSecurityId.

    Gebruik de volgende opties in de regel voor inkomend verkeer.

    Optie Weergegeven als
    Naam Beschrijvende naam van de regel, zoals: In vanuit Active Directory - altSecurityIdentities
    Verbinding maken ed System Uw on-premises Active Directory-domein
    Verbinding maken ed systeemobjecttype Gebruiker
    Metaverse-objecttype persoon
    Prioriteit Kies een getal onder de 100 dat momenteel niet wordt gebruikt

    Klik vervolgens op Transformaties en maak een directe toewijzing aan het doelkenmerk alternativeSecurityId op basis van de altSecurityId-entiteiten van het bronkenmerk, zoals wordt weergegeven in de volgende schermopname.

    Schermopname van het transformeren van altSecurityId-entiteiten naar het kenmerk alternateSecurityId.

  4. Maak een uitgaande synchronisatieregel om te transformeren van het kenmerk alternativeSecurityId naar het kenmerk certificateUserIds in Entra ID.

    Optie Weergegeven als
    Naam Beschrijvende naam van de regel, zoals: Out to Microsoft Entra ID - certificateUserIds
    Verbinding maken ed System Uw Microsoft Entra-domein
    Verbinding maken ed systeemobjecttype Gebruiker
    Metaverse-objecttype persoon
    Prioriteit Kies een hoog getal dat momenteel niet wordt gebruikt boven alle standaardregels, zoals 150

    Klik vervolgens op Transformaties en maak een directe toewijzing aan het doelkenmerk certificateUserIds van het bronkenmerk alternativeSecurityId, zoals wordt weergegeven in de volgende schermopname.

    Schermopname van de regel voor uitgaande synchronisatie om te transformeren van het kenmerk alternateSecurityId naar certificateUserIds.

  5. Voer de synchronisatie uit om gegevens te vullen met het kenmerk certificateUserIds.

  6. Bekijk de autorisatiegegevens van een gebruiker in Entra-id om te controleren of deze is geslaagd.

    Schermopname van geslaagde synchronisatie.

Als u een subset met waarden wilt toewijzen van het kenmerk altSecurityIdentities, vervangt u de transformatie in stap 4 door een expressie. Als u een expressie wilt gebruiken, gaat u naar het tabblad Transformaties en wijzigt u de optie FlowType in Expressie, het doelkenmerk in certificateUserIds en voert u de expressie vervolgens in het veld Bron in. In het volgende voorbeeld worden alleen waarden gefilterd die zijn uitgelijnd op de velden SKI- en SHA1PublicKey-certificaattoewijzing:

Schermopname van een expressie.

Expressiecode:

IIF(IsPresent([alternativeSecurityId]),
                Where($item,[alternativeSecurityId],BitOr(InStr($item, "X509:<SKI>"),InStr($item, "X509:<SHA1-PUKEY>"))>0),[alternativeSecurityId]
)

Beheer istrators kunnen waarden filteren van altSecurityId-entiteiten die overeenkomen met de ondersteunde patronen. Zorg ervoor dat de CBA-configuratie is bijgewerkt ter ondersteuning van de gebruikersnaambindingen die worden gesynchroniseerd met certificateUserIds om verificatie met behulp van deze waarden in te schakelen.

Volgende stappen