Ръководство и прозрение

Екипни контроли, управлявани от SCIM за AI API Gateway: Предоставяне на потребители, отмяна на ключове и поддържане на работещи акаунти за услуги

Използвайте SCIM и SSO като входни данни за жизнения цикъл, след което оставете шлюза да налага изрични роли, моделни профили, правомощия за изразходване, собственост на ключове и правила за прехвърляне на акаунт за услуга. Целта е бързо излизане от борда без прекъсване на производствените приложения.

Извеждането на човек от борда не трябва да се превръща в тренировка за прекъсване. В много екипи доставчикът на идентичност може бързо да деактивира служителя, но AI API шлюзът все още има дълготрайни ключове на разработчици, споделени скриптове, акаунти за производствени услуги, наематели на дистрибутори и привилегии за таксуване, които не се съпоставят ясно с един човешки акаунт. Практическият модел е да се използва SCIM като вход за жизнения цикъл, след което да се запазят оторизацията, собствеността върху ключовете, ограниченията на разходите, достъпът до модела и записите за одит като изрични обекти на шлюза.

Проблемът: Промените в самоличността не са същите като API упълномощаване

SSO отговаря дали даден потребител може да влезе. SCIM помага за автоматизирането на предоставянето на потребители и групи. Нито един, сам по себе си, не отговаря на всеки оперативен въпрос, който AI Gateway трябва да наложи: кой клиент може да администрира този потребител, кои профили на модела могат да използват, кои ключове са лични, кои ключове управляват производството, кой може да одобрява увеличения на бюджета и кои потребителски обекти на API на партньора могат да докосват?

Изчистената архитектура третира самоличността като източник на събития от жизнения цикъл, а не като пълен модел на оторизация. Шлюзът трябва да получава потребителски и групови промени от доставчика на самоличност, да ги нормализира и да ги превежда в собствени записи на шлюза. След това тези записи трябва да бъдат оценени по време на изпълнение за действия на администратора, създаване на API ключ, достъп до модела, лимити на разходите, собственост на акаунт за услуга и експортиране на одит.

Факт: SCIM 2.0 е IETF-стандартен протокол за управление на самоличността между домейни. Неговото протоколно поведение е определено в RFC 7644, а неговите схеми за ресурси са посочени в RFC 7643. SCIM дава на екипите стандартен начин за създаване, актуализиране, деактивиране и групиране на потребители в различни системи.

Препоръка: Не поставяйте упълномощаване на шлюз директно в имена на групи за IdP или пътеки за заявки. Използвайте SCIM групи като входни данни за контролирана таблица за съпоставяне, след което оценете ролите и правилата на шлюза от записите, притежавани от шлюза.

Основни обекти, които шлюзът трябва да притежава

Шлюзът се нуждае от собствен модел за оторизация, тъй като LLM достъпът съчетава сигурност, цена и непрекъснатост на работата. Като минимум дефинирайте тези записи като първокласни обекти:

  • Идентичност: осигуреният човешки потребител, свързан с темата на IdP, имейл, статус и членство в група.
  • Наемател или работно пространство: административната граница за потребители, ключове, бюджети, моделни профили, интеграции и използване.
  • Роля: разрешения за шлюз като програмист, администратор на клиента, администратор за таксуване, администратор на модел, одитор или администратор на API на партньор.
  • Профил на модела: разрешен набор от модели, правила за маршрутизиране, ограничения за обработка на данни и пропуски за функции.
  • Бюджетен орган: който може да харчи, да повишава лимити, да създава скъпи ключове или да одобрява временни изключения.
  • Притежаван от човек API ключ: ключ, създаден за един човек, обикновено отменен или спрян, когато този човек напусне.
  • Сервизен акаунт: самоличност на приложение със собственици, цел, среда, метаданни за ротация, последно използвано клеймо за време и прикачена политика.
  • Одитно събитие: минимизиран запис на самоличност, роля, ключ, бюджет и решения за упълномощаване.

Това разделяне прави извънборда детерминистично. Потребителят може да стане неактивен, без да изтрие акаунти за услуги, които са били правилно регистрирани като самоличност на приложение. Администраторът на наемател може да загуби правомощия за таксуване, без да загуби основен достъп за проверка само за четене. Дистрибуторът може да управлява присвоени клиенти наематели, без да може да изброява несвързани наематели.

