Kurz – Přizpůsobení mapování atributů zřizování uživatelů pro aplikace SaaS v Azure Active Directory

Microsoft Azure AD poskytuje podporu zřizování uživatelů pro aplikace SaaS třetích stran, jako jsou Salesforce, G Suite a další. Pokud povolíte zřizování uživatelů pro aplikaci SaaS třetí strany, Azure Portal řídí hodnoty atributů prostřednictvím mapování atributů.

Než začnete, ujistěte se, že znáte koncepty správy aplikací a jednotného Sign-On přihlašování (SSO). Podívejte se na následující odkazy:

Existuje předem nakonfigurovaná sada atributů a mapování atributů mezi uživatelskými objekty Azure AD a uživatelskými objekty jednotlivých aplikací SaaS. Některé aplikace spravují jiné typy objektů společně s uživateli, jako jsou skupiny.

Výchozí mapování atributů můžete přizpůsobit podle potřeb vaší firmy. Můžete tedy změnit nebo odstranit existující mapování atributů nebo vytvořit nová mapování atributů.

Úprava mapování atributů uživatele

Pokud chcete získat přístup k funkci Mapování zřizování uživatelů, postupujte takto:

  1. Přihlaste se k portálu Azure Active Directory.

  2. V levém podokně vyberte Enterprise aplikace. Zobrazí se seznam všech nakonfigurovaných aplikací včetně aplikací, které byly přidány z galerie.

  3. Vyberte libovolnou aplikaci, která načte podokno správy aplikací, kde můžete zobrazit sestavy a spravovat nastavení aplikace.

  4. Výběrem možnosti Zřizování můžete spravovat nastavení zřizování uživatelských účtů pro vybranou aplikaci.

  5. Rozbalte mapování a zobrazte a upravte atributy uživatele, které proudí mezi Azure AD a cílovou aplikací. Pokud ji cílová aplikace podporuje, můžete v této části volitelně nakonfigurovat zřizování skupin a uživatelských účtů.

    Use Mappings to view and edit user attributes

  6. Výběrem konfigurace Mapování otevřete související obrazovku Mapování atributů . Aby aplikace SaaS fungovala správně, vyžadují některá mapování atributů. U požadovaných atributů není funkce Delete k dispozici.

    Use Attribute Mapping to configure attribute mappings for apps

    Na tomto snímku obrazovky vidíte, že atribut Username spravovaného objektu v Salesforce je naplněn hodnotou userPrincipalName propojeného objektu Azure Active Directory Object.

    Poznámka

    Zrušení zaškrtnutí políčka Vytvořit nemá vliv na stávající uživatele. Pokud možnost Vytvořit není vybraná, nemůžete vytvářet nové uživatele.

  7. Výběrem existujícího mapování atributů otevřete obrazovku Upravit atribut . Tady můžete upravit atributy uživatele, které se tokují mezi Azure AD a cílovou aplikací.

    Use Edit Attribute to edit user attributes

Principy typů mapování atributů

Pomocí mapování atributů řídíte, jak se atributy naplní v aplikaci SaaS třetí strany. Podporují se čtyři různé typy mapování:

  • Direct – cílový atribut je naplněn hodnotou atributu propojeného objektu v Azure AD.
  • Konstanta – cílový atribut se naplní konkrétním řetězcem, který jste zadali.
  • Výraz – cílový atribut se naplní na základě výsledku výrazu podobného skriptu. Další informace naleznete v tématu Zápis výrazů pro Attribute-Mappings v Azure Active Directory.
  • Žádný – cílový atribut zůstane nezměněný. Pokud je ale cílový atribut někdy prázdný, naplní se výchozí hodnotou, kterou zadáte.

Spolu s těmito čtyřmi základními typy podporují vlastní mapování atributů koncept volitelného přiřazení výchozí hodnoty. Přiřazení výchozí hodnoty zajišťuje, že se cílový atribut naplní hodnotou, pokud v Azure AD ani v cílovém objektu není hodnota. Nejběžnější konfigurací je nechat tuto prázdnou.

Principy vlastností mapování atributů

