Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft Purview предоставляет возможности обеспечения безопасности данных корпоративного уровня, соответствия требованиям и управления для приложений искусственного интеллекта. Интегрируя API Purview в пакет SDK для Agent Framework, разработчики могут создавать интеллектуальные агенты, защищенные по проектированию, обеспечивая защиту конфиденциальных данных в запросах и ответах и соответствие политикам организации.
Зачем интегрировать Purview с Agent Framework?
- Предотвращение утечки конфиденциальных данных: встроенная блокировка конфиденциального содержимого на основе политик защиты от потери данных (DLP).
- Включение управления: ведение журнала взаимодействий ИИ в Purview для аудита, соответствия требованиям коммуникации, управления внутренними рисками, обнаружения электронных данных и управления жизненным циклом данных.
- Ускорение внедрения: корпоративным клиентам требуется соответствие приложениям ИИ. Интеграция Purview разблокирует развертывание.
Предпосылки
Прежде чем начать, убедитесь, что у вас есть следующее:
- Подписка на Microsoft Azure, настроенная с Microsoft Purview.
- Подписка на Microsoft 365 с лицензией E5 и моделью выставления счетов по мере использования.
- Для тестирования можно использовать клиент программы разработчика Microsoft 365. Дополнительные сведения см. в статье "Присоединение к программе разработчика Microsoft 365".
- Пакет SDK для Agent Framework. Чтобы установить пакет SDK для Agent Framework, выполните следующие действия.
- Python: выполните
pip install agent-framework --pre. - .NET: установка из NuGet.
- Python: выполните
Интеграция Microsoft Purview с агентом
В конвейере компонентов промежуточного слоя рабочего процесса агента можно добавить компонент промежуточного слоя политики Microsoft Purview для перехвата ответов и запросов, чтобы определить, соответствуют ли они политикам, установленным в Microsoft Purview. Agent Framework SDK может перехватывать сообщения и ответы в чате между агентами или с конечным пользователем.
В следующем примере кода показано, как добавить ПО промежуточного слоя политики Microsoft Purview в код агента. Если вы не знакомы с Agent Framework, см. статью "Создание и запуск агента с помощью 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);
Предупреждение
DefaultAzureCredential удобно для разработки, но требует тщательного рассмотрения в рабочей среде. В рабочей среде рекомендуется использовать определенные учетные данные (например, ManagedIdentityCredential), чтобы избежать проблем с задержкой, непреднамеренной проверки данных аутентификации и потенциальных рисков безопасности из-за резервных механизмов.
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())
Дальнейшие шаги
Теперь, когда вы добавили приведенный выше код в агент, выполните следующие действия, чтобы проверить интеграцию Microsoft Purview с кодом:
- Регистрация Entra: Зарегистрируйте вашего агента и добавьте необходимые разрешения Microsoft Graph (ProtectionScopes.Compute.All, ContentActivity.Write, Content.Process.All) для Учетной записи службы. Дополнительные сведения см. в разделе "Регистрация приложения" в типе ресурса Microsoft Entra ID и dataSecurityAndGovernance. На следующем шаге потребуется идентификатор приложения Microsoft Entra.
- Политики Purview: Настройте политики Purview, используя идентификатор приложения Microsoft Entra для обеспечения поступления данных агентской связи в Purview. Дополнительные сведения см. в разделе "Настройка Microsoft Purview".
Ресурсы
- Nuget: Microsoft.Agents.AI.Purview
- Github: Microsoft.Agent.AI.Purview
- Пример: AgentWithPurview