Udostępnij za pośrednictwem


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 obecna na jednym koncie użytkownika, nie można jej zapisać na żadnym innym koncie użytkownika w tej samej dzierżawie firmy Microsoft Entra.
  • Wartość nie musi być w formacie identyfikatora poczty e-mail. Atrybut certificateUserIds może przechowywać nazwy główne użytkownika (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 Wiele powiązań 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 certificateUserId
NazwaGłówna X509:<PN>bob@woodgrove.com
NazwaGłówna 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
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 identyfikatorach certificateUserIds:
Składnia:
Certutil –dump –v [~certificate path~] >> [~dumpFile path~]
Przykład:
certutil -dump -v firstusercert.cer >> firstCertDump.txt

Role 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ć identyfikatory certificateUserId. 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.

Aktualizowanie identyfikatorówuserid certyfikatu

Wykonaj następujące kroki, aby zaktualizować identyfikatory certificateUserId dla użytkowników:

  1. 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.

  2. Wyszukaj i wybierz pozycję Wszyscy użytkownicy.

    Zrzut ekranu przedstawiający testowe konto użytkownika.

  3. Kliknij użytkownika, a następnie kliknij pozycję Edytuj właściwości.

  4. Obok pozycji Informacje o autoryzacji kliknij pozycję Wyświetl.

    Zrzut ekranu przedstawiający wyświetlanie informacji o autoryzacji.

  5. Kliknij pozycję Edytuj identyfikatory użytkowników certyfikatu.

    Zrzut ekranu przedstawiający edytowanie identyfikatorów użytkowników certyfikatu.

  6. Kliknij przycisk Dodaj.

    Zrzut ekranu przedstawiający sposób dodawania identyfikatorówuserid certyfikatu.

  7. Wprowadź wartość i kliknij przycisk Zapisz. Można dodać maksymalnie cztery wartości, każdy z 120 znaków.

    Zrzut ekranu przedstawiający wartość, która ma być wprowadzana dla identyfikatorów certificateUserId.

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.

Wyszukiwanie identyfikatorówuseridów certyfikatu

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ć not operatorów i startsWith , aby dopasować warunek filtru. Aby filtrować względem obiektu certificateUserIds, żądanie musi zawierać $count=true ciąg zapytania, a nagłówek ConsistencyLevel musi być ustawiony na eventualwartość .

Aktualizowanie identyfikatorówuserid 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.

  1. Uruchom program PowerShell z uprawnieniami administratora.

  2. 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
    
  3. Połącz się z dzierżawą i zaakceptuj wszystko.

       Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
    
  4. 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
    
  5. 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"
                  )
            }
      }
    
  6. 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

  1. Pobierz obiekt użytkownika.

      $userObjectId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
      $user = Get-MgUser -UserId $userObjectId -Property AuthorizationInfo
    
  2. 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 ze środowiska lokalna usługa 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żytkownika w lokalna usługa 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 metody mapowania nienadające się do wielokrotnego użytku (Type=strong), aby spełnić lokalne wymagania wymuszania powiązań certyfikatów usługi 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 być mapowana na jeden certyfikat na wiele kont lokalna usługa Active Directory. Aby uzyskać więcej informacji, zobacz Wiele powiązań nazw użytkowników.

    Uwaga

    W określonych scenariuszach podzbiór użytkowników może mieć prawidłowe uzasadnienie biznesowe mapowania pojedynczego certyfikatu na więcej niż jedno konto lokalna usługa Active Directory. Przejrzyj te scenariusze i w razie potrzeby zaimplementuj oddzielne metody mapowania, aby zamapować na więcej niż jedno konto zarówno w lokalna usługa Active Directory, jak i identyfikatorze Entra firmy Microsoft.