V předchozí části jste se již seznámili s vlastností typu mapování atributů. Spolu s touto vlastností podporují mapování atributů také následující atributy:

  • Atribut zdroje – atribut uživatele ze zdrojového systému (příklad: Azure Active Directory).
  • Cílový atribut – atribut uživatele v cílovém systému (příklad: ServiceNow).
  • Výchozí hodnota, pokud null (volitelné) – hodnota, která se předá cílovému systému, pokud má zdrojový atribut hodnotu null. Tato hodnota se zřídí pouze při vytvoření uživatele. Při aktualizaci existujícího uživatele se nezřídí výchozí hodnota při hodnotě null. Pokud chcete například zřídit všechny existující uživatele v cílovém systému s konkrétním názvem úlohy (pokud má hodnotu null ve zdrojovém systému), můžete použít následující výraz: Switch(IsPresent([jobTitle]), DefaultValue, "True", [jobTitle]). Nezapomeňte nahradit výchozí hodnotu tím, co byste chtěli zřídit, když má ve zdrojovém systému hodnotu null.
  • Porovná objekty používající tento atribut – určuje, jestli se má toto mapování použít k jednoznačné identifikaci uživatelů mezi zdrojovými a cílovými systémy. Obvykle je nastavený na atribut userPrincipalName nebo mail v Azure AD, který je obvykle mapován na pole uživatelského jména v cílové aplikaci.
  • Odpovídající priorita – Lze nastavit více odpovídajících atributů. Pokud existuje více, vyhodnotí se v pořadí definovaném tímto polem. Jakmile se najde shoda, nevyhodnotí se žádné další odpovídající atributy. I když můžete nastavit tolik odpovídajících atributů, kolik chcete, zvažte, jestli jsou atributy, které používáte jako odpovídající atributy, skutečně jedinečné a musí být odpovídající atributy. Obecně zákazníci mají ve své konfiguraci 1 nebo 2 odpovídajících atributů.
  • Použít toto mapování
    • Vždy – toto mapování použijte u akcí vytváření a aktualizací uživatelů.
    • Pouze během vytváření – toto mapování použijte pouze u akcí vytváření uživatelů.

Porovnávání uživatelů ve zdrojových a cílových systémech

Službu zřizování Azure AD je možné nasadit v obou scénářích "zeleného pole" (kde uživatelé v cílovém systému neexistují) a "brownfield" (kde už uživatelé v cílovém systému existují). Pro podporu obou scénářů používá služba zřizování koncept odpovídajících atributů. Odpovídající atributy umožňují určit, jak jednoznačně identifikovat uživatele ve zdroji a jak se shodovat s uživatelem v cíli. V rámci plánování nasazení identifikujte atribut, který lze použít k jednoznačné identifikaci uživatele ve zdrojových a cílových systémech. Co je potřeba si uvědomit:

  • Odpovídající atributy by měly být jedinečné: Zákazníci často používají atributy, jako je userPrincipalName, mail nebo ID objektu jako odpovídající atribut.
  • Jako odpovídající atributy lze použít několik atributů: Můžete definovat více atributů, které se mají vyhodnotit při porovnávání uživatelů a pořadí, ve kterém se vyhodnocují (definované jako odpovídající priorita v uživatelském rozhraní). Pokud například definujete tři atributy jako odpovídající atributy a uživatel se po vyhodnocení prvních dvou atributů jednoznačně shoduje, služba třetí atribut nevyhodnotí. Služba vyhodnotí odpovídající atributy v uvedeném pořadí a přestane vyhodnocovat, kdy se najde shoda.
  • Hodnota ve zdroji a cíli se nemusí přesně shodovat: Hodnota v cíli může být jednoduchá funkce hodnoty ve zdroji. Jeden tedy může mít atribut emailAddress ve zdroji a userPrincipalName v cíli a spárovat se funkcí atributu emailAddress, která nahradí některé znaky určitou konstantní hodnotou.
  • Porovnávání na základě kombinace atributů se nepodporuje: Většina aplikací nepodporuje dotazování na základě dvou vlastností. Proto není možné se shodovat na základě kombinace atributů. Je možné vyhodnotit jednotlivé vlastnosti za jinou.
  • Všichni uživatelé musí mít hodnotu alespoň pro jeden odpovídající atribut: Pokud definujete jeden odpovídající atribut, musí mít všichni uživatelé hodnotu pro tento atribut ve zdrojovém systému. Pokud například definujete userPrincipalName jako odpovídající atribut, musí mít všichni uživatelé vlastnost userPrincipalName. Pokud definujete více odpovídajících atributů (např. extensionAttribute1 a mail), nemusí mít všichni uživatelé stejný odpovídající atribut. Jeden uživatel může mít příponuAttribute1, ale ne poštu, zatímco jiný uživatel může mít poštu, ale žádné rozšířeníAttribute1.
  • Cílová aplikace musí podporovat filtrování podle odpovídajícího atributu: Vývojáři aplikací umožňují filtrovat podmnožinu atributů ve svém uživatelském nebo skupinovém rozhraní API. U aplikací v galerii zajistíme, že výchozí mapování atributů je pro atribut, na který rozhraní API cílové aplikace podporuje filtrování. Při změně výchozího odpovídajícího atributu pro cílovou aplikaci zkontrolujte dokumentaci k rozhraní API třetí strany a ujistěte se, že je možné atribut filtrovat.

