Attributs d’extension de répertoire dans les revendications

Les attributs d’extension de répertoire permettent de stocker davantage de données sur des objets annuaire tels que les utilisateurs. Seuls les attributs d’extension sur les objets utilisateur peuvent être utilisés pour émettre des revendications vers des applications. Cet article décrit l’utilisation des attributs d’extension d’annuaire pour envoyer des données utilisateur à des applications dans des revendications de jeton.

Notes

Microsoft Graph fournit trois autres mécanismes d’extension pour personnaliser les objets Graph. Il s’agit des attributs d’extension 1 à 15, des extensions ouvertes et des extensions de schéma. Pour plus de détails, consultez la documentation Microsoft Graph. Les données stockées sur des objets Microsoft Graph qui utilisent des extensions ouvertes ou de schéma ne sont pas disponibles comme sources pour les revendications contenues dans les jetons.

Les attributs d’extension du répertoire sont toujours associés à une application dans le locataire. Le nom de l’attribut de répertoire inclut appId de l’application dans son nom.

L’identificateur d’un attribut d’extension d’annuaire se présente sous la forme extension_xxxxxxxxx_AttributeName. Où xxxxxxxxx est l’appId de l’application pour laquelle l’extension a été définie, avec uniquement les caractères 0 à 9 et A à Z.

Inscrivez et utilisez les extensions de répertoire

Inscrivez les attributs d’extension de répertoire de l’une des manières suivantes :

Émettre des revendications à l’aide des données de Microsoft Entra Connect

Les attributs d’extension d’annuaire créés et synchronisés à l’aide de Microsoft Entra Connect sont toujours associés à l’ID d’application utilisé par Microsoft Entra Connect. Ces attributs peuvent être utilisés comme source pour les revendications en les configurant en tant que revendications dans la configuration Applications d’entreprise dans le Portail. Une fois qu’un attribut d’extension de répertoire est créé à l’aide d’AD Connect, il s’affiche dans la configuration des revendications SSO SAML.

Émettez des revendications à l’aide de Graph ou de PowerShell

Si un attribut d’extension de répertoire est enregistré à l’aide de Microsoft Graph ou de PowerShell, l’application peut être configurée pour recevoir des données dans cet attribut lors de la connexion de l’utilisateur. L’application peut être configurée pour recevoir des données dans des extensions de répertoire qui sont inscrites sur l’application à l’aide de revendications facultatives qui peuvent être définies dans le manifeste de l’application.

Les applications multilocataires peuvent ensuite inscrire des attributs d’extension de répertoire pour leur propre utilisation. Lorsque l’application est mise à disposition dans un locataire, les extensions de répertoire associées sont disponibles et consommées par les utilisateurs de ce locataire. Une fois l’extension de répertoire disponible, elle peut être utilisée pour stocker et récupérer des données à l’aide de Microsoft Graph. L’extension de répertoire peut également mapper aux revendications dans les jetons que la plateforme d'identités Microsoft émet aux applications.

Si une application doit envoyer des revendications avec des données d'attribut d’extension qui sont inscrites dans une autre application, une stratégie de mappage des revendications doit être utilisée pour mapper l’attribut d’extension vers la revendication.

Un modèle courant de gestion des attributs d’extension d’annuaire consiste à enregistrer une application spécifique pour toutes les extensions de répertoire dont vous avez besoin. Lorsque vous utilisez ce type d’application, toutes les extensions ont le même appID dans leur nom.

Par exemple, le code suivant montre une stratégie de mappage des réclamations pour émettre une revendication unique à partir d’un attribut d’extension de répertoire dans un jeton OAuth/OIDC :

{
    "ClaimsMappingPolicy": {
        "Version": 1,
        "IncludeBasicClaimSet": "false",
        "ClaimsSchema": [{
                "Source": "User",
                "ExtensionID": "extension_xxxxxxx_test",
                "JWTClaimType": "http://schemas.contoso.com/identity/claims/exampleclaim"
            },
        ]
    }
}

xxxxxxx est l’appID (ou l’ID client) de l’application avec laquelle l’extension a été inscrite.

Avertissement

Lorsque vous définissez une stratégie de mappage des revendications pour un attribut d’extension des répertoires, utilisez la propriété ExtensionID plutôt que la propriété ID dans le corps du tableau ClaimsSchema, comme indiqué dans l’exemple précédent.

Conseil

La cohérence de la casse est importante lors de la configuration des attributs d’extension de répertoire sur les objets. Les noms d’attribut d’extension ne sont pas sensibles à la casse lors de leur configuration, mais ils le sont lorsqu’ils sont lus par le service de jetons depuis le répertoire. Si un attribut d’extension est configuré sur un objet utilisateur avec le nom « LegacyId » et sur un autre objet utilisateur avec le nom « legacyid », lorsque l’attribut est mappé à une revendication avec le nom « LegacyId », les données sont récupérées et la revendication est incluse dans le jeton pour le premier utilisateur, mais pas pour le second.

Étapes suivantes