Корпоративні AI агенти без належного контролю доступу — це пряма дорога до витоку даних, несанкціонованих дій і порушення комплаєнсу. Microsoft Agent Governance Toolkit (AGT) дозволяє налаштувати гранулярні політики безпеки, аудит дій агента та рольову модель доступу буквально за кілька годин. Цей туторіал проведе тебе від нульового стану до повністю захищеного агента з логуванням усіх дій — знадобиться приблизно 2–3 години та базові знання Azure і Python.
🛠️ Що знадобиться
- Azure Subscription (2026) — основне хмарне середовище для розгортання агента; є безкоштовний тріал на 30 днів із кредитом $200
- Microsoft Agent Governance Toolkit (AGT v2.x) — головний інструмент для налаштування політик і контролю доступу; безкоштовний, встановлюється через pip
- Azure AI Foundry — платформа для створення та хостингу самого AI агента; включена в Azure підписку
- Python 3.11+ — мова для конфігурації агента та написання policy-скриптів; безкоштовний
- Azure CLI 2.60+ — для керування ресурсами з термінала; безкоштовний
- VS Code із розширенням Azure Tools — зручне IDE для роботи з проєктом; безкоштовний
📋 Покрокова інструкція
Крок 1: Підготовка Azure середовища та встановлення AGT
Відкрий термінал і виконай az login — браузер відкриє вікно авторизації Microsoft, введи свої корпоративні облікові дані. Після входу виконай az group create --name rg-ai-agent-secure --location eastus2, щоб створити ресурсну групу. Далі встанови AGT командою pip install azure-agent-governance-toolkit==2.4.0 і перевір встановлення через agt --version — у відповідь маєш побачити рядок типу AGT 2.4.0 (Azure Agent Governance Toolkit). Також встанови допоміжну бібліотеку: pip install azure-identity azure-ai-projects.

Крок 2: Створення AI агента в Azure AI Foundry
Зайди на ai.azure.com, натисни кнопку + New Project у лівому верхньому куті, введи назву secure-agent-demo і вибери регіон East US 2. У розділі Models натисни Deploy Model → GPT-4o, встанови Capacity на значення 10K tokens/min і натисни Deploy. Після розгортання (займає 2–3 хвилини) перейди до розділу Agents → + Create Agent, введи системний промпт: You are a corporate assistant. Never reveal confidential data. Always check user permissions before executing actions. Збережи Agent ID — він знадобиться далі. Підводний камінь: не закривай вкладку до отримання Agent ID, інакше доведеться шукати його через API.
Крок 3: Налаштування рольової моделі доступу (RBAC)
Створи файл governance_policy.yaml у своєму проєкті та встав таку конфігурацію: у секції roles опиши три ролі — agent_viewer (лише читання відповідей), agent_operator (виконання інструментів без доступу до фінансових даних) та agent_admin (повний доступ). Для кожної ролі в секції permissions вкажи дозволені дії через список: наприклад, для agent_viewer залиш тільки - read_response, а для agent_operator додай - execute_tool та - read_response, але явно заборони deny: [access_financial_data, modify_system_config]. Далі в терміналі виконай agt policy apply --file governance_policy.yaml --agent-id <твій_agent_id> --subscription <твій_subscription_id> — у відповідь маєш отримати Policy applied successfully. Version: 1.0.
Крок 4: Інтеграція перевірки токенів та аудит-логування
Створи файл secure_agent_client.py і додай імпорти: from azure.identity import DefaultAzureCredential, from azure_agent_governance import AGTClient, AuditLogger. Ініціалізуй клієнт: credential = DefaultAzureCredential(), agt_client = AGTClient(agent_id="<agent_id>", credential=credential). Далі налаштуй аудит-логер — audit = AuditLogger(workspace="rg-ai-agent-secure", log_level="ALL") і декоруй кожен виклик агента декоратором @audit.track(action="agent_query", capture_input=True, capture_output=True). Усередині функції виклику додай перевірку ролі: agt_client.verify_permission(user_token=token, required_permission="execute_tool") — якщо перевірка не пройде, буде кинуто AccessDeniedError із детальним описом, що саме заблоковано. Запусти скрипт командою python secure_agent_client.py --test-mode і переконайся, що в консолі з’явився рядок Audit stream connected. Logging to Azure Monitor.
Крок 5: Тестування безпеки та перевірка дашборду
Запусти набір вбудованих тестів AGT командою agt security-test --agent-id <agent_id> --test-suite full — тулкіт автоматично спробує 47 стандартних атак (prompt injection, privilege escalation, data exfiltration) і поверне звіт у форматі JSON. Відкрий Azure Portal → Monitor → Log Analytics, вибери воркспейс rg-ai-agent-secure і введи KQL-запит: AuditLogs | where Category == "AGT" | summarize count() by ActionType, UserRole | order by count_ desc — ти побачиш зведену таблицю всіх дій агента з розбивкою по ролях. Нарешті, у ai.azure.com → твій проєкт → Governance Dashboard натисни Refresh — там з’явиться інтерактивний дашборд із показниками відмов у доступі, спробами порушень і загальним compliance-score. Фінальний результат: compliance-score має бути не менше 85%, а всі 47 security-тестів — пройдені зі статусом BLOCKED або PASSED.
⚠️ Типові помилки та як їх уникнути
- DefaultAzureCredential не підхоплює права агента — переконайся, що сервіс-принципал AGT має роль
Cognitive Services OpenAI Contributorна рівні ресурсної групи; виконайaz role assignment create --assignee <client_id> --role "Cognitive Services OpenAI Contributor" --scope /subscriptions/<id>/resourceGroups/rg-ai-agent-secure - Політика YAML застосовується без помилок, але не блокує дії — перевір, що у файлі правильно вказано
enforcement_mode: enforced, а неaudit; у режиміauditпорушення лише логуються, але не блокуються - Аудит-логи не відображаються в Azure Monitor — необхідно вручну увімкнути Diagnostic Settings: у Portal відкрий ресурс AI Foundry → Monitoring → Diagnostic Settings → + Add → постав галочку allLogs і вибери Log Analytics Workspace
- Security-тест завершується помилкою Rate Limit — додай прапорець
--throttle 2до командиagt security-test, щоб між тестами була пауза 2 секунди
💡 Поради для кращого результату
По-перше, замість хардкоду Agent ID у скрипті одразу винось усі чутливі значення у Azure Key Vault і читай їх через SecretClient — це займе 10 хвилин, але врятує від випадкового коміту секретів у git. По-друге, використовуй AGT-команду agt policy diff --version 1.0 --version 2.0 перед кожним оновленням політики — вона покаже точний diff змін у дозволах, як git diff, і ти не пропустиш випадково видалений deny-рядок. По-третє, у системному промпті агента завжди додавай явну інструкцію відхиляти запити на розкриття власного системного промпту — це блокує один із найпоширеніших векторів атак. По-четверте, налаштуй Azure Alert Rule на метрику AGT/AccessDeniedCount > 10 per 5min — якщо хтось активно намагається зламати рольову модель, ти отримаєш email-сповіщення протягом хвилини.
❓ Часті запитання (FAQ)
1. Чи працює AGT з агентами поза Azure, наприклад з локальними моделями?
AGT v2.x підтримує гібридний режим через agt init --mode hybrid, де policy-engine працює локально, а логи опційно надсилаються у Azure Monitor. Проте деякі функції Governance Dashboard доступні лише для агентів у Azure AI Foundry.

