Запуск HN: Warrant (YC S21) – авторизація та контроль доступу як послуга

Запуск HN: Warrant (YC S21) – авторизація та контроль доступу як послуга 25 балів від akajla 1 годину тому | приховати | минуле | улюблений | 11 коментарів Привіт HN! Ми Адітя та Каран, співзасновники Warrant (). Warrant надає API та інфраструктуру для авторизації та контролю доступу.

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

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

Ми інженери програмного забезпечення, які роками працювали над системами контролю доступу в таких компаніях, як Lyft, Yahoo, AppLovin і Medallia. Ми часто витрачали час на підтримку та ітерацію цих внутрішніх систем, щоб бути в курсі нових продуктів, фреймворків і вимог безпеки/відповідності.

Пізніше, створюючи наш власний продукт SaaS, нам довелося знову запровадити контроль доступу, і ми зрозуміли три речі: (1) впровадження контролю доступу є необхідним, але випадковим для створення основних функцій продукту. Тому це потрібно якось стандартизувати. (2) Системи контролю доступу важко підтримувати в міру розвитку продукту, і зміна моделі авторизації або правил доступу часто вимагає втручання розробника. (3) Хоча контроль доступу на основі ролей (RBAC) все ще має місце, сучасні програми вимагають більш потужних і настроюваних моделей авторизації. Наприклад, у продукті аналітики даних може знадобитися сказати «конкретний користувач X може редагувати звіт Y», а не «всі адміністратори можуть редагувати звіти». Зрештою, ми створили службу для керування та застосування правил доступу до нашого продукту SaaS. Ми швидко зрозуміли, що контроль доступу є набагато складнішою проблемою для вирішення командою інженерів, і ця служба стала першою версією Warrant.

Warrant — це повністю керована служба контролю доступу, доступна через API/SDK. Як шанувальники підходу Google до авторизації та контролю доступу, ми заснували Warrant на Google Zanzibar (). Користувачі можуть визначати власні моделі авторизації для своїх додатків за допомогою гнучких «типів об’єктів» або використовувати вбудовані моделі для швидкої реалізації поширених сценаріїв аутентифікації, таких як RBAC і Multitenancy. Наша інформаційна панель спрощує керування моделлю дозволів програми та правилами доступу для всіх, від розробників до менеджерів із продуктів.

Ми є централізованим сервісом, тому є дві очевидні проблеми: (1) проблеми із затримкою/надійністю через додавання мережевого запиту майже до кожного запиту та (2) роздратування/перевантаження синхронізації даних і правил доступу. через виклики API/SDK. Ми створили рішення для обох. Команди можуть почати з нашої повністю керованої хмарної пропозиції (найпростіший підхід), а потім перейти до цих більш спеціалізованих рішень у міру розвитку їхніх потреб.

Команди зі строгими вимогами до затримки/часу безвідмовної роботи можуть запускати наш Edge Agent() у власній інфраструктурі, щоб мінімізувати затримку перевірки доступу та підвищити надійність у разі збою Warrant. Служби Edge Agent перевіряють доступ із локального кешу та підключаються до Warrant, щоб отримувати оновлення в реальному часі.

Команди, які хочуть уникнути накладних витрат на інтеграцію через API/SDK, можуть запустити наш агент синхронізації() разом зі своєю базою даних, щоб передавати зміни своїх даних безпосередньо до Warrant. З типами об’єктів, налаштованими для синхронізації, Warrant Sync автоматично підтримує...

Запуск HN: Warrant (YC S21) – авторизація та контроль доступу як послуга
Запуск HN: Warrant (YC S21) – авторизація та контроль доступу як послуга 25 балів від akajla 1 годину тому | приховати | минуле | улюблений | 11 коментарів Привіт HN! Ми Адітя та Каран, співзасновники Warrant (). Warrant надає API та інфраструктуру для авторизації та контролю доступу.

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

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

Ми інженери програмного забезпечення, які роками працювали над системами контролю доступу в таких компаніях, як Lyft, Yahoo, AppLovin і Medallia. Ми часто витрачали час на підтримку та ітерацію цих внутрішніх систем, щоб бути в курсі нових продуктів, фреймворків і вимог безпеки/відповідності.

Пізніше, створюючи наш власний продукт SaaS, нам довелося знову запровадити контроль доступу, і ми зрозуміли три речі: (1) впровадження контролю доступу є необхідним, але випадковим для створення основних функцій продукту. Тому це потрібно якось стандартизувати. (2) Системи контролю доступу важко підтримувати в міру розвитку продукту, і зміна моделі авторизації або правил доступу часто вимагає втручання розробника. (3) Хоча контроль доступу на основі ролей (RBAC) все ще має місце, сучасні програми вимагають більш потужних і настроюваних моделей авторизації. Наприклад, у продукті аналітики даних може знадобитися сказати «конкретний користувач X може редагувати звіт Y», а не «всі адміністратори можуть редагувати звіти». Зрештою, ми створили службу для керування та застосування правил доступу до нашого продукту SaaS. Ми швидко зрозуміли, що контроль доступу є набагато складнішою проблемою для вирішення командою інженерів, і ця служба стала першою версією Warrant.

Warrant — це повністю керована служба контролю доступу, доступна через API/SDK. Як шанувальники підходу Google до авторизації та контролю доступу, ми заснували Warrant на Google Zanzibar (). Користувачі можуть визначати власні моделі авторизації для своїх додатків за допомогою гнучких «типів об’єктів» або використовувати вбудовані моделі для швидкої реалізації поширених сценаріїв аутентифікації, таких як RBAC і Multitenancy. Наша інформаційна панель спрощує керування моделлю дозволів програми та правилами доступу для всіх, від розробників до менеджерів із продуктів.

Ми є централізованим сервісом, тому є дві очевидні проблеми: (1) проблеми із затримкою/надійністю через додавання мережевого запиту майже до кожного запиту та (2) роздратування/перевантаження синхронізації даних і правил доступу. через виклики API/SDK. Ми створили рішення для обох. Команди можуть почати з нашої повністю керованої хмарної пропозиції (найпростіший підхід), а потім перейти до цих більш спеціалізованих рішень у міру розвитку їхніх потреб.

Команди зі строгими вимогами до затримки/часу безвідмовної роботи можуть запускати наш Edge Agent() у власній інфраструктурі, щоб мінімізувати затримку перевірки доступу та підвищити надійність у разі збою Warrant. Служби Edge Agent перевіряють доступ із локального кешу та підключаються до Warrant, щоб отримувати оновлення в реальному часі.

Команди, які хочуть уникнути накладних витрат на інтеграцію через API/SDK, можуть запустити наш агент синхронізації() разом зі своєю базою даних, щоб передавати зміни своїх даних безпосередньо до Warrant. З типами об’єктів, налаштованими для синхронізації, Warrant Sync автоматично підтримує...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow