Mappa till attributet certificateUserIds i Microsoft Entra ID
Användarobjekt i Microsoft Entra-ID har ett attribut med namnet certificateUserIds.
- Attributet certificateUserIds är flervärdesattribut och kan innehålla upp till 10 värden.
- Varje värde får inte innehålla mer än 1 024 tecken.
- Varje värde måste vara unikt. När ett värde finns på ett användarkonto kan det inte skrivas till något annat användarkonto i samma Microsoft Entra-klientorganisation.
- Värdet behöver inte vara i e-post-ID-format. Attributet certificateUserIds kan lagra icke-utfällbara användarhuvudnamn (UPN) som bob@woodgrove eller bob@local.
Kommentar
Även om varje värde måste vara unikt i Microsoft Entra-ID kan du mappa ett enda certifikat till flera konton genom att implementera flera användarnamnsbindningar. Mer information finns i Flera användarnamnsbindningar.
Mönster som stöds för certifikatanvändares ID:t
Värdena som lagras i certificateUserIds ska vara i det format som beskrivs i följande tabell. Prefixen X509:<Mapping> är skiftlägeskänsliga.
Fält för certifikatmappning | Exempel på värden i certificateUserIds |
---|---|
Huvudnamn | X509:<PN>bob@woodgrove.com |
Huvudnamn | 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 |
Ämne | X509:<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest |
SKIDA | X509:<SKI>aB1cD2eF3gH4iJ5kL6mN7oP8qR |
SHA1PublicKey | X509:<SHA1-PUKEY>cD2eF3gH4iJ5kL6mN7oP8qR9sT |
IssuerAndSerialNumber | X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>eF3gH4iJ5kL6mN7oP8qR9sT0uV Om du vill hämta rätt värde för serienummer kör du det här kommandot och lagrar värdet som visas i certificateUserIds: Syntax: Certutil –dump –v [~certificate path~] >> [~dumpFile path~] Exempel: certutil -dump -v firstusercert.cer >> firstCertDump.txt |
Roller för att uppdatera certificateUserIds
Endast molnanvändare måste ha minst rollen Administratör för privilegierad autentisering för att uppdatera certificateUserIds. Endast molnanvändare kan använda antingen administrationscentret för Microsoft Entra eller Microsoft Graph för att uppdatera certificateUserIds.
Synkroniserade användare måste ha minst rollen Hybrididentitetsadministratör för att kunna uppdatera certificateUserIds. Endast Microsoft Entra Connect kan användas för att uppdatera certificateUserIds genom att synkronisera värdet lokalt.
Kommentar
Active Directory-administratörer kan göra ändringar som påverkar värdet certificateUserIds i Microsoft Entra-ID för alla synkroniserade konton. Administratörer kan inkludera konton med delegerad administrativ behörighet över synkroniserade användarkonton eller administrativa rättigheter över Microsoft Entra Connect-servrarna.
Uppdatera certificateUserIds
Använd följande steg för att uppdatera certificateUserIds för användare:
Logga in på administrationscentret för Microsoft Entra som minst administratör för privilegierad autentisering för användare som endast är molnbaserade eller som minst en hybrididentitetsadministratör för synkroniserade användare.
Sök efter och välj Alla användare.
Klicka på en användare och klicka på Redigera egenskaper.
Klicka på Visa bredvid Auktoriseringsinformation.
Klicka på Redigera certifikatanvändares ID:t.
Klicka på Lägg till.
Ange värdet och klicka på Spara. Du kan lägga till upp till fyra värden, var och en av 120 tecken.
Uppdatera certificateUserIds med Hjälp av Microsoft Graph-frågor
I följande exempel visas hur du använder Microsoft Graph för att söka efter certificateUserIds och uppdatera dem.
Slå upp certificateUserIds
Auktoriserade anropare kan köra Microsoft Graph-frågor för att hitta alla användare med ett visst certificateUserId-värde. I Microsoft Graph-användarobjektet lagras samlingen av certificateUserIds i egenskapen authorizationInfo.
Så här hämtar du certificateUserIds för alla användarobjekt:
GET https://graph.microsoft.com/v1.0/users?$select=authorizationinfo
ConsistencyLevel: eventual
Så här hämtar du certificateUserIds för en viss användare av användarens ObjectId:
GET https://graph.microsoft.com/v1.0/users/{user-object-id}?$select=authorizationinfo
ConsistencyLevel: eventual
Så här hämtar du användarobjektet med ett specifikt värde i 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
Du kan också använda operatorerna not
och startsWith
för att matcha filtervillkoret. Om du vill filtrera mot objektet certificateUserIds måste begäran innehålla frågesträngen $count=true
och rubriken ConsistencyLevel måste vara inställd på eventual
.
Uppdatera certificateUserIds
Kör en PATCH-begäran för att uppdatera certificateUserIds för en viss användare.
Begärandetext
PATCH https://graph.microsoft.com/v1.0/users/{user-object-id}
Content-Type: application/json
{
"authorizationInfo": {
"certificateUserIds": [
"X509:<PN>123456789098765@mil"
]
}
}
Uppdatera certificateUserIds med Hjälp av PowerShell-kommandon
För den här konfigurationen kan du använda Microsoft Graph PowerShell.
Starta PowerShell med administratörsbehörighet.
Installera och importera Microsoft Graph PowerShell SDK.
Install-Module Microsoft.Graph -Scope AllUsers Import-Module Microsoft.Graph.Authentication Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Anslut till klientorganisationen och acceptera alla.
Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
Lista attributet certificateUserIds för en viss användare.
$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
Skapa en variabel med certificateUserIds-värden.
#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>gH4iJ5kL6mN7oP8qR9sT0uV1wX", "X509:<PN>user@contoso.com" ) } }
Uppdatera attributet certificateUserIds.
$results = Invoke-MGGraphRequest -Method patch -Uri 'https://graph.microsoft.com/v1.0/users/<UserId>/?$select=authorizationinfo' -OutputType PSObject -Headers @{'ConsistencyLevel' = 'eventual' } -Body $params
Uppdatera certificateUserIds med hjälp av användarobjekt
Hämta användarobjektet.
$userObjectId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" $user = Get-MgUser -UserId $userObjectId -Property AuthorizationInfo
Uppdatera attributet certificateUserIds för användarobjektet.
$user.AuthorizationInfo.certificateUserIds = @("X509:<SKI>iJ5kL6mN7oP8qR9sT0uV1wX2yZ", "X509:<PN>user1@contoso.com") Update-MgUser -UserId $userObjectId -AuthorizationInfo $user.AuthorizationInfo
Uppdatera certificateUserIds med Microsoft Entra Connect
Microsoft Entra Connect stöder synkronisering av värden till certificateUserIds från en lokalni Active Directory miljö. Lokal Active Directory har stöd för certifikatbaserad autentisering och flera användarnamnsbindningar. Se till att du använder den senaste versionen av Microsoft Entra Connect.
Om du vill använda dessa mappningsmetoder måste du fylla i attributet altSecurityIdentities för användarobjekt i lokalni Active Directory. När du har tillämpat certifikatbaserade autentiseringsändringar på Windows-domänkontrollanter enligt beskrivningen i KB5014754, kan du dessutom ha implementerat några av de icke återanvändbara mappningsmetoderna (Type=strong) för att uppfylla de lokala kraven för tvingande av active directory-certifikatbindning.
Om du vill förhindra synkroniseringsfel kontrollerar du att de värden som synkroniseras följer något av de format som stöds för certificateUserIds.
Innan du börjar kontrollerar du att alla användarkonton som synkroniseras från lokalni Active Directory har:
5 eller färre värden i sina altSecurityIdentitetsattribut
Inget värde med fler än 1 024 tecken
Inga duplicerade värden
Tänk noga på om ett duplicerat värde är avsett att mappa ett enda certifikat till flera lokalni Active Directory konton. Mer information finns i Flera användarnamnsbindningar.
Kommentar
I specifika scenarier kan en delmängd användare ha en giltig affärsmotivering för att mappa ett enda certifikat till mer än en lokalni Active Directory konto. Granska dessa scenarier och implementera separata mappningsmetoder för att mappa till fler än ett konto i både lokalni Active Directory och Microsoft Entra ID.
Överväganden för pågående synkronisering av certificateUserIds
- Se till att etableringsprocessen för att fylla i värdena i lokalni Active Directory implementerar korrekt hygien. Endast värden som är associerade med aktuella giltiga certifikat fylls i.
- Värden tas bort när motsvarande certifikat har upphört att gälla eller återkallats.
- Värden som är större än 1 024 tecken fylls inte i.
- Dubblettvärden etableras inte.
- Använd Microsoft Entra Connect Health för att övervaka synkroniseringen.
Följ dessa steg för att konfigurera Microsoft Entra Connect för att synkronisera userPrincipalName med certificateUserIds:
På Microsoft Entra Connect-servern letar du upp och startar redigeraren för synkroniseringsregler.
Klicka på Riktning och sedan på Utgående.
Hitta regeln Ut till Microsoft Entra-ID – Användaridentitet, klicka på Redigera och klicka på Ja för att bekräfta.
Ange ett högt tal i fältet Prioritet och klicka sedan på Nästa.
Klicka på Transformeringar>Lägg till transformering. Du kan behöva rulla ned i listan över transformeringar innan du kan skapa en ny.
Synkronisera X509:<PN>PrincipalNameValue
Om du vill synkronisera X509:<PN>PrincipalNameValue skapar du en regel för utgående synkronisering och väljer Uttryck i flödestypen. Välj målattributet som certificateUserIds och lägg till följande uttryck i källfältet. Om källattributet inte är userPrincipalName kan du ändra uttrycket i enlighet med detta.
"X509:<PN>"&[userPrincipalName]
Synkronisera X509:<RFC822>RFC822Name
Om du vill synkronisera X509:<RFC822>RFC822Name skapar du en regel för utgående synkronisering och väljer Uttryck i flödestypen. Välj målattributet som certificateUserIds och lägg till följande uttryck i källfältet. Om källattributet inte är userPrincipalName kan du ändra uttrycket i enlighet med detta.
"X509:<RFC822>"&[userPrincipalName]
Klicka på Målattribut, välj certificateUserIds, klicka på Källa, välj userPrincipalName och klicka sedan på Spara.
Bekräfta genom att klicka på OK .
Viktigt!
I föregående exempel används attributet userPrincipalName som ett källattribut i transformeringsregeln. Du kan använda alla tillgängliga attribut med lämpligt värde. Vissa organisationer använder till exempel e-postattributet. Mer komplexa transformeringsregler finns i Microsoft Entra Connect Sync: Förstå deklarativa etableringsuttryck
Mer information om deklarativa etableringsuttryck finns i Microsoft Entra Connect: Deklarativa etableringsuttryck.
Synkronisera attributet altSecurityIdentities från Active Directory till Microsoft Entra certificateUserIds
Attributet altSecurityIdentities ingår inte i standardattributuppsättningen. En administratör måste lägga till ett nytt attribut till personobjektet i Metaversum och sedan skapa lämpliga synkroniseringsregler för att vidarebefordra dessa data till certificateUserIds i Microsoft Entra-ID.
Öppna Metaverse Designer och välj personobjektet. Om du vill skapa attributet alternativeSecurityId klickar du på Nytt attribut. Välj Sträng (kan inte indexeras) för att skapa en attributstorlek på upp till 1 024 tecken, vilket är den maximala längd som stöds för certificateUserIds. Om du väljer Sträng (indexerbar)är den maximala storleken för ett attributvärde 448 tecken. Se till att du väljer Flervärdesvärde.
Öppna Metaverse Designer och välj alternativeSecurityId för att lägga till det i personobjektet.
Skapa en regel för inkommande synkronisering för att omvandla från altSecurityIdentiteter till attributet alternativeSecurityId.
Använd följande alternativ i regeln för inkommande trafik.
Alternativ Värde Name Beskrivande namn på regeln, till exempel: I från Active Directory – altSecurityIdentiteter Anslutet system Din lokalni Active Directory domän Typ av anslutet systemobjekt användare Objekttyp för metaversum person Prioritet Välj ett tal under 100 som för närvarande inte används Klicka sedan på Transformeringar och skapa en direktmappning till målattributet alternativeSecurityId från källattributet altSecurityIdentiteter, enligt följande skärmbild.
Skapa en regel för utgående synkronisering för att transformera från attributet alternativeSecurityId till attributet certificateUserIds i Microsoft Entra ID.
Alternativ Värde Name Beskrivande namn på regeln, till exempel: Ut till Microsoft Entra ID – certificateUserIds Anslutet system Din Microsoft Entra-domän Typ av anslutet systemobjekt användare Objekttyp för metaversum person Prioritet Välj ett högt tal som för närvarande inte används framför alla standardregler, till exempel 150 Klicka sedan på Transformeringar och skapa en direktmappning till målattributet certificateUserIds från källattributet alternativeSecurityId, som du ser i följande skärmbild.
Kör synkroniseringen för att fylla i data till attributet certificateUserIds.
Om du vill verifiera att det har lyckats kan du visa auktoriseringsinformationen för en användare i Microsoft Entra-ID.
Om du vill mappa en delmängd av värden från attributet altSecurityIdentities ersätter du transformering i steg 4 med ett uttryck. Om du vill använda ett uttryck fortsätter du till fliken Transformeringar och ändrar alternativet FlowType till Uttryck, målattributet till certificateUserIds och anger sedan uttrycket i fältet Källa. I följande exempel filtreras endast värden som överensstämmer med mappningsfälten SKI och SHA1PublicKey-certifikat:
Uttryckskod:
IIF(IsPresent([alternativeSecurityId]),
Where($item,[alternativeSecurityId],BitOr(InStr($item, "X509:<SKI>"),InStr($item, "X509:<SHA1-PUKEY>"))>0),[alternativeSecurityId]
)
Administratörer kan filtrera värden från altSecurityIdentiteter som överensstämmer med de mönster som stöds. Se till att CBA-konfigurationen har uppdaterats för att stödja de användarnamnsbindningar som synkroniseras med certificateUserIds för att aktivera autentisering med hjälp av dessa värden.
Nästa steg
- Översikt över Microsoft Entra CBA
- Teknisk djupdykning för Microsoft Entra CBA
- Så här konfigurerar du Microsoft Entra CBA
- Microsoft Entra CBA på iOS-enheter
- Microsoft Entra CBA på Android-enheter
- Inloggning med Windows-smartkort med Microsoft Entra CBA
- Så här migrerar du federerade användare
- Vanliga frågor och svar