Úpravy mapování atributů skupiny

Vybraný počet aplikací, jako je ServiceNow, Box a G Suite, podporuje schopnost zřizovat objekty skupiny a uživatelské objekty. Objekty skupiny můžou obsahovat vlastnosti skupiny, jako jsou zobrazované názvy a e-mailové aliasy, spolu s členy skupiny.

Example shows ServiceNow with provisioned Group and User objects

Zřizování skupin můžete volitelně povolit nebo zakázat výběrem mapování skupiny v části Mapování a nastavením Povoleno na požadovanou možnost na obrazovce Mapování atributů .

Atributy zřízené jako součást objektů skupiny je možné přizpůsobit stejným způsobem jako objekty uživatele, které jsou popsány výše.

Tip

Zřizování objektů skupiny (vlastností a členů) je odlišný koncept od přiřazování skupin k aplikaci. Je možné přiřadit skupinu k aplikaci, ale zřídit pouze objekty uživatele obsažené ve skupině. Zřizování objektů úplné skupiny není nutné k používání skupin v přiřazeních.

Úprava seznamu podporovaných atributů

Atributy uživatele podporované pro danou aplikaci jsou předem nakonfigurované. Většina rozhraní API pro správu uživatelů aplikace nepodporuje zjišťování schématu. Služba zřizování Azure AD proto nemůže dynamicky generovat seznam podporovaných atributů voláním aplikace.

Některé aplikace ale podporují vlastní atributy a služba zřizování Azure AD může číst a zapisovat do vlastních atributů. Pokud chcete do Azure Portal zadat jejich definice, zaškrtněte políčko Zobrazit rozšířené možnosti v dolní části obrazovky Mapování atributů a pak vyberte Upravit seznam atributů pro vaši aplikaci.

Mezi aplikace a systémy, které podporují přizpůsobení seznamu atributů, patří:

  • Salesforce
  • ServiceNow
  • Pracovní den do služby Active Directory / Pracovní den pro Azure Active Directory
  • SuccessFactors to Active Directory / SuccessFactors to Azure Active Directory
  • Azure Active Directory (podporují se výchozí atributy azure AD Graph API a rozšíření vlastních adresářů). Přečtěte si další informace o vytváření rozšíření a známých omezeních.
  • Aplikace, které podporují SCIM 2.0
  • Pro Azure Active Directory zpětný zápis do aplikace Workday nebo SuccessFactors se podporuje aktualizace relevantních metadat pro podporované atributy (XPATH a JSONPath), ale není podporováno přidání nových atributů Workday nebo SuccessFactors nad rámec atributů zahrnutých do výchozího schématu.

Poznámka

Úprava seznamu podporovaných atributů se doporučuje jenom správcům, kteří přizpůsobili schéma svých aplikací a systémů, a znalostí o tom, jak byly definované vlastní atributy, nebo pokud se zdrojový atribut automaticky nezobrazuje v uživatelském rozhraní webu Azure Portal. Někdy to vyžaduje znalost rozhraní API a vývojářských nástrojů poskytovaných aplikací nebo systémem. Možnost upravit seznam podporovaných atributů je ve výchozím nastavení uzamčena, ale zákazníci můžou tuto funkci povolit tak, že přejdou na následující adresu URL: https://portal.azure.com/?Microsoft_AAD_Connect_Provisioning_forceSchemaEditorEnabled=true . Potom můžete přejít do aplikace a zobrazit seznam atributů, jak je popsáno výše.

