mandio
Tenant Management

Багато тенантів, один базовий стан.

mandio веде клієнтів та їхні тенанти Microsoft Entra як основні дані, розгортає перевірену конфігурацію як базовий стан і постійно показує, де дійсність від нього відхилилася.

Проблема

Після воркшопу всі знають, як має бути. За рік не знає ніхто.

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

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

mandio це перевертає. Цільовий стан перестає бути описом і стає даними: придатними до розгортання, до порівняння, з версіями. Усе, що від нього відрізняється, — або знахідка, або задокументований виняток, але ніколи не несподіванка.

Як це працює

01 02 03 04 Облік Визначення Розгортання Перевірка клієнт, тенант, доступ, обсяг блоки, набір, версія попередній перегляд, потім застосування відхилення або погоджений виняток знахідки потрапляють у наступну версію базового стану
01

Облік

Створити клієнта, приєднати його тенанти, зареєструвати доступ. Один клієнт може мати багато тенантів, а кілька клієнтів — належати до однієї групи компаній.

02

Визначення

Базовий стан — це версійований набір із блоків, кожен зі своєю версією. Не моноліт, який доводиться клонувати заради кожного відхилення.

03

Розгортання

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

04

Перевірка

Регулярне порівняння з призначеним базовим станом. Що відрізняється — знахідка. Що відрізняється за домовленістю — виняток із причиною, строком і тим, хто його погодив.

Принципи

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

01 Жодного постійного доступу на запис

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

02 Розгортання нічого не прибирає

Об’єкти, що є в тенанті, але яких немає в базовому стані, потрапляють у звіт, а не видаляються. Інструмент, який «прибирає» під час розгортання, рано чи пізно знесе правило, створене руками з вагомої причини.

03 Винятки фіксуються

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

04 У журналі стоїть людина

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

05 Жодних ідентифікаторів об’єктів у базовому стані

У кожному тенанті об’єкти мають інші ідентифікатори. Тому базовий стан посилається на логічні імена, а відповідність зберігається окремо для кожного тенанта. Без цього розділення кожен другий запуск створює ті самі об’єкти наново.

06 Запуски незмінні

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

Обсяг

Що доступне сьогодні і над чим ще триває робота.

  • ✓Основні дані для груп компаній, клієнтів і тенантів
  • ✓Вхід за сертифікатом до приєднаних тенантів, лише читання, без збережених секретів
  • ✓Облік стану для кожного тенанта, разом із рівнем ліцензії та кількістю об’єктів
  • ✓Вхід через Entra ID із PKCE та повною перевіркою токена, плюс контрольований аварійний доступ
  • ✓Черга завдань для тривалих запусків, поза вебсервером
  • ○Блоки та базові стани з версіями і призначенням
  • ○Виявлення відхилень від призначеного базового стану
  • ○Розгортання з попереднім переглядом
  • ○Винятки з погодженням і строком дії

Контакт

Питання щодо інструмента, приєднання тенанта або планів розвитку надсилайте на hello@mandio.app.