Екипни контроли, управлявани от SCIM за AI API Gateway: Предоставяне на потребители, отмяна на ключове и поддържане на работещи акаунти за услуги
Използвайте SCIM и SSO като входни данни за жизнения цикъл, след което оставете шлюза да налага изрични роли, моделни профили, правомощия за изразходване, собственост на ключове и правила за прехвърляне на акаунт за услуга. Целта е бързо излизане от борда без прекъсване на производствените приложения.
Извеждането на човек от борда не трябва да се превръща в тренировка за прекъсване. В много екипи доставчикът на самоличност може бързо да деактивира служителя, но AI API шлюзът все още има дълготрайни ключове на разработчици, споделени скриптове, акаунти за производствени услуги, наематели на дистрибутори и привилегии за таксуване, които не се съпоставят ясно с един човешки акаунт. Практическият модел е да се използва SCIM като вход за жизнения цикъл, след което да се запазят оторизацията, собствеността върху ключовете, ограниченията на разходите, достъпът до модела и записите за одит като изрични обекти на шлюза.
Проблемът: Промените в самоличността не са същите като API Authorization
SSO отговаря дали даден потребител може да влезе. SCIM помага за автоматизирането на предоставянето на потребители и групи. Нито един сам по себе си не отговаря на всеки оперативен въпрос, който шлюзът за изкуствен интелект трябва да наложи: кой клиент може да администрира този потребител, кои профили на модели може да използва, кои ключове са лични, кои ключове управляват производството, кой може да одобрява увеличения на бюджета и кои клиентски обекти на партньор API могат да докосват?
Изчистената архитектура третира самоличността като източник на събития от жизнения цикъл, а не като пълен модел на оторизация. Шлюзът трябва да получава потребителски и групови промени от доставчика на самоличност, да ги нормализира и да ги превежда в собствени записи на шлюза. След това тези записи трябва да бъдат оценени по време на изпълнение за действия на администратора, API създаване на ключ, достъп до модела, ограничения на разходите, собственост на акаунт за услуга и експортиране на одит.
Факт: SCIM 2.0 е IETF-стандартен протокол за управление на самоличност между домейни. Неговото протоколно поведение е определено в RFC 7644, а неговите схеми на ресурси са посочени в RFC 7643. SCIM дава на екипите стандартен начин за създаване, актуализиране, деактивиране и групиране на потребители в различни системи.
Препоръка: Не поставяйте упълномощаване на шлюз директно в имената на IdP групите или пътеките на заявките. Използвайте SCIM групи като входни данни за контролирана таблица за съпоставяне, след което оценете ролите и правилата на шлюза от записите, притежавани от шлюза.
Основни обекти, които шлюзът трябва да притежава
Шлюзът се нуждае от собствен модел за оторизация, тъй като достъпът до LLM съчетава сигурност, цена и непрекъснатост на работата. Дефинирайте поне тези записи като първокласни обекти:
- Идентичност: осигуреният човешки потребител, свързан с темата на IdP, имейл, статус и членство в група.
- Наемател или работно пространство: административната граница за потребители, ключове, бюджети, профили на модели, интеграции и използване.
- Роля: разрешения за шлюз като програмист, администратор на наемател, администратор за таксуване, администратор на модел, одитор или администратор API на партньор.
- Профил на модела: позволен набор от модели, правила за маршрутизиране, ограничения за обработка на данни и пропуски за функции.
- Бюджетен орган: който може да харчи, да повишава лимити, да създава скъпи ключове или да одобрява временни изключения.
- Притежаван от човека API ключ: ключ, създаден за един човек, обикновено отменен или спрян, когато този човек напусне.
- Сервизен акаунт: самоличност на приложение със собственици, цел, среда, метаданни за редуване, последно използвано клеймо за време и прикачена политика.
- Одитно събитие: минимизиран запис на самоличност, роля, ключ, бюджет и решения за оторизация.
Това разделяне прави детерминиране на извънборда. Потребителят може да стане неактивен, без да изтрие акаунти за услуги, които са били правилно регистрирани като самоличност на приложение. Администраторът на наемател може да загуби правомощия за таксуване, без да загуби основен достъп за проверка само за четене. Дистрибуторът може да управлява присвоени клиентски наематели, без да може да изброява несвързани наематели.
Поток на осигуряване: От SCIM събитие до достъп до шлюз
Полезният поток за осигуряване е скучен по дизайн. Трябва да толерира повторни опити, частични актуализации и забавена групова синхронизация. Внедряванията на SCIM се различават по време, поведение на изтриване срещу деактивиране, съпоставяне на атрибути и групова поддръжка, така че шлюзът трябва да избягва крехки предположения.
1. Поглъщане и нормализиране на User
Когато шлюзът получи SCIM събитие за създаване или актуализиране на потребител, той трябва да измести записа за самоличност, като използва стабилен външен идентификатор. Съхранявайте статуса на потребителя, показваното име, имейла, отдела или разходния център, ако има такива, и необработените референции на IdP групи в нормализирана форма. Избягвайте да използвате имейл като единствен неизменен идентификатор; промяна на имейлите.
Примерни нормализирани полета за самоличност:
{
"external_subject": "idp-user-12345",
"email": "dev@example.com",
"active": true,
"groups": ["llm-developers", "support-ai-prod"],
"cost_center": "support",
"last_scim_event_at": "2026-08-30T10:14:00Z"
}
2. Превеждане на групи в роли на шлюз
Използвайте таблица за превод, управлявана от шлюз. Всеки ред трябва да свързва препратка към IdP група към наемател, роля и незадължителни профили, като разрешени модели или бюджетни класове. Некартираните групи не трябва да предоставят нищо. Привилегированите съпоставяния трябва да изискват преглед, особено администраторът за таксуване, администраторът на модела, собственикът на наемателя и администраторът на партньор API.
{
"idp_group": "support-ai-prod",
"tenant": "support",
"role": "developer",
"model_profile": "support-approved-models",
"budget_profile": "standard-team-budget",
"requires_review": false
}
Препоръка: Използвайте отказ по подразбиране за некартирани групи. По-добре е новосъздадена група да не генерира AI достъп, отколкото случайно да наследи производствен модел или орган за фактуриране, защото низ съвпада с префикс на пътя.
3. Материализиране на ефективен достъп
След групов превод, материализирайте ефективния достъп на потребителя до шлюза: членства на клиенти, роли, профили на модели, разрешения за създаване на ключове, правомощия за бюджет и разрешения за интегриране. Проверките по време на изпълнение трябва да четат този материализиран изглед или силно последователна услуга за оторизация, а не да анализират групови низове на IdP при всяка заявка.
Това също така дава на администраторите използваем преглед на достъпа: „покажи ми всички, които могат да създават ключове в наемателя за поддръжка“, „покажи ми кой може да повишава лимитите на месечните разходи“ и „покажи ми всички потребители, които имат достъп до скъпи модели за разсъждение.“
Разделете човешките ключове от акаунтите за услуги
Най-важното оперативно разграничение е просто: човешкият ключ представлява човек; акаунт за услуга представлява приложение. Третирането и на двата като общи API ключове създава риск от излизане от борда.
Ключовете, притежавани от хора, трябва да наследяват жизнения цикъл на човешкия потребител. Когато потребителят стане неактивен, шлюзът трябва да блокира създаването на нов ключ и да спре или отмени личните ключове. Тези ключове трябва също така да имат метаданни за собственик, наемател, профил на модел, бюджетен профил, последно използвано клеймо за време и цел, така че екипите да могат да видят злоупотреба преди деня на оттегляне.
Ключовете за служебен акаунт не трябва да се притежават от един напускащ служител по начин, който нарушава производството. Акаунтът за услуга трябва да има поне двама човешки собственици или група собственици, етикет за среда, политика за ротация, последно използвана видимост и профил на политика. Трябва да остане активен, когато един собственик напусне, при условие че съществува друг валиден собственик или процес на счупване на стъкло.
Факт: Основните насоки за облак обикновено обезкуражават неуправляваните дълготрайни ключове за акаунти за услуги и препоръчват ограничаващи изключения. Същият принцип се прилага за ключовете на AI Gateway: поддържайте идентичностите на приложенията изрични, обхванати, прегледани и ротирани.
Препоръка: Ако личен ключ се използва от ненаблюдавано задание, не го запазвайте безшумно по време на изтегляне. Поставете го под карантина, маркирайте го като неправилно класифицирано производствено използване, изискайте прехвърляне на собствеността и го заменете с ключ за акаунт за услуга съгласно правилата.
Design Deprovisioning as a State Machine
Отмяната на предоставяне трябва да бъде работен процес, а не отделна команда за изтриване. Една държавна машина дава на шлюза достатъчно структура за бързо намаляване на риска, като същевременно запазва възможността за проверка и непрекъснатостта на производството.
Състояние 1: Депровизирането е получено
Шлюзът получава SCIM деактивиране, изтриване, премахване на група или еквивалентно събитие от жизнения цикъл. Запишете събитието, неговия източник и предишния ефективен достъп. Тъй като IdP събитията могат да бъдат изпробвани повторно или да пристигнат неправилно, направете тази стъпка идемпотентна.
Състояние 2: Потребителят е маркиран като неактивен
Задайте самоличността на шлюза на неактивна. Блокирайте интерактивно влизане, действия на администратора, създаване на нов ключ, създаване на нов акаунт за услуга и промени в бюджета. Това трябва да се случи, преди да се изпълнят по-бавните задачи за почистване.
Състояние 3: Личните ключове са спрени
Спрете ключовете, притежавани от хора, незабавно или след кратък, определен от правилата гратисен период. По-безопасното по подразбиране е незабавното спиране. За опит на разработчиците шлюзът може да върне ясна грешка при удостоверяване, която насочва администраторите към неактивния собственик, идентификатор на ключ, клиент и последно успешно използване.
Състояние 4: Изисква се прехвърляне на собственост
Намерете ресурси, притежавани от неактивния потребител: акаунти за услуги, наематели, профили на модели, интеграции, контакти за таксуване, идентификационни данни на партньор API и канали за предупреждение. Прехвърлете собствеността автоматично, когато съществува валидна група собственици. В противен случай поставете ресурса в опашка „необходим собственик“.
Състояние 5: Известия и преглед
Уведомете собствениците на наематели, администраторите по сигурността или администраторите за таксуване. Уведомлението трябва да включва засегнати ключове, последно използвани времеви клейма, използване през последните 30 и 90 дни, акаунти за услуги, нуждаещи се от нов собственик, и всички лични ключове, които наскоро са обслужвали производствен трафик.
Състояние 6: Финализиране
След като правилата за задържане го позволят, финализирайте изтриването или анонимизирането на потребителските атрибути, като същевременно запазите необходимите одитни записи. Одитът на жизнения цикъл на самоличността обикновено не изисква необработени подкани. Съхранявайте събития с минимизиране на подканите, които описват решението за правилата, идентификатори на обекти, актьор, клиент, клеймо за време и резултат.
Достъпът до модела и ограниченията на разходите принадлежат към един и същи преглед
Упълномощаването на AI шлюз не се отнася само до това кой може да се обади на крайна точка. На потребител може да бъде позволено да извиква евтини модели за разработка, но не и скъпи модели за разсъждение, хоствани инструменти, пакетни задания или производствени псевдоними. На потребител може да бъде позволено да харчи от екипен бюджет, но не и да одобри увеличение на бюджета.
За всяка ефективна роля дефинирайте съответните разрешения за цена и модел:
- Позволени профили на модели и вътрешни псевдоними.
- Максимална прогнозна цена за заявка.
- Профил на месечен или дневен бюджет.
- Разрешение за създаване на лични ключове.
- Разрешение за създаване или притежаване на акаунти за услуги.
- Разрешение за използване на хоствани инструменти, обработка на файлове, сесии в реално време или групови натоварвания.
- Разрешение за преглеждане на анализи на използването, фактури или експорти на разходни центрове.
Препоръка: Изградете едно експортиране на преглед на достъпа, което обединява самоличност, роли на шлюз, активни ключове, акаунти за услуги, използване през последните 30 и 90 дни, разрешения за модел и бюджетни правомощия. Това е по-полезно от обикновен потребителски списък, защото показва оперативния риск и покупателната способност заедно.
Партньор API и мулти-наемател Authorization
Партньор API автоматизацията добавя друга граница на оторизация. Агенция, дистрибутор или платформа може да предоставя на клиенти наематели, потребители, ключове, бюджети и експортиране на използване чрез API. Вътрешните потребители, управлявани от SCIM, не трябва автоматично да получават широк достъп до клиентски обект само защото администрират собствения клиент на партньора.
Направете всяка операция на партньор API обхваната както от обаждащия се, така и от клиента. Осигуряването трябва да бъде идемпотентно: създаването на един и същ клиентски клиент, картографиране на група или потребител два пъти трябва да се сближи до едно очаквано състояние. Крайните точки в списъка трябва да връщат само обекти, които извикващият има изрично разрешение да администрира.
Това има значение, тъй като неуспехите при оторизация на ниво обект и свойство на обект са често API рискове. В AI шлюз изложените обекти са чувствителни: записи на наематели, API ключове, регистри за използване, бюджети, разрешения за модели, списъци с членове и акаунти за услуги. Шлюзът трябва да тества тези пътища с множество самоличности и множество идентификатори на клиенти, а не само с администратор на щастлив път.
Полезните тестове включват:
- Администраторът на наемател A се опитва да прочете, завърти или отмени ключове на наемател B.
- Спрян потребител опитва стар личен API ключ.
- Администраторът на дистрибутора се опитва да изброи непритежавани клиентски наематели.
- Членът на проекта се опитва да промени настройките за таксуване.
- Собственикът на акаунт за услуга се опитва да си предостави администратор на таксуването. Идентификационните данни на
- Партньор API се опитват да променят профили на модели извън позволения обхват на клиента.
Одит без бързо натрупване
Проучванията на жизнения цикъл на самоличността обикновено трябва да знаят кой е променил достъпа, коя политика е била оценена, кой обект е бил засегнат и дали действието е успешно. Те обикновено не изискват необработени подкани. Съхранявайте отделен поток от одит за решения за самоличност и правила.
Регистрирайте събития като:
- Осигурен, актуализиран, деактивиран или изтрит потребител.
- Група е нанесена, ненанесена или отхвърлена.
- Предоставена, променена или премахната роля на шлюз.
- Създаден, спрян, отменен или използван след деактивиране личен ключ.
- Собственикът на акаунта в услугата е променен.
- Предоставени или премахнати бюджетни правомощия.
- Прикачен или откачен профил на модела.
- Заявката за партньор API е отказана поради обхвата на клиента.
Всяко събитие трябва да включва актьор, субект, наемател, тип обект, ИД на обект, изходна система, решение, код на причина и клеймо за време. Използвайте стабилни идентификатори вместо необработено подканващо съдържание. Когато са необходими подробности за полезния товар, съхранявайте структурирани метаданни за политиката, а не входни данни за модела.
Контролен списък за внедряване
Използвайте този контролен списък, когато внедрявате екипни контроли, управлявани от SCIM, в AI gateway:
- Дефинирайте естествени обекти за шлюз за клиент, роля, потребител, ключ, акаунт за услуга, профил на модел, бюджетен профил и достъп до интеграция.
- Съхранявайте темата на външния IdP отделно от имейла.
- Направете SCIM потребителски и групови upserts идемпотентни.
- Използвайте прегледана таблица за превод от група към роля с поведение за отказ по подразбиране.
- Изискване на изрично одобрение за съпоставяне на привилегировани роли.
- Разграничаване на ключове, притежавани от хора, от ключове на акаунт в услуга в схема и потребителски интерфейс.
- Блокиране на неактивни потребители от влизане, действия на администратора, създаване на ключове и промени в бюджета.
- Спиране на личните ключове по време на депровизиране.
- Прехвърляне или поставяне под карантина на ресурси, притежавани от неактивни потребители.
- Изисквайте акаунтите за услуги да имат метаданни за собственика, целта, средата, последното използвано време и метаданни за ротация.
- Присъединете се към прегледите на достъпа с анализ на употребата и бюджетни права.
- Тествайте упълномощаването на ниво обект между наематели, клиенти, потребители, ключове и обекти за таксуване.
- Поддържане на записите за одит на самоличността, минимизирани по подразбиране.
Компромиси
SCIM намалява отклонението на ръчния достъп, но не премахва необходимостта от специфично за шлюза разрешение. Различните доставчици на идентичност обработват груповото синхронизиране, изтривания, деактивации, повторни опити и съпоставяне на атрибути по различен начин. Шлюзът трябва да толерира частична информация и да се събира безопасно.
Незабавното отнемане на личен ключ намалява риска от излизане от борда, но може да разкрие лоша оперативна хигиена, когато ключ на програмист е бил използван от необслужвана работа. Това не е причина да поддържате личните ключове живи за неопределено време. Това е причина да откриете рано производственото използване на личен ключ и да го мигрирате към акаунти за услуги, преди служител да напусне.
Детайлните картографии на групи могат да изразят точно управление, но твърде много групи стават трудни за одит. По-малък набор от роли на шлюза, комбиниран с профили на модели и бюджетни профили, обикновено е по-лесен за работа.
Сервизните акаунти поддържат работата на приложенията, но могат да станат непритежавани или свръхпривилегировани. Изискване на собственици, дати на преглед, метаданни за ротация, профили на модели с обхват, бюджети с обхват и последно използван анализ.
Прогноза: Прегледите на достъпа до шлюза за изкуствен интелект все повече ще комбинират самоличност, използване, правомощия за изразходване и разрешения за модел в един отчет. Прегледът на „кой има достъп“, без да се показва „какво може да похарчи и кои ключове са все още активни“, ще бъде твърде повърхностен за екипи, работещи с производствени работни натоварвания на AI.
Приложимо заключение
Трайният модел е да оставите SCIM и SSO да управляват жизнения цикъл, след което да оставите шлюза да притежава разрешение. Осигуряване на потребители от доставчика на самоличност, превеждане на групи чрез прегледани съпоставяния, материализиране на роли на наематели, обвързване на модели и бюджетни профили изрично и третиране на човешките ключове по различен начин от акаунтите за услуги.
За излизане от борда използвайте държавна машина: получете събитието за самоличност, маркирайте потребителя като неактивен, блокирайте нов достъп, преустановете лични ключове, прехвърлете или поставите под карантина притежавани ресурси, уведомете собствениците и финализирайте изтриването, след като правилата за задържане го позволят. Това дава на екипите по сигурността бързо оттегляне, дава непрекъснатост на производството на екипите на платформата и дава на финансите и одиторите ясна информация за това кой е имал правомощия върху модели, разходи, ключове и наематели.