Freigeben über


Verwenden des Microsoft Purview SDK mit Agent Framework

Microsoft Purview bietet Sicherheits-, Compliance- und Governancefunktionen auf Unternehmensniveau für KI-Anwendungen. Durch die Integration von Purview-APIs in das Agent Framework SDK können Entwickler intelligente Agents erstellen, die designbedingt sicher sind, und gleichzeitig sicherstellen, dass vertrauliche Daten in Eingabeaufforderungen und Antworten geschützt und den Organisationsrichtlinien entsprechen.

Gründe für die Integration von Purview in Agent Framework?

  • Verhindern vertraulicher Datenlecks: Inline-Blockierung vertraulicher Inhalte basierend auf DLP-Richtlinien (Data Loss Prevention).
  • Aktivieren sie Governance: Protokollieren von KI-Interaktionen in Purview für Überwachung, Kommunikationscompliance, Insider-Risikomanagement, eDiscovery und Data Lifecycle Management.
  • Beschleunigen der Einführung: Unternehmenskunden erfordern Compliance für KI-Apps. Die Purview-Integration entsperrt die Bereitstellung.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie folgendes haben:

  • Microsoft Azure-Abonnement mit Microsoft Purview konfiguriert.
  • Microsoft 365-Abonnement mit einer E5-Lizenz und nutzungsabhängigem Abrechnungsmodell.
  • Agent Framework SDK: So installieren Sie das Agent Framework SDK:
    • Python: Ausführen pip install agent-framework --pre.
    • .NET: Installieren von NuGet.

So integrieren Sie Microsoft Purview in Ihren Agent

In der Workflow-Middleware-Pipeline Ihres Agents können Sie microsoft Purview-Richtlinien-Middleware hinzufügen, um Eingabeaufforderungen und Antworten abzufangen, um festzustellen, ob sie die in Microsoft Purview eingerichteten Richtlinien erfüllen. Das Agent Framework SDK kann Agent-zu-Agent- oder Endbenutzer-Chatclientaufforderungen und -antworten abfangen.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie ihrem Agentcode die Microsoft Purview-Richtlinien-Middleware hinzufügen. Wenn Sie mit Agent Framework noch nicht vertraut sind, lesen Sie " Erstellen und Ausführen eines Agents mit 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);

Warnung

DefaultAzureCredential ist praktisch für die Entwicklung, erfordert aber sorgfältige Überlegungen in der Produktion. Berücksichtigen Sie in der Produktion die Verwendung bestimmter Anmeldeinformationen (z. B. ManagedIdentityCredential), um Latenzprobleme, unbeabsichtigte Abfragen von Anmeldeinformationen und potenzielle Sicherheitsrisiken durch Ausweichmechanismen zu vermeiden.

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())

Nächste Schritte

Nachdem Sie ihrem Agent nun den obigen Code hinzugefügt haben, führen Sie die folgenden Schritte aus, um die Integration von Microsoft Purview in Ihren Code zu testen:

  1. Entra-Registrierung: Registrieren Sie Ihren Agenten, und fügen Sie dem Service Principal die erforderlichen Microsoft Graph-Berechtigungen (ProtectionScopes.Compute.All, ContentActivity.Write, Content.Process.All) hinzu. Weitere Informationen finden Sie unter Registrieren einer Anwendung im Ressourcentyp "Microsoft Entra ID " und "dataSecurityAndGovernance". Im nächsten Schritt benötigen Sie die Microsoft Entra-App-ID.
  2. Purview-Richtlinien: Konfigurieren Sie Purview-Richtlinien mithilfe der Microsoft Entra-App-ID, um die Übertragung von Agentkommunikationsdaten in Purview zu ermöglichen. Weitere Informationen finden Sie unter Konfigurieren von Microsoft Purview.

Ressourcen