Partager via


Utiliser le Kit de développement logiciel (SDK) Microsoft Purview avec Agent Framework

Microsoft Purview fournit des fonctionnalités de sécurité, de conformité et de gouvernance des données de qualité entreprise pour les applications d'IA. En intégrant des API Purview dans le Kit de développement logiciel (SDK) Agent Framework, les développeurs peuvent créer des agents intelligents sécurisés par conception, tout en garantissant que les données sensibles dans les invites et les réponses sont protégées et conformes aux stratégies organisationnelles.

Pourquoi intégrer Purview à Agent Framework ?

  • Empêcher les fuites de données sensibles : blocage inline du contenu sensible en fonction des stratégies de protection contre la perte de données (DLP).
  • Activer la gouvernance : Journaliser les interactions avec l'IA dans Purview pour l’audit, la conformité des communications, la gestion des risques internes, l'eDiscovery et la gestion du cycle de vie des données.
  • Accélérer l’adoption : les clients d’entreprise nécessitent la conformité pour les applications IA. L’intégration Purview débloque le déploiement.

Prerequisites

Avant de commencer, vérifiez que vous disposez des points suivants :

  • Abonnement Microsoft Azure avec Microsoft Purview configuré.
  • Abonnement Microsoft 365 avec une licence E5 et une configuration de facturation avec paiement à l’utilisation.
  • Kit de développement logiciel (SDK) Agent Framework : Pour installer le Kit de développement logiciel (SDK) Agent Framework :
    • Python : Exécuter pip install agent-framework --pre.
    • .NET : Installer à partir de NuGet.

Comment intégrer Microsoft Purview à votre agent

Dans le pipeline de middleware de flux de travail de votre agent, vous pouvez ajouter le middleware de stratégie Microsoft Purview afin d'intercepter les appels et les réponses pour vérifier leur conformité avec les stratégies configurées dans Microsoft Purview. Le SDK (Kit de développement logiciel) Agent Framework est capable d’intercepter les sollicitations et les réponses des clients de messagerie entre agents ou entre un agent et un utilisateur final.

L’exemple de code suivant montre comment ajouter l’intergiciel de stratégie Microsoft Purview à votre code d’agent. Si vous débutez avec Agent Framework, consultez Créer et exécuter un agent avec Agent Framework.


using Azure.AI.OpenAI;
using Azure.Core;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Purview;
using Microsoft.Extensions.AI;
using OpenAI;

string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is not set.");
string deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME") ?? "gpt-4o-mini";
string purviewClientAppId = Environment.GetEnvironmentVariable("PURVIEW_CLIENT_APP_ID") ?? throw new InvalidOperationException("PURVIEW_CLIENT_APP_ID is not set.");

TokenCredential browserCredential = new InteractiveBrowserCredential(
    new InteractiveBrowserCredentialOptions
    {
        ClientId = purviewClientAppId
    });

AIAgent agent = new AzureOpenAIClient(
    new Uri(endpoint),
    new DefaultAzureCredential())
    .GetChatClient(deploymentName)
    .AsAIAgent("You are a secure assistant.")
    .AsBuilder()
    .WithPurview(browserCredential, new PurviewSettings("My Secure Agent"))
    .Build();

AgentResponse response = await agent.RunAsync("Summarize zero trust in one sentence.").ConfigureAwait(false);
Console.WriteLine(response);

Avertissement

DefaultAzureCredential est pratique pour le développement, mais nécessite une considération minutieuse en production. En production, envisagez d’utiliser des informations d’identification spécifiques (par exemple ManagedIdentityCredential) pour éviter les problèmes de latence, la détection involontaire des informations d’identification et les risques de sécurité potentiels liés aux mécanismes de secours.

import asyncio
import os
from agent_framework import Agent, Message, Role
from agent_framework.azure import AzureOpenAIChatClient
from agent_framework.microsoft import PurviewPolicyMiddleware, PurviewSettings
from azure.identity import AzureCliCredential, InteractiveBrowserCredential

# Set default environment variables if not already set
os.environ.setdefault("AZURE_OPENAI_ENDPOINT", "<azureOpenAIEndpoint>")
os.environ.setdefault("AZURE_OPENAI_CHAT_DEPLOYMENT_NAME", "<azureOpenAIChatDeploymentName>")

async def main():
    chat_client = AzureOpenAIChatClient(credential=AzureCliCredential())
    purview_middleware = PurviewPolicyMiddleware(
        credential=InteractiveBrowserCredential(
            client_id="<clientId>",
        ),
        settings=PurviewSettings(app_name="My Secure Agent")
    )
    agent = Agent(
        chat_client=chat_client,
        instructions="You are a secure assistant.",
        middleware=[purview_middleware]
    )
    response = await agent.run(Message(role='user', contents=["Summarize zero trust in one sentence."]))
    print(response)

  if __name__ == "__main__":
    asyncio.run(main())

Prochaines étapes

Maintenant que vous avez ajouté le code ci-dessus à votre agent, procédez comme suit pour tester l’intégration de Microsoft Purview à votre code :

  1. Inscription d’Entra : Inscrivez votre agent et ajoutez les autorisations Microsoft Graph requises (ProtectionScopes.Compute.All, ContentActivity.Write, Content.Process.All) au Service Principal. Pour plus d’informations, consultez Inscrire une application dans le type de ressource Microsoft Entra ID et dataSecurityAndGovernance. Vous aurez besoin de l’ID d’application Microsoft Entra à l’étape suivante.
  2. Stratégies Purview : Configurez des stratégies Purview à l’aide de l’ID d’application Microsoft Entra pour permettre aux données de communication de l’agent de circuler dans Purview. Pour plus d’informations, consultez Configurer Microsoft Purview.

Ressources