Sdílet prostřednictvím


Použití sady Microsoft Purview SDK s architekturou agenta

Microsoft Purview poskytuje možnosti zabezpečení dat, dodržování předpisů a zásad správného řízení na podnikové úrovni pro aplikace AI. Díky integraci rozhraní Purview API do sady SDK pro agenty můžou vývojáři vytvářet inteligentní agenty, které jsou zabezpečené návrhem, a zároveň zajistit ochranu citlivých dat v výzev a odpovědích a jejich dodržování se zásadami organizace.

Proč integrovat Purview s agentem Framework?

  • Prevence úniku citlivých dat: Vložené blokování citlivého obsahu na základě zásad ochrany před únikem informací
  • Povolení správy: Zaznamenávání interakcí AI v Purview pro audit, zajištění souladu komunikace, řízení rizik insiderů, eDiscovery a správu životního cyklu dat.
  • Zrychlení přijetí: Podnikoví zákazníci vyžadují dodržování předpisů pro aplikace AI. Integrace Purview odblokuje nasazení.

Požadavky

Než začnete, ujistěte se, že máte:

  • Předplatné Microsoft Azure s nakonfigurovaným Microsoft Purview.
  • Předplatné Microsoftu 365 s licencí E5 a nastavením fakturace s průběžnými platbami
  • Sada SDK pro rozhraní Agent Framework: Instalace sady SDK pro rozhraní Agent Framework:
    • Python: Spusťte pip install agent-framework --pre.
    • .NET: Nainstalujte z NuGetu.

Jak integrovat Microsoft Purview do vašeho agenta

V kanálu middlewaru pracovního postupu vašeho agenta můžete přidat middleware zásad Microsoft Purview, abyste zachytili výzvy a odpovědi, abyste zjistili, jestli splňují zásady nastavené v Microsoft Purview. Sada SDK pro rozhraní Agent Framework dokáže zachytit výzvy a odpovědi klienta chatu mezi agenty nebo koncovým uživatelem.

Následující ukázka kódu ukazuje, jak přidat zásady middlewaru Microsoft Purview do kódu agenta. Pokud s architekturou agenta začínáte, přečtěte si téma Vytvoření a spuštění agenta pomocí rozhraní 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);

Výstraha

DefaultAzureCredential je vhodný pro vývoj, ale vyžaduje pečlivé zvážení v produkčním prostředí. V produkčním prostředí zvažte použití konkrétních přihlašovacích údajů (např ManagedIdentityCredential. ) k zabránění problémům s latencí, neúmyslnému testování přihlašovacích údajů a potenciálním bezpečnostním rizikům z náhradních mechanismů.

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

Další kroky

Teď, když jste do agenta přidali výše uvedený kód, proveďte následující kroky a otestujte integraci Microsoft Purview do kódu:

  1. Registrace Entra: Zaregistrujte agenta a přidejte požadovaná oprávnění Microsoft Graph (ProtectionScopes.Compute.All, ContentActivity.Write, Content.Process.All) do Service Principal. Další informace naleznete v tématu Registrace aplikace v Microsoft Entra ID a typ prostředku dataSecurityAndGovernance. V dalším kroku budete potřebovat ID aplikace Microsoft Entra.
  2. Zásady Purview: Nakonfigurujte zásady Purview pomocí ID aplikace Microsoft Entra, abyste umožnili tok komunikačních dat agenta do Purview. Další informace naleznete v tématu Konfigurace Microsoft Purview.

Zdroje informací