Шлях 03Урок 2 / 6

Обмежуйте повноваження агента

Визначте дозволені дії, ресурси й умови. Перевіряйте права поза моделлю та відокремлюйте реалізацію від випуску.

Практика9 хвПереглянуто

Видавець Як ми пишемо

Перевірте своє розумінняВи наказуєте агенту редагувати одну гілку, але його токен дозволяє push в основну гілку. Яка межа діє насправді?Виконайте вправу
Ви наказуєте агенту редагувати одну гілку, але його токен дозволяє push в основну гілку. Яка межа діє насправді?

Чого ви навчитеся

  • Описувати право через дію, ресурс і умову.
  • Відокремлювати схвалення задачі від дозволу на виконання.
  • Тестувати відмову в забороненій дії.

Опишіть задачу перед наданням доступу

Агент, що читає код, потребує інших повноважень, ніж агент, який розгортає сервіс. Не надавайте обидва набори прав лише тому, що той самий продукт підтримує обидві дії.

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

Потрібна операціяПриклад межі
Переглянути кодЧитати вибраний репозиторій
Запустити перевіркиВикористовувати ізольоване середовище з вигаданими тестовими даними
Підготувати змінуЗаписувати в гілку задачі
Запросити переглядВідкрити PR без merge
Випустити програмне забезпеченняВикористовувати окремий захищений процес розгортання

Точний спосіб забезпечення меж залежить від інструмента. Якщо токен не може виразити обмеження гілки, використовуйте додаткові засоби контролю репозиторію або сервіс виконання. Чесно задокументуйте повноваження, що залишаються.

Забезпечуйте обмеження поза моделлю

Промпт — це не система контролю доступу. Компонент виконання має перевіряти запитувану дію та цільовий ресурс за поточними правами. Він не повинен приймати твердження моделі про те, що схвалення вже існує.

AWS рекомендує обмежені права й тимчасові облікові дані для відповідних робочих навантажень. OWASP застосовує подібний принцип мінімальних прав до агентів та їхніх інструментів. Ці принципи потребують реалізації у фактичних системах ідентичності та виконання. Рекомендації AWS IAM, рекомендації OWASP для агентів.

Використовуйте короткочасні облікові дані там, де це підтримується. Тримайте не пов’язані із задачею секрети поза середовищем. Задача читання репозиторію не повинна успадковувати пароль продуктивної бази даних з оболонки розробника.

Прив’язуйте схвалення до фактичної дії

Схвалення підготовки зміни не означає схвалення її розгортання. Рішення про розгортання має визначати артефакт, цільове середовище та відповідні умови. Якщо вони змінюються, попереднє рішення може вже не діяти.

Розгляньмо агента, який пропонує безпечне читання бази даних, а після схвалення виконує інший запит. Корисний механізм схвалення перевіряє операцію, яка виконується насправді. Загальне повідомлення «продовжуй» без визначеного цільового ресурсу може приховати цю різницю.

Також відокремлюйте ідентичність від можливостей. Записуйте, яка людина або яке робоче навантаження ініціювали запуск. Перевіряйте, чи ідентичність ініціатора все ще має право в момент виконання дії. Позбавлення людини доступу має явно впливати на роботу в черзі.

Перевірте відмову та переривання

Перевіряйте не лише успішний шлях. В ізольованому тестовому середовищі спробуйте дію поза дозволеним ресурсом. Підтвердьте, що система виконання її відхиляє. Перегляньте аудиторську подію, не записуючи облікових даних.

Потім перевірте скасування або завершення строку дії облікових даних. Визначте, яка робота зупиняється негайно, а яка операція може завершитися. Кнопка зупинки не обов’язково скасовує дію, яка вже досягла іншої системи.

Зберігайте разом із задачею невеликий запис про права. Включіть відповідального, погоджений обсяг, фактичні засоби контролю, тест відмови та строк дії. Це робить подальший перегляд достатньо конкретним для покращення робочого процесу.

Виконайте вправу

Визначте права для агента, що виправляє фільтр звіту. Перелічіть три дозволені та три заборонені дії. Вкажіть репозиторій, гілку, середовище та строк дії. Опишіть, як перевірити кожну відмову, не змінюючи продуктивного середовища.

Завантажити робочий аркуш (Markdown)
Перевірте своє розуміння ↑

Продовжити навчання

Джерела та додаткові матеріали

Матеріали Taiga за темою

Попередній урок: Визначте, куди можуть потрапляти ваші дані