Поток на предоставяне: от SCIM събитие до достъп до шлюз

Полезният поток за осигуряване е скучен по дизайн. Трябва да толерира повторни опити, частични актуализации и забавена групова синхронизация. Внедряванията на SCIM се различават по време, поведение на изтриване срещу деактивиране, съпоставяне на атрибути и групова поддръжка, така че шлюзът трябва да избягва крехки предположения.

1. Поглъщане и нормализиране на потребител

Когато шлюзът получи SCIM събитие за създаване или актуализиране на потребител, той трябва да върне записа за самоличност, като използва стабилен външен идентификатор. Съхранявайте статуса на потребителя, показваното име, имейла, отдела или разходния център, ако има такива, и необработените референции на IdP групи в нормализирана форма. Избягвайте да използвате имейл като единствен неизменен идентификатор; промяна на имейлите.

Примерни нормализирани полета за самоличност:

<пре><код>{ "external_subject": "idp-потребител-12345", "имейл": "[email protected]", "активен": вярно, "groups": ["llm-developers", "support-ai-prod"], "cost_center": "поддръжка", "last_scim_event_at": "2026-08-30T10:14:00Z" }

2. Превеждане на групи в роли на шлюз

Използвайте таблица за превод, управлявана от шлюз. Всеки ред трябва да свързва препратка към IdP група към наемател, роля и незадължителни профили, като разрешени модели или бюджетни класове. Некартираните групи не трябва да предоставят нищо. Привилегированите съпоставяния трябва да изискват преглед, особено администратор за таксуване, администратор на модел, собственик на наемател и администратор на API на партньор.

<пре><код>{ "idp_group": "support-ai-prod", "наемател": "поддръжка", "роля": "разработчик", "model_profile": "поддържани-одобрени-модели", "budget_profile": "стандартен-екип-бюджет", "requires_review": невярно }

Препоръка: Използвайте отказ по подразбиране за групи без картографиране. По-добре е новосъздадена група да не генерира AI достъп, отколкото случайно да наследи производствен модел или орган за фактуриране, защото низът съответства на префикс на пътя.

3. Материализирайте ефективен достъп

След превода на групата, материализирайте ефективния достъп на потребителя до шлюза: членство на клиента, роли, профили на модели, разрешения за създаване на ключове, правомощия за бюджет и разрешения за интегриране. Проверките по време на изпълнение трябва да четат този материализиран изглед или силно последователна услуга за оторизация, а не да анализират групови низове на IdP при всяка заявка.

Това също така дава на администраторите използваем преглед на достъпа: „покажи ми всички, които могат да създават ключове в наемателя за поддръжка“, „покажи ми кой може да повишава лимитите на месечните разходи“ и „покажи ми всички потребители, които имат достъп до скъпи модели за разсъждение“.

Разделете човешките ключове от акаунтите за услуги

Най-важното оперативно разграничение е просто: човешкият ключ представлява човек; акаунт за услуга представлява приложение. Третирането и на двата като общи API ключове създава риск от излизане от борда.

Ключовете, притежавани от хора, трябва да наследяват жизнения цикъл на човешкия потребител. Когато потребителят стане неактивен, шлюзът трябва да блокира създаването на нов ключ и да спре или отмени личните ключове. Тези ключове трябва също така да имат метаданни за собственик, наемател, профил на модел, бюджетен профил, последно използвано клеймо за време и цел, така че екипите да могат да видят злоупотреба преди деня на оттегляне.

Ключовете за служебен акаунт не трябва да се притежават от един напускащ служител по начин, който нарушава производството. Акаунтът за услуга трябва да има поне двама човешки собственици или група собственици, етикет за среда, политика за ротация, последно използвана видимост и профил на политика. Трябва да остане активен, когато един собственик напусне, при условие че съществува друг валиден собственик или процес на счупване на стъкло.

Факт: Основните насоки за облака обикновено обезсърчават неуправляваните дълготрайни ключове за акаунти за услуги и препоръчват ограничаващи изключения. Същият принцип важи за ключовете на шлюза за изкуствен интелект: поддържайте самоличността на приложението изрично, обхванато, прегледано и ротирано.

