Skip to content

AI Pilot API

Поддържа се от: Aether365 Team Аудитория: Разработчици Обхват: Крайни точки на AI Pilot за отстраняване - генериране, преглед и прилагане на автоматизирани корекции

AI Pilot превръща неуспешните констатации от вашите Compliance и Exposure сканирания в автоматизирани корекции. Чрез API можете да генерирате план за отстраняване за дадено сканиране, да прегледате предложените промени и да приложите тези, които одобрите. Прилагането на корекция винаги е изрично извикване, което правите вие: нищо не се променя, докато не го поискате.

Изисквания

Крайните точки на AI Pilot изискват правото AI Pilot (Pro или Enterprise) и връзка с Microsoft 365, свързана в режим AI Pilot (write-consent). Връзка само за четене може да генерира и чете планове, но не може да прилага корекции. Извикванията връщат 403 AUTH_INSUFFICIENT_SCOPE, когато правото липсва.

Изброяване на автоматично отстранимите проверки

Връща идентификаторите на проверките, които AI Pilot може да коригира автоматично. Използвайте го, за да решите за всяка констатация дали е налична автоматизирана корекция.

GET /tenants/me/remediation/capabilities

Примерен отговор

json
{
  "success": true,
  "data": { "autoRemediableTestIds": ["AE.1068", "CIS.M365.5.1.2.3", "AE.1102"] }
}

Генериране на план за отстраняване

Изгражда план за отстраняване за завършено сканиране: по един елемент за всяка отстранима неуспешна констатация, всеки с текущата стойност, предложената сигурна стойност и настройката, която засяга. Четенето на текущата стойност използва обхвата за четене на връзката AI Pilot; не се записва никаква промяна.

POST /tenants/me/scans/{scanId}/remediation-plan

Примерна заявка

bash
curl -X POST https://api.aether365.io/tenants/me/scans/scan_abc123/remediation-plan \
  -H "Authorization: Bearer ak_live_..."

Примерен отговор

json
{
  "success": true,
  "data": {
    "id": "plan_abc123",
    "scanId": "scan_abc123",
    "msTenantId": "00000000-0000-0000-0000-000000000000",
    "status": "pending",
    "createdAt": "2026-06-17T09:00:00Z",
    "items": [
      {
        "id": "item_1",
        "testId": "AE.1068",
        "coveredTestIds": ["AE.1068", "CIS.M365.5.1.2.3"],
        "actionKey": "require_mfa_admins",
        "title": "Require MFA for administrator roles",
        "settingKey": "conditionalAccess.requireMfaAdmins",
        "currentValue": false,
        "proposedValue": true,
        "status": "pending",
        "appliedBy": null,
        "appliedAt": null,
        "error": null
      }
    ]
  }
}

Изброяване на планове за отстраняване

Връща плановете за отстраняване на наемателя, най-новите първи, всеки с елементите си и обобщен статус.

GET /tenants/me/remediation-plans

Стойности на статуса на плана

СтатусЗначение
pendingГенериран, все още нищо не е приложено
completedВсички елементи приложени и проверени
partially_appliedНякои елементи приложени, някои неуспешни или още чакащи
failedНито един елемент не можа да бъде приложен

Получаване на план за отстраняване

GET /tenants/me/remediation-plans/{planId}

Връща един план (с неговите елементи), ограничен до вашия наемател. План, който принадлежи на друг наемател, връща 404 NOT_FOUND.


Прилагане на план за отстраняване

Прилага избраните елементи чрез връзката AI Pilot: всяка настройка се записва през Microsoft Graph и след това се прочита отново, за да се потвърди, че промяната е влязла в сила. Елементите, които не изброите, остават недокоснати, а вече проверен елемент никога не се прилага повторно.

POST /tenants/me/remediation-plans/{planId}/apply

Тяло на заявката

ПолеТипОписание
itemIdsstring[]Идентификатори на елементите от плана за прилагане

Примерна заявка

bash
curl -X POST https://api.aether365.io/tenants/me/remediation-plans/plan_abc123/apply \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "itemIds": ["item_1", "item_2"] }'

Примерен отговор

Връща се целият план с актуализирания status на всеки елемент и при неуспех с error, който обяснява причината.

json
{
  "success": true,
  "data": {
    "id": "plan_abc123",
    "status": "partially_applied",
    "items": [
      {
        "id": "item_1",
        "title": "Require MFA for administrator roles",
        "status": "verified",
        "appliedAt": "2026-06-17T09:05:00Z",
        "error": null
      },
      {
        "id": "item_2",
        "title": "Disable legacy authentication",
        "status": "failed",
        "error": "Write consent is missing or has expired"
      }
    ]
  }
}

Стойности на статуса на елемента

СтатусЗначение
verifiedПриложен и потвърден чрез повторно четене
appliedПриложен; Microsoft все още не е потвърдил разпространението (проверява се по-късно)
failedНе можа да бъде приложен: вижте error (напр. липсва write consent)
pendingНеприложен в това извикване

Човешкото одобрение е запазено

Няма пряк път "приложи всичко". Вие избирате плана и точните елементи за прилагане, така че дори автоматизиран работен процес запазва човека (или съзнателно решение) в цикъла.

Беше ли полезна тази страница?