Authentifier avec l’identité gérée

S’APPLIQUE À : Tous les niveaux de Gestion des API

La stratégie authentication-managed-identity permet l’authentification auprès d’un service principal à l’aide de l’identité managée. Cette stratégie utilise essentiellement l’identité managée pour obtenir un jeton d’accès auprès de Microsoft Entra ID afin d’accéder à la ressource spécifiée. Une fois le jeton obtenu, la stratégie définit la valeur du jeton dans l'en-tête Authorization à l’aide du schéma Bearer. Gestion des API met en cache le jeton jusqu’à son expiration.

Tant les identités attribuées par le système que les identités attribuées par l’utilisateur permettent de demander un jeton. Si la valeur client-id n’est pas fournie, l’identité attribuée par le système est supposée. Si la variable client-id est fournie, un jeton est demandé pour cette identité attribuée par l’utilisateur à partir de Microsoft Entra ID.

Remarque

Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.

Instruction de la stratégie

<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" output-token-variable-name="token-variable" ignore-error="true|false"/>  

Attributs

Attribut Description Obligatoire Default
resource Chaîne. ID d’application de l’API web cible (ressource sécurisée) dans Microsoft Entra ID. Les expressions de stratégie sont autorisées. Oui N/A
client-id Chaîne. ID de client de l’identité attribuée par l’utilisateur dans Microsoft Entra ID. Les expressions de stratégie ne sont pas autorisées. Non identité attribuée par le système
output-token-variable-name Chaîne. Nom de la variable de contexte qui recevra la valeur du jeton en tant que type d’objet string. Les expressions de stratégie ne sont pas autorisées. Non N/A
ignore-error Propriété booléenne. Si cet attribut a la valeur true, le pipeline de stratégie continue à s’exécuter même si aucun jeton d’accès n’est obtenu. Non false

Usage

Exemples

Utiliser Identité managée pour s’authentifier auprès d’un service principal

<authentication-managed-identity resource="https://graph.microsoft.com"/> 
<authentication-managed-identity resource="https://management.azure.com/"/> <!--Azure Resource Manager-->
<authentication-managed-identity resource="https://vault.azure.net"/> <!--Azure Key Vault-->
<authentication-managed-identity resource="https://servicebus.azure.net/"/> <!--Azure Service Bus-->
<authentication-managed-identity resource="https://eventhubs.azure.net/"/> <!--Azure Event Hub-->
<authentication-managed-identity resource="https://storage.azure.com/"/> <!--Azure Blob Storage-->
<authentication-managed-identity resource="https://database.windows.net/"/> <!--Azure SQL-->
<authentication-managed-identity resource="AD_application_id"/> <!--Application (client) ID of your own Azure AD Application-->

Utiliser l’identité managée et définir l’en-tête manuellement

<authentication-managed-identity resource="AD_application_id"
   output-token-variable-name="msi-access-token" ignore-error="false" /> <!--Application (client) ID of your own Azure AD Application-->
<set-header name="Authorization" exists-action="override">
   <value>@("Bearer " + (string)context.Variables["msi-access-token"])</value>
</set-header>

Utiliser Identité managée dans la stratégie d’envoi de requête

<send-request mode="new" timeout="20" ignore-error="false">
    <set-url>https://example.com/</set-url>
    <set-method>GET</set-method>
    <authentication-managed-identity resource="ResourceID"/>
</send-request>

Pour plus d’informations sur l’utilisation des stratégies, consultez :