Při úpravě seznamu podporovaných atributů jsou k dispozici následující vlastnosti:

  • Name – systémový název atributu, jak je definováno ve schématu cílového objektu.
  • Typ – typ dat, která atribut ukládá, jak je definováno ve schématu cílového objektu, což může být jeden z následujících typů:
    • Binární – atribut obsahuje binární data.
    • Logická hodnota – Atribut obsahuje hodnotu True nebo False.
    • DateTime – Atribut obsahuje řetězec kalendářního data.
    • Celé číslo – Atribut obsahuje celé číslo.
    • Odkaz – Atribut obsahuje ID, které odkazuje na hodnotu uloženou v jiné tabulce v cílové aplikaci.
    • Řetězec – atribut obsahuje textový řetězec.
  • Primární klíč? – Určuje, zda je atribut definován jako pole primárního klíče ve schématu cílového objektu.
  • Povinné? – Určuje, zda je atribut potřeba naplnit v cílové aplikaci nebo systému.
  • Vícehodnotová? – Určuje, zda atribut podporuje více hodnot.
  • Přesný případ? – Určuje, jestli se hodnoty atributů vyhodnocují v rozlišování velkých a malých písmen.
  • Výraz rozhraní API – Nepoužívejte, pokud to neudělá dokumentace ke konkrétnímu konektoru zřizování (například Workday).
  • Odkazovaný atribut objektu – Pokud se jedná o atribut typu odkaz, pak tato nabídka umožňuje vybrat tabulku a atribut v cílové aplikaci, která obsahuje hodnotu přidruženou k atributu. Pokud máte například atribut "Oddělení", jehož uložená hodnota odkazuje na objekt v samostatné tabulce Oddělení, vyberte "Departments.Name". Referenční tabulky a pole primárního ID podporovaná pro danou aplikaci jsou předem nakonfigurovaná a v současné době není možné upravovat pomocí Azure Portal, ale můžete je upravovat pomocí microsoft Graph API.

Zřízení atributu vlastního rozšíření pro aplikaci kompatibilní s SCIM

SCIM RFC definuje základní schéma uživatelů a skupin a zároveň umožňuje rozšíření schématu tak, aby vyhovovala potřebám vaší aplikace. Přidání vlastního atributu do aplikace SCIM:

  1. Přihlaste se k portálu Azure Active Directory, vyberte Enterprise Aplikace, vyberte aplikaci a pak vyberte Zřizování.
  2. V části Mapování vyberte objekt (uživatel nebo skupina), pro který chcete přidat vlastní atribut.
  3. V dolní části stránky vyberte Zobrazit rozšířené možnosti.
  4. Vyberte Upravit seznam atributů pro AppName.
  5. V dolní části seznamu atributů zadejte informace o vlastním atributu v zadaných polích. Pak vyberte Přidat atribut.

U aplikací SCIM musí název atributu postupovat podle vzoru uvedeného v následujícím příkladu. CustomExtensionName a CustomAttribute lze přizpůsobit podle požadavků vaší aplikace, například: urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User:CustomAttribute

Tyto pokyny platí jenom pro aplikace s podporou SCIM. Aplikace, jako je ServiceNow a Salesforce, nejsou integrované s Azure AD pomocí SCIM, a proto při přidávání vlastního atributu nevyžadují tento konkrétní obor názvů.

Vlastní atributy nemohou být referenční atributy, vícehodnotové nebo komplexní atributy typu. Vlastní atributy rozšíření s více hodnotami a komplexními typy jsou aktuálně podporovány pouze pro aplikace v galerii. Hlavička vlastního schématu rozšíření je v následujícím příkladu vynechána, protože se neodesílají v požadavcích od klienta Azure AD SCIM. Tento problém se opraví v budoucnu a hlavička se odešle v požadavku.

