Mapowanie na atrybut certificateUserIds w identyfikatorze Entra firmy Microsoft
Obiekty użytkownika w identyfikatorze Entra firmy Microsoft mają atrybut o nazwie certificateUserIds.
- Atrybut certificateUserIds jest wielowartościowy i może przechowywać maksymalnie 10 wartości.
- Każda wartość nie może zawierać więcej niż 1024 znaków.
- Każda wartość musi być unikatowa. Gdy wartość jest zapisana na jednym koncie użytkownika, nie można jej zapisać na żadnym innym koncie użytkownika w tej samej dzierżawie Microsoft Entra.
- Wartość nie musi być w formacie identyfikatora poczty e-mail. Atrybut certificateUserIds może przechowywać nieroutowalne nazwy główne użytkowników (UPN), takie jak bob@woodgrove lub bob@local.
Uwaga
Mimo że każda wartość musi być unikatowa w identyfikatorze Entra firmy Microsoft, można mapować jeden certyfikat na wiele kont, implementując wiele powiązań nazw użytkowników. Aby uzyskać więcej informacji, zobacz Powiązania nazw użytkowników.
Obsługiwane wzorce dla identyfikatorów użytkowników certyfikatów
Wartości przechowywane w identyfikatorach certificateUserId powinny być w formacie opisanym w poniższej tabeli. Prefiksy X509:<Mapowanie> są uwzględniane w wielkości liter.
Pole mapowania certyfikatu | Przykłady wartości w identyfikatorach użytkowników certyfikatów |
---|---|
NazwaGłówna | X509:<PN>bob@woodgrove.com |
NazwaGłówna | X509:<PN>bob@woodgrove |
RFC822Name | X509:<RFC822>user@woodgrove.com |
WydawcaIOsobisty | X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest |
Temat | X509:<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest |
NARTA | X509:<SKI>aB1cD2eF3gH4iJ5kL6mN7oP8qR |
SHA1PublicKey | X509:<SHA1-PUKEY>cD2eF3gH4iJ5kL6mN7oP8qR9sT |
IssuerAndSerialNumber | X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>eF3gH4iJ5kL6mN7oP8qR9sT0uV Aby uzyskać poprawną wartość numeru seryjnego, uruchom to polecenie i zapisz wartość wyświetlaną w certificateUserIds: Składnia: Certutil –dump –v [~certificate path~] >> [~dumpFile path~] Przykład: certutil -dump -v firstusercert.cer >> firstCertDump.txt |
Role do aktualizacji certificateUserIds
Użytkownicy korzystający tylko z chmury muszą mieć co najmniej rolę administratora uwierzytelniania uprzywilejowanego, aby zaktualizować identyfikatory certificateUserId. Użytkownicy tylko w chmurze mogą używać centrum administracyjnego firmy Microsoft Entra lub programu Microsoft Graph do aktualizowania identyfikatorów certificateUserId.
Zsynchronizowani użytkownicy muszą mieć co najmniej rolę administratora tożsamości hybrydowej, aby zaktualizować certificateUserIds. Tylko program Microsoft Entra Connect może służyć do aktualizowania identyfikatorów certificateUserId przez zsynchronizowanie wartości ze środowiska lokalnego.
Uwaga
Administratorzy usługi Active Directory mogą wprowadzać zmiany wpływające na wartość certificateUserIds w identyfikatorze Entra firmy Microsoft dla dowolnego zsynchronizowanego konta. Administratorzy mogą dołączać konta z delegowanymi uprawnieniami administracyjnymi do synchronizowanych kont użytkowników lub uprawnieniami administracyjnymi na serwerach Microsoft Entra Connect.
Zaktualizuj identyfikatory użytkowników certyfikatu
Wykonaj następujące kroki, aby zaktualizować identyfikatory certificateUserId dla użytkowników:
Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej administrator uwierzytelniania uprzywilejowanego dla użytkowników korzystających tylko z chmury lub co najmniej jako administrator tożsamości hybrydowej dla zsynchronizowanych użytkowników.
Wyszukaj i wybierz Wszyscy użytkownicy.
Wybierz użytkownika, a następnie kliknij na Edytuj właściwości.
Obok informacji o autoryzacji wybierz Widok.
Wybierz Edytuj ID użytkowników certyfikatu.
Wybierz pozycję Dodaj.
Wprowadź wartość i wybierz przycisk Zapisz. Można dodać maksymalnie cztery wartości, każdy z 120 znaków.
Aktualizowanie identyfikatorów certificateUserId przy użyciu zapytań programu Microsoft Graph
W poniższych przykładach pokazano, jak za pomocą programu Microsoft Graph wyszukać identyfikatory certificateUserId i zaktualizować je.
Wyszukaj identyfikatory użytkowników certyfikatów
Autoryzowane osoby wywołujące mogą uruchamiać zapytania programu Microsoft Graph, aby znaleźć wszystkich użytkowników z daną wartością certificateUserId. W obiekcie użytkownika programu Microsoft Graph kolekcja certificateUserIds jest przechowywana we właściwości authorizationInfo.
Aby pobrać identyfikatory certificateUserId wszystkich obiektów użytkownika:
GET https://graph.microsoft.com/v1.0/users?$select=authorizationinfo
ConsistencyLevel: eventual
Aby pobrać identyfikatory certificateUserId dla danego użytkownika według identyfikatora ObjectId użytkownika:
GET https://graph.microsoft.com/v1.0/users/{user-object-id}?$select=authorizationinfo
ConsistencyLevel: eventual
Aby pobrać obiekt użytkownika z określoną wartością w 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
Można również użyć operatorów not
oraz startsWith
, aby dopasować warunek filtru. pl-PL: Aby filtrować względem obiektu certificateUserIds, żądanie musi zawierać $count=true
ciąg zapytania, a nagłówek ConsistencyLevel musi być ustawiony na eventual
.
Aktualizuj identyfikatory użytkownika certyfikatu
Uruchom żądanie PATCH, aby zaktualizować identyfikatory certificateUserId dla danego użytkownika.
Treść żądania
PATCH https://graph.microsoft.com/v1.0/users/{user-object-id}
Content-Type: application/json
{
"authorizationInfo": {
"certificateUserIds": [
"X509:<PN>123456789098765@mil"
]
}
}
Aktualizowanie identyfikatorów certificateUserId przy użyciu poleceń programu PowerShell
W przypadku tej konfiguracji można użyć programu Microsoft Graph PowerShell.
Uruchom program PowerShell z uprawnieniami administratora.
Zainstaluj i zaimportuj zestaw MICROSOFT Graph PowerShell SDK.
Install-Module Microsoft.Graph -Scope AllUsers Import-Module Microsoft.Graph.Authentication Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Połącz się z najemcą i zaakceptuj wszystko.
Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
Wyświetl atrybut certificateUserIds danego użytkownika.
$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
Utwórz zmienną z wartościami certificateUserIds.
#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" ) } }
Zaktualizuj atrybut certificateUserIds.
$results = Invoke-MGGraphRequest -Method patch -Uri 'https://graph.microsoft.com/v1.0/users/<UserId>/?$select=authorizationinfo' -OutputType PSObject -Headers @{'ConsistencyLevel' = 'eventual' } -Body $params
Aktualizowanie identyfikatorów certificateUserId za pomocą obiektu użytkownika
Pobierz obiekt użytkownika.
$userObjectId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" $user = Get-MgUser -UserId $userObjectId -Property AuthorizationInfo
Zaktualizuj atrybut certificateUserIds obiektu użytkownika.
$user.AuthorizationInfo.certificateUserIds = @("X509:<SKI>iJ5kL6mN7oP8qR9sT0uV1wX2yZ", "X509:<PN>user1@contoso.com") Update-MgUser -UserId $userObjectId -AuthorizationInfo $user.AuthorizationInfo
Aktualizowanie identyfikatorów certificateUserId przy użyciu programu Microsoft Entra Connect
Program Microsoft Entra Connect obsługuje synchronizowanie wartości z identyfikatorami certificateUserIds z lokalnego środowiska Active Directory. Lokalna usługa Active Directory obsługuje uwierzytelnianie oparte na certyfikatach i wiele powiązań nazw użytkowników. Upewnij się, że używasz najnowszej wersji programu Microsoft Entra Connect.
Aby użyć tych metod mapowania, należy wypełnić atrybut altSecurityIdentities obiektów użytkowników w lokalnym Active Directory. Ponadto, po zastosowaniu zmian uwierzytelniania opartych na certyfikatach na kontrolerach domeny systemu Windows zgodnie z opisem w KB5014754, można zaimplementować niektóre niewielokrotnego użytku metody mapowania (Type=strong), aby spełnić lokalne wymagania dotyczące wymuszania silnego powiązania certyfikatu w usłudze Active Directory.
Aby zapobiec błędom synchronizacji, upewnij się, że synchronizowane wartości są zgodne z jednym z obsługiwanych formatów dla identyfikatorów certificateUserId.
Przed rozpoczęciem upewnij się, że wszystkie konta użytkowników zsynchronizowane z lokalna usługa Active Directory mają następujące elementy:
5 lub mniej wartości w atrybutach altSecurityIdentities
Brak wartości z więcej niż 1024 znakami
Brak zduplikowanych wartości
Należy dokładnie rozważyć, czy zduplikowana wartość ma na celu mapowanie pojedynczego certyfikatu na wiele kont w lokalnej domenie Active Directory. Aby uzyskać więcej informacji, zobacz Powiązania wielu nazw użytkowników.
Uwaga
W określonych scenariuszach podzbiór użytkowników może mieć prawidłowe uzasadnienie biznesowe do przypisania pojedynczego certyfikatu do więcej niż jednego lokalnego konta usługi Active Directory. Przeanalizuj te scenariusze i w razie potrzeby zaimplementuj oddzielne metody mapowania, aby zamapować na więcej niż jedno konto zarówno w Lokalnym Active Directory, jak i Microsoft Entra ID.
Zagadnienia dotyczące ciągłej synchronizacji identyfikatorów certificateUserId
- Upewnij się, że proces wdrażania wartości w lokalnej usłudze Active Directory implementuje właściwą higienę. Wypełniane są tylko wartości skojarzone z bieżącymi prawidłowymi certyfikatami.
- Wartości są usuwane po wygaśnięciu lub odwołaniu odpowiedniego certyfikatu.
- Wartości większe niż 1024 znaki nie są wypełniane.
- Zduplikowane wartości nie są uwzględniane.
- Monitorowanie synchronizacji za pomocą programu Microsoft Entra Connect Health.
Wykonaj następujące kroki, aby skonfigurować program Microsoft Entra Connect w celu zsynchronizowania parametru userPrincipalName z identyfikatorami certificateUserId:
Na serwerze Microsoft Entra Connect znajdź i uruchom Edytor reguł synchronizacji.
Wybierz pozycję Directioni wybierz pozycję Wychodzący.
Znajdź regułę Wychodząca do Microsoft Entra ID – Tożsamość użytkownika, wybierz pozycję Edytuj i wybierz Tak, aby potwierdzić.
Wprowadź dużą liczbę w polu pierwszeństwa, a następnie wybierz Dalej.
Wybierz Przekształcenia,>Dodaj przekształcenie. Zanim będzie można utworzyć nowy, może być konieczne przewinięcie w dół listy przekształceń.
Synchronizowanie wartości X509:<PN>"PrincipalNameValue"
Aby zsynchronizować wartość X509:<PN>PrincipalNameValue, utwórz regułę synchronizacji wychodzącej i wybierz Wyrażenie w typie przepływu. Wybierz atrybut docelowy jako certificateUserIds, a w polu źródłowym dodaj następujące wyrażenie. Jeśli atrybut źródłowy nie jest userPrincipalName, możesz odpowiednio zmienić wyrażenie.
"X509:<PN>"&[userPrincipalName]
Synchronizuj X509:<RFC822>RFC822Name
Aby zsynchronizować X509:<RFC822>RFC822Name, utwórz regułę synchronizacji wychodzącej i wybierz pozycję Wyrażenie jako typ przepływu. Wybierz atrybut docelowy jako certificateUserIds, a w polu źródłowym dodaj następujące wyrażenie. Jeśli atrybut źródłowy nie jest userPrincipalName, możesz odpowiednio zmienić wyrażenie.
"X509:<RFC822>"&[userPrincipalName]
Wybierz atrybut docelowy, wybierz certificateUserIds, wybierz Źródło, wybierz userPrincipalName, a następnie wybierz Zapisz.
Wybierz pozycję OK, aby potwierdzić.
Ważne
Powyższe przykłady używają atrybutu userPrincipalName jako atrybutu źródłowego w regule przekształcania. Możesz użyć dowolnego dostępnego atrybutu z odpowiednią wartością. Na przykład niektóre organizacje używają atrybutu poczty. Aby uzyskać bardziej złożone reguły przekształcania, zobacz Microsoft Entra Connect Sync: Understanding Declarative Provisioning Expressions (Synchronizacja programu Microsoft Entra Connect: Opis wyrażeń aprowizacji deklaratywnej)
Aby uzyskać więcej informacji na temat wyrażeń aprowizacji deklaratywnej, zobacz Microsoft Entra Connect: Deklaratywne wyrażenia aprowizacji.
Synchronizowanie atrybutu altSecurityIdentities z usługi Active Directory do identyfikatorów certificateUserIds w Microsoft Entra
Atrybut altSecurityIdentities nie jest częścią domyślnego zestawu atrybutów. Administrator musi dodać nowy atrybut do obiektu osoby w Metaverse, a następnie utworzyć odpowiednie reguły synchronizacji, aby przekazać te informacje do identyfikatorów certificateUserIds w usłudze Microsoft Entra ID.
Otwórz projektanta Metaverse i wybierz obiekt osoby. Aby utworzyć atrybut alternativeSecurityId, wybierz pozycję Nowy atrybut. Wybierz pozycję Ciąg (nieindeksowalny), aby utworzyć atrybut o rozmiarze do 1024 znaków, który jest maksymalną obsługiwaną długością dla certificateUserIds. W przypadku wybrania pozycji Ciąg (indeksowalny) maksymalny rozmiar wartości atrybutu wynosi 448 znaków. Upewnij się, aby wybrać Wiele wartości.
Otwórz program Metaverse Designer i wybierz pozycję alternativeSecurityId, aby dodać go do obiektu osoba.
Utwórz regułę synchronizacji ruchu przychodzącego, aby przekształcić atrybut altSecurityIdentities do atrybutu alternativeSecurityId.
W regule ruchu przychodzącego użyj następujących opcji.
Opcja Wartość Nazwisko Opisowa nazwa reguły, na przykład: w usłudze Active Directory — altSecurityIdentities Połączony system Twoja lokalna domena Active Directory Typ obiektu systemu połączonego Użytkownik Typ obiektu Metaverse osoba Pierwszeństwo Wybierz liczbę poniżej 100, która nie jest obecnie używana Następnie wybierz Przekształcenia i utwórz mapowanie bezpośrednie do atrybutu docelowego alternativeSecurityId z atrybutu źródłowego altSecurityIdentities, jak pokazano na poniższym zrzucie ekranu.
Utwórz regułę synchronizacji ruchu wychodzącego w celu przekształcenia atrybutu alternativeSecurityId na atrybut certificateUserIds w identyfikatorze Entra firmy Microsoft.
Opcja Wartość Nazwisko Opisowa nazwa reguły, na przykład: Out to Microsoft Entra ID — certificateUserIds Połączony system Twoja domena Microsoft Entra Typ obiektu systemu połączonego Użytkownik Typ obiektu Metaverse osoba Pierwszeństwo Wybierz dużą liczbę, która nie jest obecnie używana powyżej wszystkich reguł domyślnych, takich jak 150 Następnie wybierz Przekształcenia i utwórz bezpośrednie mapowanie do elementu docelowego certificateUserIds z atrybutu źródłowego alternativeSecurityId, jak pokazano na poniższym zrzucie ekranu.
Uruchom synchronizację, aby wypełnić dane atrybutem certificateUserIds.
Aby zweryfikować powodzenie, wyświetl informacje o autoryzacji użytkownika w identyfikatorze Entra firmy Microsoft.
Aby zamapować podzbiór wartości z atrybutu altSecurityIdentities, zastąp przekształcenie w kroku 4 wyrażeniem. Aby użyć wyrażenia, przejdź do zakładki Przekształcenia i zmień opcję FlowType na Expression, atrybut docelowy na certificateUserIds, a następnie wprowadź wyrażenie w polu Źródło. Poniższy przykład filtruje tylko wartości, które są zgodne z polami mapowania certyfikatu SKI i SHA1PublicKey:
Kod wyrażeń:
IIF(IsPresent([alternativeSecurityId]),
Where($item,[alternativeSecurityId],BitOr(InStr($item, "X509:<SKI>"),InStr($item, "X509:<SHA1-PUKEY>"))>0),[alternativeSecurityId]
)
Administratorzy mogą filtrować wartości z altSecurityIdentities, które są zgodne z obsługiwanymi wzorcami. Upewnij się, że konfiguracja cba została zaktualizowana w celu obsługi powiązań nazw użytkowników zsynchronizowanych z identyfikatorami certificateUserId i włączenia uwierzytelniania przy użyciu tych wartości.
Następne kroki
- Omówienie usługi Microsoft Entra CBA
- Szczegółowe informacje techniczne dotyczące usługi Microsoft Entra CBA
- Jak skonfigurować usługę Microsoft Entra CBA
- Microsoft Entra CBA na urządzeniach z systemem iOS
- Microsoft Entra CBA na urządzeniach z systemem Android
- Logowanie za pomocą karty inteligentnej systemu Windows przy użyciu usługi Microsoft Entra CBA
- Jak migrować użytkowników federacyjnych
- Często zadawane pytania