2. Скільки коштує використання AGT у продакшені?
Сам тулкіт безкоштовний, але ти платиш за Azure ресурси: Log Analytics (~$2.30 за GB логів), Azure Monitor alerts (~$0.10 за правило на місяць) і за токени GPT-4o. Для середнього корпоративного агента сумарні витрати на governance інфраструктуру складають $15–40 на місяць.
3. Чи можна інтегрувати AGT з існуючою системою управління ідентифікацією (IdP) компанії?
Так — AGT підтримує будь-який OIDC-сумісний IdP через параметр identity_provider_url у конфігурації. Практично це означає, що ролі агента можна прив’язати до груп у корпоративному Azure AD або Okta без дублювання управління користувачами.
4. Що робити, якщо compliance-score нижче 85%?
Запусти agt compliance-report --agent-id <id> --format detailed — команда поверне список конкретних контролів, які не пройшли, з посиланням на відповідний розділ Microsoft Security Baseline. Найчастіша причина низького score — відсутній content_filter_policy у конфігурації агента.
5. Чи можна використовувати AGT для мульти-агентних систем, де агенти викликають один одного?
Так, з AGT v2.3 з’явився режим agent-to-agent trust policy — ти явно вказуєш, який агент може викликати який і з якими дозволами. Налаштовується додаванням секції agent_mesh у governance_policy.yaml з переліком довірених Agent ID і дозволених між ними дій.
🏁 Підсумок
Після проходження цього туторіалу ти маєш повністю захищеного AI агента з рольовою моделлю доступу, автоматичним аудит-логуванням у Azure Monitor і compliance-score вище 85% — тобто систему, готову до корпоративного впровадження та відповідності вимогам ISO 27001 і EU AI Act.
Почни просто зараз із кроку 1 — виконай az login і створи ресурсну групу. Весь процес займе не більше трьох годин, а результат стане міцним фундаментом для будь-якого корпоративного AI проєкту, де безпека — не опція, а вимога.
РОЗСИЛКА
📬 Щотижневий AI-дайджест
Найкращі статті про ШІ та автоматизацію — без спаму, лише суть
Без спаму · Відписатись будь-коли