Příklad reprezentace uživatele s atributem rozšíření:

   {
     "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
     "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
     "userName":"bjensen",
     "id": "48af03ac28ad4fb88478",
     "externalId":"bjensen",
     "name":{
       "formatted":"Ms. Barbara J Jensen III",
       "familyName":"Jensen",
       "givenName":"Barbara"
     },
     "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
     "employeeNumber": "701984",
     "costCenter": "4130",
     "organization": "Universal Studios",
     "division": "Theme Park",
     "department": "Tour Operations",
     "manager": {
       "value": "26118915-6090-4610-87e4-49d8ca9f808d",
       "$ref": "../Users/26118915-6090-4610-87e4-49d8ca9f808d",
       "displayName": "John Smith"
     }
   },
     "urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User": {
     "CustomAttribute": "701984",
   },
   "meta": {
     "resourceType": "User",
     "created": "2010-01-23T04:56:22Z",
     "lastModified": "2011-05-13T04:42:34Z",
     "version": "W\/\"3694e05e9dff591\"",
     "location":
 "https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646"
   }
 }

Zřízení role pro aplikaci SCIM

Pomocí následujícího postupu zřídíte role pro uživatele ve vaší aplikaci. Všimněte si, že níže uvedený popis je specifický pro vlastní aplikace SCIM. Pro aplikace galerie, jako je Salesforce a ServiceNow, použijte předem definované mapování rolí. Níže uvedené odrážky popisují, jak transformovat atribut AppRoleAssignments na formát, který aplikace očekává.

  • Mapování přiřazení appRoleAssignment v Azure AD na roli ve vaší aplikaci vyžaduje transformaci atributu pomocí výrazu. Atribut appRoleAssignment by neměl být mapován přímo na atribut role bez použití výrazu k analýze podrobností role.

  • SingleAppRoleAssignment

    • Kdy použít: Pomocí výrazu SingleAppRoleAssignment zřídíte jednu roli pro uživatele a určíte primární roli.
    • Postup konfigurace: Pomocí výše uvedených kroků přejděte na stránku mapování atributů a pomocí výrazu SingleAppRoleAssignment namapujte na atribut rolí. Existují tři atributy role, ze které si můžete vybrat: (role[primary eq "True"].display, role[primary eq "True]. type a role[primary eq "True"].value). Do mapování můžete zahrnout libovolný nebo všechny atributy role. Pokud chcete zahrnout více než jedno, stačí přidat nové mapování a zahrnout ho jako cílový atribut.

    Add SingleAppRoleAssignment

    • Co je potřeba vzít v úvahu

      • Ujistěte se, že uživateli není přiřazeno více rolí. Nemůžeme zaručit, která role bude zřízena.
    • Příklad požadavku (POST)

      {
        "schemas": [
            "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "externalId": "alias",
        "userName": "alias@contoso.OnMicrosoft.com",
        "active": true,
        "displayName": "First Name Last Name",
        "meta": {
             "resourceType": "User"
        },
        "roles": [
           {
                 "primary": true,
                 "type": "WindowsAzureActiveDirectoryRole",
                 "value": "Admin"
           }
        ]
    }
    
    • Příklad výstupu (PATCH)
    "Operations": [
       {
         "op": "Add",
         "path": "roles",
         "value": [
           {
             "value": "{\"id\":\"06b07648-ecfe-589f-9d2f-6325724a46ee\",\"value\":\"25\",\"displayName\":\"Role1234\"}"
           }
         ]
    

Formát požadavku ve funkci PATCH a POST se liší. Pokud chcete zajistit, aby se post a PATCH odesílaly ve stejném formátu, můžete použít příznak funkce popsaný tady.

  • AppRoleAssignmentsComplex

    • Kdy použít: Pomocí výrazu AppRoleAssignmentsComplex můžete pro uživatele zřídit více rolí.

    • Postup konfigurace: Upravte seznam podporovaných atributů, jak je popsáno výše, abyste zahrnuli nový atribut pro role:

      Add roles

      Potom pomocí výrazu AppRoleAssignmentsComplex namapujte na atribut vlastní role, jak je znázorněno na následujícím obrázku:

      Add AppRoleAssignmentsComplex

    • Co je potřeba vzít v úvahu

      • Všechny role budou zřízeny jako primární = false.
      • Post obsahuje typ role. Požadavek PATCH neobsahuje typ. Pracujeme na odesílání typu v požadavcích POST i PATCH.
      • AppRoleAssignmentsComplex není kompatibilní s nastavením oboru pro synchronizaci všech uživatelů a skupin.
    • Příklad výstupu

    {
         "schemas": [
             "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "externalId": "alias",
        "userName": "alias@contoso.OnMicrosoft.com",
        "active": true,
        "displayName": "First Name Last Name",
        "meta": {
             "resourceType": "User"
        },
        "roles": [
           {
                 "primary": false,
                 "type": "WindowsAzureActiveDirectoryRole",
                 "display": "Admin",
                 "value": "Admin"
           },
           {
                 "primary": false,
                 "type": "WindowsAzureActiveDirectoryRole",
                 "display": "User",
               "value": "User"
           }
        ]
    }
    

Zřízení atributu s více hodnotami

Určité atributy, jako jsou telefonní číslo a e-maily, jsou atributy s více hodnotami, kde můžete potřebovat zadat různé typy telefonních čísel nebo e-mailů. Pro atributy s více hodnotami použijte následující výraz. Umožňuje zadat typ atributu a namapovat ho na odpovídající atribut uživatele Azure AD pro danou hodnotu.

  • phoneNumbers[type eq "work"].value

  • phoneNumbers[type eq "mobile"].value

  • phoneNumbers[type eq "fax"].value

    "phoneNumbers": [
         {
           "value": "555-555-5555",
           "type": "work"
        },
        {
           "value": "555-555-5555",
           "type": "mobile"
        },
        {
           "value": "555-555-5555",
           "type": "fax"
        }
    ]
    

Obnovení výchozích atributů a mapování atributů

Pokud budete muset začít znovu a resetovat stávající mapování zpět do výchozího stavu, můžete zaškrtnout políčko Obnovit výchozí mapování a uložit konfiguraci. Tím nastavíte všechna mapování a filtry oborů, jako kdyby se aplikace právě přidala do vašeho tenanta Azure AD z galerie aplikací.

Výběrem této možnosti efektivně vynutíte opětovnou synchronizaci všech uživatelů při spuštění služby zřizování.

Důležité

Před vyvoláním této možnosti důrazně doporučujeme nastavit stav zřizování na Vypnuto .

Co byste měli vědět

  • Microsoft Azure AD poskytuje efektivní implementaci procesu synchronizace. V inicializovaném prostředí se během synchronizačního cyklu zpracovávají pouze objekty vyžadující aktualizace.
  • Aktualizace mapování atributů má vliv na výkon synchronizačního cyklu. Aktualizace konfigurace mapování atributů vyžaduje opětovné posouzení všech spravovaných objektů.
  • Doporučeným postupem je zachovat minimální počet po sobě jdoucích změn mapování atributů.
  • Přidání atributu fotky, který se má zřídit do aplikace, není dnes podporováno, protože nemůžete zadat formát pro synchronizaci fotky. Funkci můžete vyžádat v uživatelském hlasu.
  • Atribut IsSoftDeleted je často součástí výchozích mapování pro aplikaci. IsSoftdeleted může být pravdivá v jednom ze čtyř scénářů (uživatel je mimo rozsah z důvodu nepřiřazené z aplikace, uživatel je mimo rozsah kvůli tomu, že neodpovídá filtru rozsahu, uživatel byl v Azure AD obnovitelné odstranění nebo vlastnost AccountEnabled je nastaven na hodnotu false pro uživatele). Nedoporučujeme odebrat atribut IsSoftDeleted z mapování atributů.
  • Služba zřizování Azure AD nepodporuje zřizování hodnot null.
  • Primární klíč, obvykle ID, by neměl být součástí mapování atributů jako cílový atribut.
  • Atribut role se obvykle musí mapovat pomocí výrazu, nikoli přímého mapování. Další podrobnosti o mapovánírolích
  • I když můžete zakázat skupiny z mapování, zakázání uživatelů se nepodporuje.

Další kroky