مايكروسوفت بورفيو

يوفر Microsoft Purview قدرات أمان البيانات والامتثال والحوكمة على مستوى المؤسسة لتطبيقات الذكاء الاصطناعي. من خلال دمج واجهات برمجة تطبيقات Purview داخل Agent Framework SDK، يمكن للمطورين إنشاء عوامل ذكية آمنة حسب التصميم، مع ضمان حماية البيانات الحساسة في المطالبات والاستجابات ومتوافقة مع النهج التنظيمية.

لماذا دمج Purview مع Agent Framework؟

  • منع تسرب البيانات الحساسة: الحظر المضمن للمحتوى الحساس استنادا إلى نهج منع فقدان البيانات (DLP).
  • تمكين الحوكمة: تسجيل تفاعلات الذكاء الاصطناعي في Purview للتدقيق وتوافق الاتصالات وإدارة المخاطر الداخلية وeDiscovery وإدارة دورة حياة البيانات.
  • تسريع الاعتماد: يتطلب عملاء المؤسسات الامتثال لتطبيقات الذكاء الاصطناعي. إلغاء حظر نشر تكامل Purview.

المتطلبات الأساسية

قبل أن تبدأ، تأكد من أنك تملك:

  • Microsoft Azure الاشتراك مع تكوين Microsoft Purview.
  • Microsoft 365 الاشتراك مع ترخيص E5 وإعداد فوترة الدفع أولا بأول.
  • Agent Framework SDK: لتثبيت Agent Framework SDK:
    • Python: قم بتشغيل pip install agent-framework.
    • .NET: تثبيت من NuGet.

كيفية دمج Microsoft Purview في وكيلك

في مسار البرنامج الوسيط لسير عمل العامل الخاص بك، يمكنك إضافة برنامج وسيط للنهج Microsoft Purview لاعتراض المطالبات والاستجابات لتحديد ما إذا كانت تفي بالنهج التي تم إعدادها في Microsoft Purview. يمكن ل Agent Framework SDK اعتراض مطالبات واستجابات عميل دردشة العامل إلى الوكيل أو المستخدم النهائي.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة البرنامج الوسيط لنهج Microsoft Purview إلى التعليمات البرمجية للعامل الخاص بك. إذا كنت جديدا على إطار عمل العامل، فشاهد إنشاء عامل وتشغيله باستخدام إطار عمل العامل.


using Azure.AI.Projects;
using Azure.Core;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Purview;

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 AIProjectClient(
    new Uri(endpoint),
    new DefaultAzureCredential())
    .AsAIAgent(
        model: deploymentName,
        instructions: "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);

تحذير

DefaultAzureCredential مناسب للتنمية ولكنه يتطلب دراسة متأنية في الإنتاج. في الإنتاج، ضع في اعتبارك استخدام بيانات اعتماد محددة (على سبيل المثال، ManagedIdentityCredential) لتجنب مشكلات زمن الانتقال، وبحث بيانات الاعتماد غير المقصودة، والمخاطر الأمنية المحتملة من الآليات الاحتياطية.

import asyncio
import os
from agent_framework import Agent, Message
from agent_framework.openai import OpenAIChatCompletionClient
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_COMPLETION_MODEL", "<azureOpenAIChatDeploymentName>")

async def main():
    chat_client = OpenAIChatCompletionClient(
        model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
        azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
        api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
        credential=AzureCliCredential(),
    )
    purview_middleware = PurviewPolicyMiddleware(
        credential=InteractiveBrowserCredential(
            client_id="<clientId>",
        ),
        settings=PurviewSettings(app_name="My Secure Agent")
    )
    agent = Agent(
        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())

الخطوات التالية

الآن بعد أن أضفت التعليمات البرمجية أعلاه إلى وكيلك، قم بتنفيذ الخطوات التالية لاختبار تكامل Microsoft Purview في التعليمات البرمجية الخاصة بك:

  1. تسجيل الإدخالات: سجل الوكيل وأضف أذونات Microsoft Graph المطلوبة (ProtectionScopes.Compute.All، ContentActivity.Write، Content.Process.All) إلى كيان الخدمة. لمزيد من المعلومات، راجع تسجيل تطبيق في Microsoft Entra IDوالبياناتSecurityAndGovernance نوع المورد. ستحتاج إلى معرف تطبيق Microsoft Entra في الخطوة التالية.
  2. نهج Purview: تكوين نهج Purview باستخدام معرف التطبيق Microsoft Entra لتمكين بيانات اتصالات العامل من التدفق إلى Purview. لمزيد من المعلومات، راجع تكوين Microsoft Purview.

Resources

Note

سيتوفر الدعم لهذه الميزة قريبا. راجع مستودع Agent Framework Go للحصول على أحدث حالة.