Sdílet prostřednictvím


Mapování na atribut certificateUserIds v Microsoft Entra ID

Objekty uživatele v Microsoft Entra ID mají atribut s názvem certificateUserIds.

  • Atribut certificateUserIds je vícehodnotový a může obsahovat až 10 hodnot.
  • Každá hodnota nesmí být delší než 1024 znaků.
  • Každá hodnota musí být jedinečná. Jakmile je hodnota na jednom uživatelském účtu, nedá se zapsat do žádného jiného uživatelského účtu ve stejném tenantovi Microsoft Entra.
  • Hodnota nemusí být ve formátu ID e-mailu. Atribut certificateUserIds může ukládat nesměrovatelné hlavní názvy uživatelů (UPN), jako jsou bob@woodgrove nebo bob@local.

Poznámka:

I když každá hodnota musí být jedinečná v Microsoft Entra ID, můžete namapovat jeden certifikát na více účtů implementací více vazeb uživatelského jména. Další informace naleznete v tématu Více vazeb uživatelského jména.

Podporované vzory pro ID uživatelů certifikátů

Hodnoty uložené v certificateUserIds by měly být ve formátu popsaném v následující tabulce. Předpony X509:<Mapování> rozlišují malá a velká písmena.

Pole mapování certifikátů Příklady hodnot v certificateUserIds
HlavníNázev X509:<PN>bob@woodgrove.com
HlavníNázev 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
Předmět X509:<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest
LYŽE X509:<SKI>aB1cD2eF3gH4iJ5kL6mN7oP8qR
SHA1PublicKey X509:<SHA1-PUKEY>cD2eF3gH4iJ5kL6mN7oP8qR9sT
IssuerAndSerialNumber X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>eF3gH4iJ5kL6mN7oP8qR9sT0uV
Pokud chcete získat správnou hodnotu sériového čísla, spusťte tento příkaz a uložte hodnotu uvedenou v certificateUserIds:
Syntaxe:
Certutil –dump –v [~certificate path~] >> [~dumpFile path~]
Příklad:
certutil -dump -v firstusercert.cer >> firstCertDump.txt

Role pro aktualizaci certificateUserIds

Aby mohli aktualizovat identifikátory certificateUserIds, musí mít pouze cloudoví uživatelé roli správce privilegovaného ověřování. Uživatelé pouze v cloudu můžou k aktualizaci id certifikátu použít Centrum pro správu Microsoft Entra nebo Microsoft Graph.

Synchronizovaní uživatelé musí mít alespoň roli správce hybridní identity pro aktualizaci certificateUserIds. K aktualizaci identifikátorů certificateUserId je možné použít pouze Microsoft Entra Connect, a to synchronizací hodnoty z místního prostředí.

Poznámka:

Správci služby Active Directory můžou provádět změny, které mají vliv na hodnotu certificateUserIds v ID Microsoft Entra pro libovolný synchronizovaný účet. Správci můžou zahrnovat účty s delegovanými oprávněními správce nad synchronizovanými uživatelskými účty nebo právy správce na serverech Microsoft Entra Connect.

Aktualizace certificateUserIds

Pomocí následujícího postupu aktualizujte identifikátory certificateUserId pro uživatele:

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce privilegovaného ověřování pro uživatele jen v cloudu nebo jako alespoň správce hybridní identity pro synchronizované uživatele.

  2. Vyhledejte a vyberte Všechny uživatele.

    Snímek obrazovky s testovacím uživatelským účtem

  3. Vyberte uživatele a vyberte Upravit vlastnosti.

  4. Vedle autorizační informacezvolte Zobrazit.

    Snímek obrazovky s informacemi o autorizaci

  5. Vyberte Upravit ID uživatelů certifikátu.

    Snímek obrazovky s ID uživatelů certifikátu pro úpravy

  6. Vyberte Přidat.

    Snímek obrazovky znázorňuje, jak přidat id certificateUserIds

  7. Zadejte hodnotu a vyberte Uložit. Můžete přidat až čtyři hodnoty, každý z 120 znaků.

    Snímek obrazovky s hodnotou, která se má zadat pro certificateUserIds

Aktualizace identifikátorů certificateUserId pomocí dotazů Microsoft Graphu

Následující příklady ukazují, jak pomocí Microsoft Graphu vyhledat identifikátory certificateUserId a aktualizovat je.

Vyhledání certificateUserIds

Autorizovaní volající můžou spouštět dotazy Microsoft Graphu, aby našli všechny uživatele s danou hodnotou certificateUserId. V objektu uživatele Microsoft Graphu je kolekce certificateUserIds uložena ve vlastnosti authorizationInfo.

Načtení identifikátorů certificateUserId všech objektů uživatele:

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

Načtení identifikátorů certificateUserId pro daného uživatele podle ID objektu uživatele:

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

Načtení objektu uživatele s konkrétní hodnotou v 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

K porovnání podmínky filtru můžete také použít not operátory a startsWith operátory. Chcete-li filtrovat proti objektu certificateUserIds, požadavek musí obsahovat $count=true řetězec dotazu a hlavička ConsistencyLevel musí být nastavena na eventual.

