Sdílet prostřednictvím


Azure AD rutin pro práci s atributy rozšíření

O atributech rozšíření

Atributy rozšíření nabízí pohodlný způsob rozšíření adresáře Azure AD o nové atributy, které můžete použít k ukládání hodnot atributů pro objekty v adresáři. Atribut rozšíření můžete přiřadit k následujícím typům objektů:

  • uživatelé
  • podrobnosti o tenantovi
  • zařízení
  • aplikace

Vlastnosti rozšíření jsou registrované pro objekt aplikace v adresáři pro vývojáře. Po odsouhlasení aplikace uživatelem nebo správcem v adresáři pro vývojáře se vlastnost přidá do typu cílového adresáře a bude okamžitě dostupná v adresáři pro vývojáře. Při udělení souhlasu víceklientské aplikaci uživatelem nebo správcem v jiné organizaci se vlastnosti rozšíření stanou okamžitě dostupné v typu cílového adresáře v adresáři jiné organizace.

Pokud organizace souhlasí pro aplikaci s registrovanými rozšířeními s oprávněními jen pro čtení, vlastnosti se stále stanou dostupnými v adresáři jiné organizace. Kromě toho jsou vlastnosti rozšíření přístupné pro všechny odsouhlasené aplikace v organizaci, ne jenom pro aplikaci, pro kterou jsou registrované. Ostatní odsouhlasené aplikace v dané organizace můžou číst nebo zapisovat hodnoty pro nové vlastnosti rozšíření, pokud mají dostatečná oprávnění.

Pokud je aplikace odstraněna nebo je souhlas odebrán v adresáři jiné organizace, vlastnost rozšíření se v objektu cílového adresáře stane nedostupnou. Pokud rozšíření odstraní aplikace, také se stane nedostupným v objektu cílového adresáře. Pokud víceklientská aplikace přidá další vlastnosti rozšíření po udělení souhlasu, stanou se tyto vlastnosti okamžitě dostupné v adresáři jiné organizace.

Poznámka

Pokud je hodnota vlastnosti rozšíření nastavena na objektu a tato vlastnost se stane nepřístupnou v adresáři tohoto objektu, tato vlastnost se stále počítá do limitu 100 hodnot rozšiřující vlastnosti objektu. Jediným způsobem, jak zařídit, aby se jednou nastavená hodnota vlastnosti nezapočítávala, je explicitně ji nastavit na hodnotu null. To ale nejde provést, pokud vlastnost rozšíření není dostupná.

Další informace o vlastnostech rozšíření najdete v tomto článku.

Příklady

V těchto příkladech budete používat objekt uživatele a pracovat s vlastnostmi rozšíření. Nejdříve najdeme ObjectId uživatele, abychom na něj mohli později snadno odkazovat:

$UserId = (Get-AzureADUser -Searchstring <UPN of the user we're working with>).ObjectId 

Získání všech hodnot vlastností uživatele

(Get-AzureADUser -ObjectId $UserId).ToJson()

Získání uživatele a zobrazení všech vlastností rozšíření

Get-AzureADUser -ObjectId $UserId | Select -ExpandProperty ExtensionProperty

Tato rutina vrací všechny vlastnosti rozšíření uživatele s jejich aktuálními hodnotami:

Key                                                                   Value
---                                                                   -----
odata.metadata                                                        https://graph.windows.net/85b5ff1e-0402-400c-9e3c-0f9e965325d1/$metad...
odata.type                                                            Microsoft.DirectoryServices.User
thumbnailPhoto@odata.mediaContentType                                 image/Jpeg
extension_e5e29b8a85d941eab8d12162bd004528_extensionAttribute13       Test 

Načtení hodnoty konkrétní vlastnosti rozšíření pro uživatele

(Get-AzureADUserExtension -ObjectId $UserId).get_item("extension_e5e29b8a85d941eab8d12162bd004528_wWWHomePage")

Načtení všech vlastností rozšíření, které jsou definované ve vašem tenantovi

Get-AzureADApplication | Get-AzureADApplicationExtensionProperty 

Vytvoření nové vlastnosti rozšíření

Vlastnosti rozšíření se vytváří vždy pro konkrétní aplikaci. Pokud chcete do adresáře přidat jenom generické vlastnosti, můžete vytvořit zástupnou aplikaci:

$MyApp = (New-AzureADApplication -DisplayName "My Properties Bag" -IdentifierUris "https://dummy").ObjectId 

Všimněte si, že pro tuto aplikaci potřebujete ve vašem adresáři také vytvořit instanční objekt, abyste mohli vytvořit novou vlastnost rozšíření:

New-AzureADServicePrincipal -AppId (Get-AzureADApplication -SearchString "My Properties Bag").AppId 

Tuto aplikaci teď můžeme použít k vytvoření nové vlastnosti rozšíření:

New-AzureADApplicationExtensionProperty -ObjectId $MyApp -Name "MyNewProperty" -DataType "String" -TargetObjects "User" 

Po úspěšném dokončení rutina vrací nový objekt atributu rozšíření:

ObjectId                             Name                                                     TargetObjects
--------                             ----                                                     -------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb extension_0380f0f700c040b5aa577c9268940b53_MyNewProperty {User}

Poznámka

Název nové vlastnosti se vygeneruje z formátu "Extension_" + <objectID zástupné aplikace> + "_" + <název nové vlastnosti>. Přesná hodnota názvu se proto bude pro různé vytvořené aplikace lišit. Vlastnost můžete přiřadit více než jednomu typu objektu. V našem příkladu jsme použili pouze jeden cílový objekt, "User", ale mohli jste zadat také hodnotu "User","Group". Tím by se objekt přiřadil objektům uživatelů a skupin.

Nastavení hodnot pro vlastnosti rozšíření

Pomocí vlastnosti rozšíření, které jsme použili v předchozím příkladu, jí nyní můžeme přiřadit hodnotu:

Set-AzureADUserExtension -ObjectId $UserId -ExtensionName "extension_0380f0f700c040b5aa577c9268940b53_MyNewProperty" -ExtensionValue "MyNewValue" 

Načtení všech atributů rozšíření definovaných pro aplikaci

Můžete načíst seznam atributů rozšíření, které byly definovány pro vaši aplikaci:

Get-AzureADApplicationExtensionProperty -ObjectId (Get-AzureADApplication -SearchString "My Properties Bag").ObjectId 

Tato rutina vrací seznam vlastností rozšíření v aplikaci:

ObjectId                             Name                                                      TargetObjects
--------                             ----                                                      -------------

aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb extension_0380f0f700c040b5aa577c9268940b53_MyNewProperty  {User}

Odstranění vlastností rozšíření

Pokud už vlastnost rozšíření nepotřebujete, můžete ji odstranit:

Remove-AzureADApplicationExtensionProperty -ObjectId (Get-AzureADApplication -SearchString "My Properties Bag").ObjectID -ExtensionPropertyId aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 

Poznámka

Atribut nemůžete odebrat z Azure AD po prodloužení ani odstranit Tenant Schema Extension App bez vyvolání žádosti týmu PayOps. Vypnutím možnosti rozšíření adresáře v průvodci Azure AD také neodeberete atributy nebo se aplikace zbavíte.