Udostępnij przez


Używanie zestawu SDK Microsoft Purview z frameworkem Agent Framework

Usługa Microsoft Purview zapewnia funkcje zabezpieczeń danych klasy korporacyjnej, zgodności i zarządzania dla aplikacji sztucznej inteligencji. Dzięki zintegrowaniu interfejsów API usługi Purview w zestawie SDK platformy Agent Framework deweloperzy mogą tworzyć inteligentnych agentów, którzy są bezpieczni zgodnie z projektem, zapewniając jednocześnie ochronę poufnych danych w monitach i odpowiedziach oraz ich zgodność z zasadami organizacyjnymi.

Dlaczego warto zintegrować usługę Purview z platformą Agent Framework?

  • Zapobiegaj wyciekom poufnych danych: wbudowane blokowanie poufnej zawartości na podstawie zasad ochrony przed utratą danych (DLP).
  • Włącz nadzór: rejestrowanie interakcji ze sztuczną inteligencją w usłudze Purview na potrzeby inspekcji, zgodności komunikacji, zarządzania ryzykiem wewnętrznym, zbierania elektronicznych materiałów dowodowych i zarządzania cyklem życia danych.
  • Przyspieszanie wdrażania: klienci korporacyjni wymagają zgodności z aplikacjami sztucznej inteligencji. Integracja usługi Purview odblokuje wdrożenie.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz:

  • Subskrypcja platformy Microsoft Azure ze skonfigurowaną usługą Microsoft Purview.
  • Subskrypcja platformy Microsoft 365 z licencją E5 i konfiguracją rozliczeń z płatnością zgodnie z rzeczywistym użyciem.
  • Zestaw SDK platformy agentów: aby zainstalować Zestaw SDK platformy agentów:
    • Python: Uruchom pip install agent-framework --pre.
    • .NET: Zainstaluj z narzędzia NuGet.

Jak zintegrować usługę Microsoft Purview z agentem

W potoku przepływu pracy oprogramowania pośredniczącego agenta można dodać oprogramowanie pośredniczące zasad Microsoft Purview, aby przechwytywać zapytania i odpowiedzi oraz określić, czy spełniają one zasady skonfigurowane w Microsoft Purview. Zestaw SDK platformy Agent Framework może przechwytywać komunikaty i odpowiedzi w czacie pomiędzy agentem a agentem lub użytkownikiem końcowym.

pl-PL: Poniższy przykładowy kod pokazuje, jak dodać oprogramowanie pośredniczące do zarządzania zasadami w Microsoft Purview do kodu agenta. Jeśli dopiero zaczynasz korzystać z platformy Agent Framework, zobacz Tworzenie i uruchamianie agenta za pomocą platformy 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);

Ostrzeżenie

DefaultAzureCredential jest wygodne do programowania, ale wymaga starannego rozważenia w środowisku produkcyjnym. W środowisku produkcyjnym rozważ użycie określonego poświadczenia (np. ManagedIdentityCredential), aby uniknąć problemów z opóźnieniami, niezamierzonego sondowania poświadczeń i potencjalnych zagrożeń bezpieczeństwa wynikających z mechanizmów awaryjnych.

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

Dalsze kroki

Po dodaniu powyższego kodu do agenta wykonaj następujące kroki, aby przetestować integrację usługi Microsoft Purview z kodem:

  1. Rejestracja Entra: Zarejestruj agenta i dodaj wymagane uprawnienia programu Microsoft Graph (ProtectionScopes.Compute.All, ContentActivity.Write, Content.Process.All) do zasady usługi. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji w Microsoft Entra ID i typ zasobu dataSecurityAndGovernance. W następnym kroku będziesz potrzebować identyfikatora aplikacji Microsoft Entra.
  2. Zasady usługi Purview: skonfiguruj zasady usługi Purview przy użyciu identyfikatora aplikacji Microsoft Entra, aby umożliwić przepływ danych komunikacji agenta do usługi Purview. Aby uzyskać więcej informacji, zobacz Konfigurowanie usługi Microsoft Purview.

Zasoby