Препоръка: Ако личен ключ се използва от необслужвано задание, не го запазвайте тихо по време на изваждане. Поставете го под карантина, маркирайте го като неправилно класифицирано производствено използване, изискайте прехвърляне на собствеността и го заменете с ключ за акаунт за услуга съгласно правилата.

Деактивиране на дизайна като държавна машина

Отмяната на предоставяне трябва да бъде работен процес, а не отделна команда за изтриване. Една държавна машина дава на шлюза достатъчно структура за бързо намаляване на риска, като същевременно запазва възможността за проверка и непрекъснатостта на производството.

Състояние 1: Депровизирането е получено

Шлюзът получава SCIM деактивиране, изтриване, премахване на група или еквивалентно събитие от жизнения цикъл. Запишете събитието, неговия източник и предишния ефективен достъп. Тъй като IdP събитията могат да бъдат изпробвани повторно или да пристигнат неправилно, направете тази стъпка идемпотентна.

Състояние 2: Потребителят е маркиран като неактивен

Задайте самоличността на шлюза на неактивна. Блокирайте интерактивно влизане, действия на администратора, създаване на нов ключ, създаване на нов акаунт за услуга и промени в бюджета. Това трябва да се случи, преди да се изпълнят по-бавните задачи за почистване.

Състояние 3: Личните ключове са спрени

Суспендирайте ключовете, притежавани от хора, незабавно или след кратък, определен от правилата гратисен период. По-безопасното по подразбиране е незабавното спиране. За опит на разработчиците шлюзът може да върне ясна грешка при удостоверяване, която насочва администраторите към неактивния собственик, идентификатор на ключ, клиент и последно успешно използване.

Състояние 4: Изисква се прехвърляне на собственост

Намерете ресурси, притежавани от неактивния потребител: акаунти за услуги, наематели, профили на модели, интеграции, контакти за таксуване, идентификационни данни за API на партньор и канали за предупреждение. Прехвърлете собствеността автоматично, когато съществува валидна група собственици. В противен случай поставете ресурса в опашка „нуждае се от собственик“.

Състояние 5: Известия и преглед

Уведомете собствениците на наематели, администраторите по сигурността или администраторите за таксуване. Уведомлението трябва да включва засегнати ключове, последно използвани времеви клейма, използване през последните 30 и 90 дни, акаунти за услуги, нуждаещи се от нов собственик, и всички лични ключове, които наскоро са обслужвали производствен трафик.

Състояние 6: Финализиране

След като правилата за задържане го позволят, финализирайте изтриването или анонимизирането на потребителските атрибути, като същевременно запазите необходимите одитни записи. Одитът на жизнения цикъл на самоличността обикновено не изисква необработени подкани. Съхранявайте събития с минимизиране на подкани, които описват решението за правилата, идентификатори на обекти, актьор, клиент, клеймо за време и резултат.

Достъпът до модела и ограниченията на разходите принадлежат към един и същи преглед

Упълномощаването на AI шлюз не е само за това кой може да се обади на крайна точка. На потребител може да бъде позволено да извиква евтини модели за разработка, но не и скъпи модели за разсъждение, хоствани инструменти, пакетни задания или производствени псевдоними. На потребител може да бъде позволено да харчи от екипен бюджет, но не и да одобри увеличение на бюджета.

За всяка ефективна роля дефинирайте съответните разрешения за цена и модел:

  • Разрешени профили на модели и вътрешни псевдоними.
  • Максимална прогнозна цена за заявка.
  • Профил на месечен или дневен бюджет.
  • Разрешение за създаване на лични ключове.
  • Разрешение за създаване или притежаване на акаунти за услуги.
  • Разрешение за използване на хоствани инструменти, обработка на файлове, сесии в реално време или групови натоварвания.
  • Разрешение за преглеждане на анализи на използването, фактури или експорти на разходни центрове.

Препоръка: Изградете едно експортиране на преглед на достъпа, което обединява самоличност, роли на шлюз, активни ключове, акаунти за услуги, използване през последните 30 и 90 дни, разрешения за модел и бюджетни правомощия. Това е по-полезно от обикновен потребителски списък, защото показва оперативния риск и разходната способност заедно.

