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:
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.
Vyhledejte a vyberte Všechny uživatele.
Klikněte na uživatele a klikněte na Upravit vlastnosti.
Vedle informací o autorizaci klikněte na Zobrazit.
Klikněte na Upravit ID uživatelů certifikátu.
Klikněte na tlačítko Přidat.
Zadejte hodnotu a klikněte na Uložit. Můžete přidat až čtyři hodnoty, každý z 120 znaků.
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.
Spusťte PowerShell s oprávněními správce.
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
Připojte se k tenantovi a přijměte vše.
Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
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
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" ) } }
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
Získejte objekt uživatele.
$userObjectId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" $user = Get-MgUser -UserId $userObjectId -Property AuthorizationInfo
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 použití změn ověřování na základě certifikátu na řadičích domény Windows, jak je popsáno v KB5014754, možná jste implementovali některé metody mapování, které nelze opakovaně použít (Type=strong), aby splňovaly místní požadavky na vynucení vazby silného certifikátu služby 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ž 1024 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:
Na serveru Microsoft Entra Connect najděte editor synchronizačních pravidel a spusťte ho.
Klikněte na Směr a klikněte na Odchozí.
Vyhledejte pravidlo Od Microsoft Entra ID – Identita uživatele, klikněte na Upravit a kliknutím na Ano potvrďte.
Do pole Priorita zadejte vysoké číslo a klepněte na tlačítko Další.
Klikněte na Možnost Transformace>Přidat transformaci. 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]
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]
Klepněte na tlačítko Target Attribute, select certificateUserIds, click Source, select userPrincipalName, and then click Save.
Potvrďte kliknutím na tlačítko 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.
Otevřete Návrhář metaverse a vyberte objekt osoby. Chcete-li vytvořit atribut alternativeSecurityId, klepněte na tlačítko 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.
Otevřete Metaverse Designer a vyberte alternativníSecurityId a přidejte ho do objektu osoby.
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á. Potom klikněte na 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.
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. Potom klikněte na Transformace a vytvořte přímé mapování na id certificateUserId cílového atributu ze zdrojového atributu alternativeSecurityId, jak je znázorněno na následujícím snímku obrazovky.
Spusťte synchronizaci a naplňte data atributem certificateUserIds.
Chcete-li ověřit úspěch, zobrazte informace o autorizaci uživatele v Microsoft Entra ID.
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:
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, které se synchronizují s certificateUserIds, aby bylo možné ověřování pomocí těchto hodnot povolit.
Další kroky
- Přehled jazyka Microsoft Entra CBA
- Podrobné technické informace pro Microsoft Entra CBA
- Jak nakonfigurovat Jazyk CBA microsoftu Entra
- Microsoft Entra CBA na zařízeních s iOSem
- Microsoft Entra CBA na zařízeních s Androidem
- Přihlášení čipové karty systému Windows pomocí jazyka Microsoft Entra CBA
- Migrace federovaných uživatelů
- Nejčastější dotazy