Aktualizace certificateUserIds

Spuštěním požadavku PATCH aktualizujte identifikátory certificateUserId pro daného uživatele.

Text požadavku

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

Aktualizace certificateUserIds pomocí příkazů PowerShellu

Pro tuto konfiguraci můžete použít Microsoft Graph PowerShell.

  1. Spusťte PowerShell s oprávněními správce.

  2. Nainstalujte a naimportujte sadu Microsoft Graph PowerShell SDK.

        Install-Module Microsoft.Graph -Scope AllUsers
        Import-Module Microsoft.Graph.Authentication
        Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  3. Připojte se k tenantovi a přijměte vše.

       Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
    
  4. Výpis atributu certificateUserIds daného uživatele

      $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. Vytvořte proměnnou s hodnotami 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. Aktualizujte atribut certificateUserIds.

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

Aktualizace certificateUserIds pomocí objektu uživatele

  1. Získejte objekt uživatele.

      $userObjectId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
      $user = Get-MgUser -UserId $userObjectId -Property AuthorizationInfo
    
  2. Aktualizujte atribut certificateUserIds objektu uživatele.

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

Aktualizace identifikátorů certificateUserId pomocí služby Microsoft Entra Connect

Microsoft Entra Connect podporuje synchronizaci hodnot s certificateUserIds z prostředí místní Active Directory. Místní služba Active Directory podporuje ověřování na základě certifikátů a více vazeb uživatelského jména. Ujistěte se, že používáte nejnovější verzi microsoft Entra Connect.

Pokud chcete tyto metody mapování použít, je nutné vyplnit atribut altSecurityIdentities objektů uživatele v místní Active Directory. Kromě toho, po aplikaci změn ověřování na základě certifikátů na řadičích domény Windows, jak je popsáno v KB5014754, jste možná implementovali některé neopakovatelné metody mapování (typ = silný), aby splňovaly požadavky na vynucení silné vazby certifikátů v místním Active Directory.

Pokud chcete zabránit chybám synchronizace, ujistěte se, že hodnoty, které se synchronizují, se řídí jedním z podporovaných formátů pro identifikátory certificateUserIds.

Než začnete, ujistěte se, že všechny uživatelské účty synchronizované z místní Active Directory mají:

  • 5 nebo méně hodnot v atributech altSecurityIdentities

  • Žádná hodnota s více než 1 024 znaky

  • Žádné duplicitní hodnoty

    Pečlivě zvažte, jestli má duplicitní hodnota namapovat jeden certifikát na více účtů místní Active Directory. Další informace naleznete v tématu Více vazeb uživatelského jména.

    Poznámka:

    V konkrétních scénářích může mít podmnožina uživatelů platné obchodní odůvodnění pro mapování jednoho certifikátu na více než jeden účet místní Active Directory. Projděte si tyto scénáře a v případě potřeby implementujte samostatné metody mapování, které se mapují na více než jeden účet v místní Active Directory i v Microsoft Entra ID.

Důležité informace o probíhající synchronizaci identifikátorů certificateUserId

  • Ujistěte se, že proces zřizování pro naplnění hodnot v místní Active Directory implementuje správnou hygienu. Vyplní se pouze hodnoty přidružené k aktuálním platným certifikátům.
  • Hodnoty se odeberou při vypršení platnosti nebo odvolání odpovídajícího certifikátu.
  • Hodnoty větší než 1024 znaků se nezaplní.
  • Duplicitní hodnoty nejsou zřízeny.
  • K monitorování synchronizace použijte Microsoft Entra Connect Health.

Podle těchto kroků nakonfigurujte Microsoft Entra Connect pro synchronizaci userPrincipalName s certificateUserIds:

  1. Na serveru Microsoft Entra Connect najděte editor synchronizačních pravidel a spusťte ho.

  2. Vyberte Směra vyberte Odchozí.

    Snímek obrazovky s odchozím synchronizačním pravidlem

  3. Vyhledejte pravidlo Out to Microsoft Entra ID – Uživatelská identita, vyberte Upravita potvrďte Ano.

    Snímek obrazovky s identitou uživatele

  4. Do pole Přednost zadejte vysoké číslo a poté vyberte Další.

    Snímek obrazovky s hodnotou priority

  5. Vyberte Přidat transformaci>Transformace . Než budete moct vytvořit novou transformaci, budete se možná muset posunout dolů v seznamu transformací.

Synchronizace hodnoty X509:<PN>PrincipalNameValue

Pokud chcete synchronizovat X509:<PN>PrincipalNameValue, vytvořte odchozí synchronizační pravidlo a v typu toku zvolte Výraz . Zvolte cílový atribut jako certificateUserIds a do zdrojového pole přidejte následující výraz. Pokud váš zdrojový atribut není userPrincipalName, můžete výraz odpovídajícím způsobem změnit.

"X509:<PN>"&[userPrincipalName]

Snímek obrazovky znázorňuje, jak synchronizovat x509

Synchronizace X509:<RFC822>RFC822Name