Партньорски API и упълномощаване за множество клиенти

Автоматизирането на приложния програмен интерфейс на партньора добавя още една граница на оторизация. Агенция, дистрибутор или платформа може да предостави клиентски наематели, потребители, ключове, бюджети и износ на използване чрез API. Вътрешните потребители, управлявани от SCIM, не трябва автоматично да получават широк достъп до клиентски обект само защото администрират собствения клиент на партньора.

Направете всяка операция на API на партньора обхваната както от обаждащия се, така и от клиента. Осигуряването трябва да бъде идемпотентно: създаването на един и същ клиентски клиент, картографиране на група или потребител два пъти трябва да се сближи до едно очаквано състояние. Крайните точки в списъка трябва да връщат само обекти, които извикващият има изрично разрешение да администрира.

Това има значение, тъй като неуспехите при упълномощаване на ниво обект и свойство на обект са често срещани рискове за API. В AI шлюз изложените обекти са чувствителни: записи на наематели, API ключове, регистри за използване, бюджети, разрешения за модели, списъци с членове и акаунти за услуги. Шлюзът трябва да тества тези пътища с множество самоличности и множество идентификатори на клиенти, а не само с администратор на щастлив път.

Полезните тестове включват:

  • Администраторът на наемател A се опитва да прочете, завърти или отмени ключове на наемател B.
  • Спрян потребител опитва стар личен API ключ.
  • Администраторът на дистрибутора се опитва да изброи непритежавани клиентски наематели.
  • Членът на проекта се опитва да промени настройките за плащане.
  • Собственикът на акаунт за услуга се опитва да си предостави администратор на таксуването.
  • Идентификационните данни на приложния програмен интерфейс на партньора се опитват да променят профили на модели извън позволения клиентски обхват.

Одит без бързо натрупване

Проучванията на жизнения цикъл на самоличността обикновено трябва да знаят кой е променил достъпа, коя политика е била оценена, кой обект е бил засегнат и дали действието е успешно. Те обикновено не изискват необработени подкани. Съхранявайте отделен поток от одит за решения за самоличност и политики.

Регистрирайте събития като:

  • Потребител е предоставен, актуализиран, деактивиран или изтрит.
  • Група е картографирана, некартографирана или отхвърлена.
  • Предоставена, променена или премахната роля на шлюз.
  • Създаден, спрян, отменен или използван след деактивиране личен ключ.
  • Собственикът на акаунта в услугата е променен.
  • Предоставени или премахнати бюджетни правомощия.
  • Профилът на модела е прикачен или откачен.
  • Заявката за API на партньора е отказана поради обхвата на клиента.

Всяко събитие трябва да включва актьор, субект, наемател, тип обект, ИД на обект, изходна система, решение, код на причина и клеймо за време. Използвайте стабилни идентификатори вместо необработено подканващо съдържание. Когато са необходими подробности за полезния товар, съхранявайте структурирани метаданни за правилата, а не входни данни за модела.

Контролен списък за внедряване

Използвайте този контролен списък, когато прилагате екипни контроли, управлявани от SCIM, в AI шлюз:

  • Дефинирайте естествени обекти за шлюз за клиент, роля, потребител, ключ, акаунт за услуга, профил на модел, бюджетен профил и достъп до интеграция.
  • Съхранявайте външния IdP предмет отделно от имейла.
  • Направете потребителските и груповите въвеждания на SCIM идемпотентни.
  • Използвайте прегледана таблица за превод от група към роля с поведение за отказ по подразбиране.
  • Изискване на изрично одобрение за съпоставяне на привилегировани роли.
  • Разграничаване на ключове, притежавани от хора, от ключове на акаунт в услуга в схемата и потребителския интерфейс.
  • Блокиране на неактивни потребители от влизане, действия на администратор, създаване на ключове и промени в бюджета.
  • Суспендиране на лични ключове по време на депровизиране.
  • Прехвърляне или поставяне под карантина на ресурси, притежавани от неактивни потребители.
  • Изисквайте акаунтите за услуги да имат метаданни за собственика, целта, средата, последното използвано време и метаданни за ротация.
  • Присъединете се към прегледите на достъпа с анализи на употребата и бюджетни права.
  • Тествайте упълномощаването на ниво обект между наематели, клиенти, потребители, ключове и обекти за таксуване.
  • По подразбиране записите за одит на самоличността да бъдат сведени до минимум.