Zagadnienia dotyczące ciągłej synchronizacji identyfikatorów certificateUserId

  • Upewnij się, że proces aprowizacji wypełniania wartości w lokalna usługa 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ą aprowidowane.
  • 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:

  1. Na serwerze Microsoft Entra Connect znajdź i uruchom Edytor reguł synchronizacji.

  2. Kliknij pozycję Kierunek, a następnie kliknij pozycję Wychodzące.

    Zrzut ekranu przedstawiający regułę synchronizacji ruchu wychodzącego.

  3. Znajdź wykluczanie identyfikatora entra firmy Microsoft — tożsamość użytkownika, kliknij pozycję Edytuj, a następnie kliknij przycisk Tak , aby potwierdzić.

    Zrzut ekranu przedstawiający tożsamość użytkownika.

  4. Wprowadź dużą liczbę w polu Pierwszeństwo, a następnie kliknij przycisk Dalej.

    Zrzut ekranu przedstawiający wartość pierwszeństwa.

  5. Kliknij pozycję 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 ruchu wychodzącego i wybierz pozycję 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]

Zrzut ekranu przedstawiający sposób synchronizacji x509.

Synchronizuj X509:<RFC822>RFC822Name

Aby zsynchronizować X509:<RFC822>RFC822Name, utwórz regułę synchronizacji ruchu wychodzącego i wybierz pozycję 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:<RFC822>"&[userPrincipalName]

Zrzut ekranu przedstawiający sposób synchronizowania nazwy RFC822Name.

  1. Kliknij pozycję Atrybut docelowy, wybierz pozycję certificateUserIds, kliknij pozycję Źródło, wybierz pozycję userPrincipalName, a następnie kliknij przycisk Zapisz.

    Zrzut ekranu przedstawiający sposób zapisywania reguły.

  2. Kliknij przycisk 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 certificateUserId firmy Microsoft

Atrybut altSecurityIdentities nie jest częścią domyślnego zestawu atrybutów. Administrator musi dodać nowy atrybut do obiektu person w aplikacji Metaverse, a następnie utworzyć odpowiednie reguły synchronizacji, aby przekazać te dane do identyfikatorów certificateUserIds w usłudze Microsoft Entra ID.

  1. Otwórz projektanta Metaverse i wybierz obiekt osoby. Aby utworzyć atrybut alternativeSecurityId, kliknij pozycję Nowy atrybut. Wybierz pozycję Ciąg (nieindeksowalny), aby utworzyć rozmiar atrybutu o rozmiarze do 1024 znaków, który jest maksymalną obsługiwaną długością identyfikatorów certificateUserId. W przypadku wybrania pozycji Ciąg (indeksowalny) maksymalny rozmiar wartości atrybutu wynosi 448 znaków. Upewnij się, że wybrano pozycję Wiele wartości.

    Zrzut ekranu przedstawiający sposób tworzenia nowego atrybutu.

  2. Otwórz program Metaverse Designer i wybierz pozycję alternativeSecurityId, aby dodać go do obiektu person.

    Zrzut ekranu przedstawiający sposób dodawania identyfikatora alternativeSecurityId do obiektu person.

  3. 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 Domena lokalna usługa 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 kliknij pozycję Przekształcenia i utwórz bezpośrednie mapowanie atrybutu docelowego alternativeSecurityId z atrybutu źródłowego altSecurityIdentities, jak pokazano na poniższym zrzucie ekranu.

    Zrzut ekranu przedstawiający sposób przekształcania atrybutu altSecurityIdentities na alternateSecurityId.

  4. 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 kliknij pozycję Przekształcenia i utwórz bezpośrednie mapowanie do certyfikatu atrybutu docelowegoUserIds z atrybutu źródłowego alternativeSecurityId, jak pokazano na poniższym zrzucie ekranu.

    Zrzut ekranu przedstawiający regułę synchronizacji ruchu wychodzącego w celu przekształcenia atrybutu alternateSecurityId na certificateUserIds.

  5. Uruchom synchronizację, aby wypełnić dane atrybutem certificateUserIds.

  6. Aby zweryfikować powodzenie, wyświetl informacje o autoryzacji użytkownika w identyfikatorze Entra firmy Microsoft.

    Zrzut ekranu przedstawiający pomyślną synchronizację.

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 karty 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:

Zrzut ekranu przedstawiający wyrażenie.

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 wartości altSecurityIdentities, które są zgodne z obsługiwanymi wzorcami. Upewnij się, że konfiguracja cba została zaktualizowana w celu obsługi powiązań nazwy użytkownika synchronizowanych z identyfikatorami certificateUserId w celu włączenia uwierzytelniania przy użyciu tych wartości.

Następne kroki