Pokud chcete synchronizovat X509:<RFC822>RFC822Name, vytvořte odchozí synchronizační pravidlo a v typu toku zvolte Výraz . Zvolte cílový atribut jako certificateUserIds a do zdrojového pole přidejte následující výraz. Pokud váš zdrojový atribut není userPrincipalName, můžete výraz odpovídajícím způsobem změnit.

"X509:<RFC822>"&[userPrincipalName]

Snímek obrazovky s sadou RFC822Name

  1. Vyberte Cílový atribut, vyberte certificateUserIds, vyberte Zdroj, vyberte userPrincipalNamea pak vyberte Uložit.

    Snímek obrazovky znázorňuje, jak uložit pravidlo

  2. Potvrďte výběr OK.

Důležité

Předchozí příklady používají atribut userPrincipalName jako zdrojový atribut v pravidle transformace. Můžete použít libovolný dostupný atribut s příslušnou hodnotou. Některé organizace například používají atribut pošty. Složitější pravidla transformace najdete v tématu Microsoft Entra Connect Sync: Principy výrazů deklarativního zřizování

Další informace o výrazech deklarativního zřizování naleznete v tématu Microsoft Entra Connect: Deklarativní zřizování výrazů.

Synchronizace atributu altSecurityIdentities z Active Directory do Microsoft Entra certificateUserIds

Atribut altSecurityIdentities není součástí výchozí sady atributů. Správce musí do objektu osoby v Metaverse přidat nový atribut a pak vytvořit příslušná synchronizační pravidla pro předávání těchto dat do certificateUserIds v Microsoft Entra ID.

  1. Otevřete Návrhář metaverse a vyberte objekt osoby. Chcete-li vytvořit atribut alternativeSecurityId, vyberte Nový atribut. Vyberte Řetězec (neindexovatelné) a vytvořte velikost atributu až 1024 znaků, což je maximální podporovaná délka pro certificateUserIds. Pokud vyberete string (indexable), maximální velikost hodnoty atributu je 448 znaků. Ujistěte se, že jste vybrali možnost Více hodnot.

    Snímek obrazovky znázorňuje, jak vytvořit nový atribut

  2. Otevřete Metaverse Designer a vyberte alternativníSecurityId a přidejte ho do objektu osoby.

    Snímek obrazovky znázorňuje, jak do objektu osoby přidat alternativníSecurityId.

  3. Vytvořte příchozí synchronizační pravidlo pro transformaci z altSecurityIdentities na atribut alternativeSecurityId.

    V příchozím pravidlu použijte následující možnosti.

    Možnost Hodnota
    Name Popisný název pravidla, například: In z Active Directory – altSecurityIdentities
    Připojený systém Vaše místní Active Directory doména
    Typ připojeného systémového objektu user
    Typ objektu Metaverse person
    Pořadí podle priority Zvolte číslo pod 100, které se aktuálně nepoužívá.

    Pak vyberte Transformace a vytvořte přímé mapování na cílový atribut alternativeSecurityId ze zdrojového atributu altSecurityIdentities, jak je znázorněno na následujícím snímku obrazovky.

    Snímek obrazovky znázorňuje, jak transformovat z altSecurityIdentities na atribut alternateSecurityId.

  4. Vytvořte odchozí synchronizační pravidlo pro transformaci z atributu alternativeSecurityId na atribut certificateUserIds v Microsoft Entra ID.

    Možnost Hodnota
    Name Popisný název pravidla, například: Out to Microsoft Entra ID - certificateUserIds
    Připojený systém Vaše doména Microsoft Entra
    Typ připojeného systémového objektu user
    Typ objektu Metaverse person
    Pořadí podle priority Zvolte vysoké číslo, které se aktuálně nepoužívá nad všemi výchozími pravidly, například 150.

    Pak vyberte Transformace a vytvořte přímé mapování na cílový atribut certificateUserIds ze zdrojového atributu alternativeSecurityId, jak je znázorněno na následujícím snímku obrazovky.

    Snímek obrazovky s odchozím synchronizačním pravidlem pro transformaci z atributu alternateSecurityId na certificateUserIds

  5. Spusťte synchronizaci a naplňte data atributem certificateUserIds.

  6. Chcete-li ověřit úspěch, zobrazte informace o autorizaci uživatele v Microsoft Entra ID.

    Snímek obrazovky s úspěšnou synchronizací

Pokud chcete namapovat podmnožinu hodnot z atributu altSecurityIdentities, nahraďte transformaci v kroku 4 výrazem. Pokud chcete použít výraz, přejděte na kartu Transformace a změňte možnost FlowType na Expression, cílový atribut na certificateUserIds a potom zadejte výraz do pole Zdroj. Následující příklad filtruje pouze hodnoty, které odpovídají polím mapování certifikátů SKI a SHA1PublicKey:

Snímek obrazovky s výrazem

Kód výrazu:

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

Správci můžou filtrovat hodnoty z altSecurityIdentities, které odpovídají podporovaným vzorům. Ujistěte se, že je konfigurace CBA aktualizovaná tak, aby podporovala vazby uživatelského jména synchronizované s certificateUserIds a povolte ověřování pomocí těchto hodnot.

Další kroky