Megosztás:


A Microsoft Purview SDK használata az Agent Framework használatával

A Microsoft Purview nagyvállalati szintű adatbiztonsági, megfelelőségi és szabályozási képességeket biztosít az AI-alkalmazásokhoz. A Purview API-knak az Agent Framework SDK-ban való integrálásával a fejlesztők olyan intelligens ügynököket hozhatnak létre, amelyek tervezéssel biztonságosak, miközben a kérésekben és válaszokban lévő bizalmas adatok védettek és megfelelnek a szervezeti szabályzatoknak.

Miért integrálható a Purview az Ügynök-keretrendszerrel?

  • Bizalmas adatszivárgások megakadályozása: A bizalmas tartalmak beágyazott blokkolása adatveszteség-megelőzési (DLP-) szabályzatok alapján.
  • Szabályozás engedélyezése: Naplózza az AI-interakciókat a Purview-ban a naplózásra, kommunikációs megfelelőségért, belső kockázatkezelésért, eDiscovery-ért és az adatéletciklus-kezelésért.
  • Gyors bevezetés: A nagyvállalati ügyfeleknek megfelelőségre van szükségük az AI-alkalmazásokhoz. A Purview-integráció feloldja az üzembe helyezés letiltását.

Előfeltételek

Mielőtt hozzákezdene, győződjön meg arról, hogy:

  • Microsoft Azure-előfizetés, amelyben a Microsoft Purview konfigurálva van.
  • Microsoft 365-előfizetés E5-licenccel és használatalapú fizetéses számlázással.
  • Agent Framework SDK: Az Agent Framework SDK telepítése:
    • Python: Futtatás pip install agent-framework --pre.
    • .NET: Telepítés a NuGetből.

A Microsoft Purview integrálása az ügynökbe

Az ügynök munkafolyamatának köztes szoftverében hozzáadhatja a Microsoft Purview szabályzatok köztes szoftverét, hogy elfogja az utasításokat és a válaszokat, és megállapítsa, hogy megfelelnek-e a Microsoft Purview-ban beállított szabályzatoknak. Az Agent Framework SDK képes elfogni az ügynökök közötti vagy végfelhasználói chat kliensének kéréseit és válaszait.

Az alábbi kódminta bemutatja, hogyan adhatja hozzá a Microsoft Purview szabályzatközvetítőt az ügynökkódhoz. Ha még nem ismerkedik az Ügynök-keretrendszerrel, olvassa el az Ügynök keretrendszerrel rendelkező ügynök létrehozása és futtatása című témakört.


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

Figyelmeztetés

DefaultAzureCredential a fejlesztéshez kényelmes, de a termelési környezetben gondos megfontolást igényel. Éles környezetben fontolja meg egy adott hitelesítő adat (pl. ManagedIdentityCredential) használatát a késési problémák elkerülése, a hitelesítő adatok nem szándékos próbálgatásának és a tartalék mechanizmusokból eredő esetleges biztonsági kockázatok elkerülése érdekében.

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

Következő lépések

Most, hogy hozzáadta a fenti kódot az ügynökhöz, hajtsa végre a következő lépéseket a Microsoft Purview kódba való integrálásának teszteléséhez:

  1. Entra-regisztráció: Regisztrálja az ügynököt, és adja hozzá a szükséges Microsoft Graph-engedélyeket (ProtectionScopes.Compute.All, ContentActivity.Write, Content.Process.All) a szolgáltatás-főnévhez. További információ: Alkalmazás regisztrálása a Microsoft Entra-azonosítóban és a dataSecurityAndGovernance erőforrástípusban. A következő lépésben szüksége lesz a Microsoft Entra alkalmazásazonosítóra.
  2. Purview-szabályzatok: Konfigurálja a Purview-szabályzatokat a Microsoft Entra alkalmazásazonosítójával, hogy az ügynökkommunikációs adatok átfolyjanak a Purview-ba. További információ: Microsoft Purview konfigurálása.

Resources