Компромиси

SCIM намалява дрейфа на ръчния достъп, но не премахва необходимостта от оторизация, специфична за шлюза. Различните доставчици на идентичност обработват груповото синхронизиране, изтривания, деактивации, повторни опити и съпоставяне на атрибути по различен начин. Шлюзът трябва да толерира частична информация и да се събира безопасно.

Незабавното отнемане на личен ключ намалява риска от излизане от борда, но може да разкрие лоша оперативна хигиена, когато ключ на програмист е бил използван от необслужвана работа. Това не е причина да поддържате личните ключове живи за неопределено време. Това е причина да откриете рано производственото използване на личен ключ и да го мигрирате към акаунти за услуги, преди служител да напусне.

Дребни групови съпоставки могат да изразят точно управление, но твърде много групи стават трудни за одит. По-малък набор от роли на шлюз, комбиниран с профили на модели и бюджетни профили, обикновено е по-лесен за работа.

Сервизните акаунти поддържат работата на приложенията, но могат да станат непритежавани или свръхпривилегировани. Изискване на собственици, дати на преглед, метаданни за ротация, профили на модели с обхват, бюджети с обхват и последно използван анализ.

Прогноза: Прегледите на достъпа до шлюза за изкуствен интелект все повече ще комбинират самоличност, използване, правомощия за изразходване и разрешения за модел в един отчет. Прегледът на „кой има достъп“, без да се показва „какво може да похарчи и кои ключове са все още активни“, ще бъде твърде повърхностен за екипи, работещи с производствени натоварвания на AI.

Изпълнимо заключение

Устойчивият модел е да оставите SCIM и SSO да управляват жизнения цикъл, след което да оставите шлюза да притежава разрешение. Осигуряване на потребители от доставчика на идентичност, превеждане на групи чрез прегледани съпоставяния, материализиране на роли на наематели, обвързване на модели и бюджетни профили изрично и третиране на човешките ключове по различен начин от акаунтите за услуги.

За излизане от борда използвайте държавна машина: получете събитието за самоличност, маркирайте потребителя като неактивен, блокирайте нов достъп, преустановете лични ключове, прехвърлете или поставите под карантина притежаваните ресурси, уведомете собствениците и финализирайте изтриването, след като правилата за задържане го позволят. Това дава на екипите по сигурността бързо оттегляне, дава непрекъснатост на производството на екипите на платформата и дава на финансите и одиторите ясна информация за това кой е имал власт над модели, разходи, ключове и наематели.

Свързано четене

FAQ

Често задавани въпроси

Трябва ли SCIM групите да се съпоставят директно с ролите на API шлюза?
Използвайте SCIM групи като входове, но ги съпоставете чрез прегледана таблица за превод на шлюза. Директното съпоставяне на низ прави привилегирования достъп труден за одит и може да предостави разрешения случайно, когато имената на групите се променят.
Какво трябва да се случи с API ключовете на потребителя по време на излизане от борда?
Личните ключове трябва да бъдат спрени или отменени, когато потребителят бъде депровизиран. Ключовете на акаунта на услугата трябва да продължат само ако имат валидни собственици, политика с обхват, метаданни за ротация и контроли за преглед.
Одитът на жизнения цикъл на самоличността изисква ли съхраняване на подкани?
Обикновено не. Записите от одит на жизнения цикъл трябва да обхващат актьори, субекти, наематели, идентификатори на обекти, решения за политики, времеви клейма и кодове на причини. Необработените подкани не са необходими за повечето проверки за осигуряване, депровизиране и оторизация.
Как трябва да се тества достъпът до API на партньор?
Тествайте с множество обаждащи се и идентификатори на наематели: администратор на един клиент срещу обекти на друг клиент, спрени потребители срещу стари ключове, идентификационни данни на дистрибутор срещу непритежавани наематели и обикновени членове срещу таксуване или настройки на администратор на модел.