okta verify что это
Okta. Управляй (доступом) и властвуй
Один логин/пароль на все рабочие сервисы, или как выгодно, безопасно и удобно настроить доступ для сотрудников ко всем сервисам организации. В этом обзоре расскажу про технологии единого входа на примере нового донора программы TeploDigital – сервиса Okta.
Что такое SSO (single sign-on), или технология единого входа
Вы включили компьютер и набрали пароль для входа в систему. Запустили браузер, и вновь появилось окно ввода пароля для авторизации в браузере. Открыли блокнот, но сперва вновь ввели пароль для доступа. И так каждая программа запрашивает у вас новый пароль, чтобы начать работать.
Выглядит странно, диковато и вообще, что происходит? Ведь есть один пароль администратора, который дает доступ ко всем программам внутри. Ну, логично, в данном случае это есть объяснение единого входа. Когда один логин/пароль дает вам доступ ко всей системе. Причем если компьютер один на несколько человек (например, семейный), то можно настроить разные уровни доступа для членов семьи.
Другой пример – авторизация в Google. Ваш логин/пароль для почты Gmail – это одновременно еще и доступ к календарю, картам, YouTube, диску и остальным сервисам Google. А иначе, будьте добры, – отдельные пароли для каждого из этих сервисов.
Сценарии применения в работе
Вполне себе типичный вариант – прием на работу нового сотрудника. Для связи внутри команды используются Slack, Zoom, Gmail, а для совместной работы – Figma (будем считать, что компания занимается дизайном). После оформления вы просите сотрудника завести аккаунты в этих сервисах и добавляете его к себе в команду. Когда таких сотрудников в компании один или два – это одно дело, но когда их с десяток, да к тому же они регулярно меняются, то уследить за всеми их профилями (кто работает, а кто уже уволился) будет непросто.
Использовать для этих программ один логин/пароль стандартными средствами не получится, ведь они от разных разработчиков. Но и разбираться, оставлять того или иного сотрудника в чате компании или уже давно нужно удалить, с каждым разом будет сложнее.
Это именно тот случай, когда во всех смыслах проще будет использовать один единственный аккаунт для доступа этого сотрудника ко всем нужным ему для работы сервисам. Список этих самых сервисов и уровни доступа к ним вы задаете сами. Если сотрудник увольняется, то одним кликом вы закрываете ему доступ ко всей рабочей экосистеме.
Знакомьтесь, это Okta
Okta – это облачная платформа, позволяющая вам и вашим коллегам получать доступ ко всем программам, что есть в компании, используя для этого только один логин/пароль. Один логин для доступа, например, к Slack, Zoom, Gmail и Figma. При этом Okta позволяет делать это с компьютера, планшета или телефона.
Технология единого входа от сервиса Okta. Скриншот сайта okta.com
При этом администратор может отнести нового сотрудника к определенной группе внутри Okta, чтобы предоставить доступ только к нужному набору программ и сервисов. Таким образом, менеджер по продажам получит доступ только к его рабочим инструментам, а ту же Figma видеть не будет. Потому что к ней будет доступ только у дизайнеров.
Какие приложения можно подключить
Сейчас внимание – в каталоге Okta доступно для подключения более 6000 приложений!
Каталог приложений Okta разбит на категории для удобного поиска приложений. Скриншот сайта okta.com
Популярные решения, что можно уже сейчас использовать в работе:
Насколько это безопасно
Современные средства доступа – это не просто локальный компьютер, подключенный ко внутренней сети организации. Сотрудники пользуются ноутбуками, планшетами, телефонами. Все это требует куда более серьезной защиты, чем офисный файрволл и антивирус. Okta позиционирует себя как современную версию технологии единого входа.
В дополнение к стандартным средствам безопасности можно подключить MFA – многофакторную аутентификацию. Тогда в дополнение к паролю потребуется подтвердить личность еще одним, выбранным вами способом. Это может быть пин-код из SMS (но все же лучше Google Authenticator, так безопаснее), отпечаток пальца или пуш-уведомление из мобильного приложения Okta Verify. Есть версия и для iOS, и для Android.
Где и как подключиться к программе
Логично, что подключиться можно на сайте Okta. Платные тарифы, ну вы знаете. Но есть другой, более заманчивый вариант. Если у вас некоммерческая организация, то можно получить 25 бесплатных лицензий для работы с Okta. В данном случае 25 лицензий – это 25 сотрудников, у которых может быть разграниченный доступ к корпоративным сервисам.
Okta предлагает 25 бесплатных лицензий для НКО. Скриншот сайта teplodigital.org
Что получает НКО
Во-первых, доступ к огромному каталогу приложений. Понятно, что из тех 6000 реально использоваться будет с десяток, а то и меньше, но зато это будут знакомые приложения, с которыми уже есть опыт работы и все понятно, удобно.
Во-вторых, на голову повышается уровень безопасности в организации. Одна учетка для доступа ко всем сервисам – это как минимум удобно.
В-третьих, это бесплатно. Коммерческий ценник стартует с 2$ в месяц за одного пользователя, так что есть с чем сравнивать.
Okta стала 17-м донором программы TeploDigital в России, теперь выбор еще интересней. Посмотрите заодно весь список доступных для подключения сервисов.
Напишите, если будут вопросы. Вместе со специалистами TeploDigital разберемся, там несложно.
Okta: безопасный доступ к приложениям на Angular + Spring Boot
Приглашаем также всех желающих на открытый демо-урок «Конфигурация Spring-приложений». На занятии рассмотрим, как можно конфигурировать Spring Boot приложения с помощью свойств:
— properties vs. YAML
— @Value + SpEL
— @ConfigurationProperties
— Externalized конфигурация.
Присоединяйтесь!
Разрабатывая корпоративные веб-приложения, каждый из нас рано или поздно сталкивается с необходимостью обеспечить их безопасность и защитить их ресурсы от несанкционированного доступа. Нужно определить роли для управления доступом, которые будут назначаться пользователям или группам и наделять их полномочиями выполнять те или иные операции в приложении.
Okta — это облачный сервис, который позволяет управлять удостоверениями и доступом. Согласно документации Okta, это сервис корпоративного уровня, который создан для управления удостоверениями в облачной среде, но при этом совместим и со многими локальными приложениями. С его помощью ИТ-специалисты могут управлять доступом сотрудников к любому приложению или устройству. Сервис развернут на надежной и защищенной облачной платформе, которая обладает широкими возможностями аудита и тесно интегрируется с локальными приложениями, службами каталогов и системами управления удостоверениями. Подробную информацию о том, как Okta интегрируется с приложениями, можно получить по этой ссылке.
Для авторизации пользователей в Okta используется протокол OAuth2. Подробнее о протоколе OAuth2 и стандарте Open ID Connect (OIDC) можно почитать в блоге Okta.
В этой статье мы рассмотрим демонстрационное приложение «Контакты» и настройку разрешений на просмотр, создание, редактирование и удаление контактов. Это вторая часть цикла статей о приложении «Контакты», посвященная его защите с помощью Okta. О базовом приложении подробно написано в первой статье цикла: «Разработка веб-приложения на Spring Boot + Angular».
Полный код, фрагменты которого мы рассматриваем в этой статье, доступен на GitHub.
В итоге наше приложение будет иметь следующую архитектуру:
Компонентная архитектура приложения «Контакты», использующего протокол OAuth
О том, как контейнеризировать это приложение и развернуть его в кластере Kubernetes, можно узнать по ссылкам:
Конфигурация на портале разработчика Okta
Для начала нам нужно настроить учетную запись Okta и добавить приложение в Okta. Здесь можно создать учетную запись разработчика бесплатно.
После создания учетной записи мы можем добавить наше приложение в консоль администрирования Okta. Для этого выберем вкладку Applications (Приложения) и щелкнем Add Application (Добавить приложение).
Выберем в качестве платформы Single Page App (Одностраничное приложение) и настроим его так, как показано на скриншоте ниже. Здесь мы отметим только опцию Authorization code (Код авторизации), поскольку нам не нужно, чтобы токен возвращался непосредственно в URL-адресе (о связанных с этим рисках безопасности написано в этой статье в блоге Okta).
В нашем случае требуется два перенаправления входа: во-первых, когда пользователь входит в приложение через пользовательский интерфейс, куда сервер авторизации Okta должен перенаправлять пользователя с указанием кода авторизации, а во-вторых — когда пользователь напрямую вызывает открытые API серверной части. Также выберем здесь PKCE.
OAuth предлагает различные «потоки авторизации» (authorization code flows) — выбор конкретного потока зависит от сценария использования приложения. О том, какой поток OAuth выбрать, можно прочитать в этой статье на Medium или в документации Okta. Пользовательский интерфейс нашего демонстрационного приложения представляет собой одностраничное приложение на Angular, поэтому выберем неявный поток (implicit flow) с дополнительной проверкой для обмена кодом (Proof Key Code Exchange, PKCE).
Авторизация запросов через сервер авторизации
Для авторизации всех входящих запросов к приложению нам понадобится сервер авторизации. В нашем примере используется сервер авторизации, который Okta предоставляет по умолчанию. Если вы захотите написать собственный сервер для авторизации запросов, это тоже возможно; тогда нужно будет указать в Okta ссылку на его конечную точку.
Чтобы увидеть сервер авторизации на портале Okta, нужно выбрать пункт меню, показанный ниже на скриншоте.
Добавление заявлений о группах (groups claims) в приложение «Контакты»
Для демонстрации создадим группу Admin. Администратор будет обладать правами на создание/редактирование/удаление.
О том, как создать группу и идентифицировать ее с помощью токена доступа, можно узнать в блоге Okta. В официальном блоге Okta описана автономная конфигурация приложения на Spring Boot в качестве веб-проекта Okta. В нашем случае менять тип проекта не нужно. Мы просто создадим группы и включим заявления о группах в токен доступа, выдаваемый сервером авторизации.
На скриншотах ниже показано, как мы создали группу, связали ее с нашим приложением и включили заявление о группах в токен доступа.
Управление группами
Назначение групп/пользователей для приложения
Добавление заявления о группах в токен доступа, выдаваемый сервером авторизации
Настроив проект через консоль администрирования Okta описанным выше способом, можно приступать к его интеграции с приложением «Контакты» для защиты доступа к приложению.
Настройка Okta в клиентской части приложения
Для защиты клиентской части приложения «Контакты» воспользуемся SDK-библиотекой Okta для Angular. Мы будем авторизовывать пользователя, перенаправляя его на конечную точку авторизации, настроенную для нашей организации в Okta. Библиотеку можно установить с помощью npm :
Чтобы реализовать этот промежуточный слой, после установки нужно будет указать значения из клиента OIDC, полученные на предыдущем этапе. Также понадобится URL-адрес организации в Okta — его можно узнать на домашней странице консоли разработчика Okta.
В файле app.module.ts создадим объект конфигурации и в нем установим true для параметра PKCE.
Этот объект нужно добавить в раздел providers. Также импортируем OktaAuthModule :
В модуле обработки маршрутов приложения зададим защиту маршрута, воспользовавшись Route Guard из Angular. Вот фрагмент кода из app-routing-module.ts:
Метод canActivate в OktaAuthGuard используется для проверки того, прошел ли пользователь процедуру аутентификации. Если нет, он перенаправляется на страницу входа Okta; если да, мы позволяем ему просматривать страницу, на которую ведет маршрут.
Аналогичным образом метод canActivate в AdminGuard проверяет, принадлежат ли вошедшие в систему пользователи к группе Admin ; если нет, запрос на доступ к маршруту отклоняется и выводится предупреждение.
Ниже показана последовательность операций, которые выполняются, когда пользователь пытается обратиться к маршруту /contact-list для просмотра списка контактов.
Последовательность операций при выводе контактов на экран
Ниже представлена последовательность операций, демонстрирующая принцип работы PKCE. В случае одностраничного приложения, если токен возвращается непосредственно как часть URL-адреса перенаправления, любое расширение браузера может получить доступ к токену еще до того, как его увидит приложение. Это представляет потенциальную угрозу безопасности. Для снижения этого риска в PKCE вычисляется хэш SHA256 от случайной строки верификатора кода (code verifier), и этот хэш включается в запрос кода доступа как контрольное значение (code challenge). Когда поступает запрос на обмен токена доступа на код доступа, сервер авторизации может снова вычислить хэш SHA256 от верификатора кода и сопоставить результат с сохраненным контрольным значением.
Библиотека для Angular производит все эти операции за кадром: вычисляет хэш от верификатора кода с помощью алгоритма SHA256 и обменивает токен на код доступа, сопоставляя верификатор кода с контрольным значением.
Неявное разрешение на доступ (implicit grant) с использованием PKCE в приложении «Контакты»
Настройка Okta в серверной части приложения
Для того чтобы приложение Spring Boot поддерживало Okta, нужно установить следующие зависимости:
Spring Security OAuth2 и Okta Spring Boot Starter следует добавить в classpath, тогда Spring настроит поддержку Okta во время запуска.
Укажем следующие значения конфигурации для настройки и подключения Spring к приложению Okta:
В классе SpringSecurity нужно указать, что приложение Spring Boot является сервером ресурсов:
При такой конфигурации конечные точки нашего приложения защищены. Если попробовать обратиться к конечной точке /contacts по адресу http://localhost:8080/api/contacts, будет возвращена ошибка 401, поскольку запрос не пройдет через фильтр аутентификации.
Для того чтобы предоставить права на создание, обновление и удаление контактов только администратору, нужно включить защиту методов в классе SpringSecurityConfig при помощи следующей аннотации:
На конечных точках, которые мы хотим защитить, можно выполнять проверку ролей с помощью PreAuthorize следующим образом:
Для получения сведений о вошедшем в систему пользователе можно использовать объект Principal ( @AuthenticationPrincipal ).
Защита доступа к API из клиентской части приложения с помощью токена доступа
Прямой доступ к API приложения через внешний сервер API
Если все настроено правильно, пользовательский интерфейс нашего приложения сможет получать доступ к API серверной части. В корпоративных приложениях часто присутствует несколько микросервисов, к которым обращается пользовательский интерфейс приложения, а также ряд микросервисов, доступ к которым открыт непосредственно для других приложений или пользователей. Так как наше приложение настроено как одностраничное, в настоящее время оно поддерживает доступ только из JavaScript-кода. Чтобы открыть доступ к микросервисам как к API для других потребителей API, нужно создать в Okta серверное приложение с типом «веб-приложение», а затем создать микросервисы как одностраничные приложения и разрешить единый вход для доступа к ним (технически мы имеем дело с двумя разными приложениями в Okta).
Я разработал небольшое решение, позволяющее обойти эту проблему. Мы по-прежнему будем использовать неявный поток с PKCE, но на этот раз не станем перенаправлять пользователя на страницу входа (при направлении запроса к API войти в Okta в ручном режиме невозможно, поскольку в этом случае пользователем будет пользователь API). Вместо этого будем следовать следующему алгоритму.
Последовательность операций при прямом доступе к серверному API
Я создал сервер API, то есть микросервис-обертку, предоставляющий список API, к которым мы хотим открыть доступ как к серверным API.
Эта обертка выдает токены доступа с указанием конечной точки входа, а затем вызывает нужный API, используя токен доступа.
Она выступает в роли прокси-сервера для основного серверного API нашего приложения и открывает доступ к необходимым сервисам. В ней используется библиотека Spring Cloud OpenFeign, предназначенная для написания декларативных REST-клиентов. Такая обертка представляет собой очень простой способ создания клиентов для веб-сервисов. Она позволяет сократить количество кода при написании потребителей веб-сервисов на базе REST, а также поддерживает перехватчики, позволяющие реализовать любые промежуточные операции, которые должны выполняться до направления запроса к API. В нашем случае мы будем использовать перехватчик для задания токена доступа и распространения прав доступа пользователей. Дополнительные сведения о Feign доступны по этой ссылке.
При правильной настройке все конечные точки нашего приложения, а также компоненты клиентской части приложения будут надежно защищены. Доступ к нему будет открыт только для авторизованных пользователей. О том, как контейнеризировать это приложение и развернуть его в кластере Kubernetes, можно прочитать по ссылкам:
Okta Verify на компьютер
Информация
При доступе к своим приложениям вы выберете метод двухэтапной проверки, предоставляемый Okta Verify, чтобы завершить вход. Вы можете подтвердить свою личность с помощью push-уведомления, отправленного на ваше устройство (если это разрешено вашей организацией), временного 6- цифровой код или биометрические данные (если это разрешено вашей организацией).
Мы запрашиваем разрешение на использование камеры вашего устройства, чтобы вы могли сканировать QR-код при регистрации устройства в Okta.
Инструкции по установке
Cкачать и установить Okta Verify на компьютер бесплатно.
Многие из нас стали задавать простой вопрос: как скачать, установить и сыграть в нашу любимую игру прямо на компьютере?
Если вы не любите маленькие экраны смартфона или планшета, то сделать это можно с помощью программы-эмулятора. С ее помощью можно создать на своем компьютере среду Android и через нее запустить приложение. На данный момент самыми популярными утилитами для этого являются: Bluestacks и NoxPlayer.
Установка Okta Verify на компьютер с помощью Bluestacks
Bluestacks считается самым популярным эмулятором для компьютеров под управлением Windows. Кроме того, есть версия этой программы для Mac OS. Для того, чтобы установить этот эмулятор на ПК нужно, чтобы на нем была установлена Windows 7 (или выше) и имелось минимум 2 Гб оперативной памяти.
Установите и настройте Bluestacks. Если на компьютере нет Bluestacks, перейдите на страницу https://www.bluestacks.com/ru/index.html и нажмите зеленую кнопку «Скачать Bluestacks» посередине страницы. Щелкните по зеленой кнопке «Скачать» в верхней части следующей страницы, а затем установите эмулятор:
+ Windows: дважды щелкните по скачанному EXE-файлу, нажмите «Да», когда появится запрос, щелкните по «Установить», нажмите «Завершить», когда эта опция станет активной. Откройте Bluestacks, если он не запустился автоматически, а затем следуйте инструкциям на экране, чтобы войти в свою учетную запись Google.
+ Mac: дважды щелкните по скачанному файлу DMG, дважды щелкните по значку Bluestacks, нажмите «Установить», когда будет предложено, разрешите устанавливать программы сторонних разработчиков (если понадобится) и нажмите «Продолжить». Откройте Bluestacks, если он не запустился автоматически, и следуйте инструкциям на экране, чтобы войти в свою учетную запись Google.
Скачайте файл APK на компьютер. APK-файлы являются установщиками приложений. Вы можете скачать apk-файл с нашего сайта.
Щелкните по вкладке «Мои приложения». Она находится в верхней левой части окна Bluestacks.
Нажмите «Установить APK». Эта опция находится в нижнем правом углу окна. Откроется окно Проводника (Windows) или Finder (Mac).
Выберите скачанный файл APK. Перейдите в папку со скачанным файлом APK и щелкните по нему, чтобы выбрать.
Нажмите «Открыть». Эта опция находится в нижнем правом углу окна. Файл APK откроется в Bluestacks, то есть начнется установка приложения.
Запустите приложение. Когда значок приложения отобразится на вкладке «Мои приложения», щелкните по нему, чтобы открыть приложение.
Установка Okta Verify на компьютер с помощью NoxPlayer
Nox App Player бесплатна и не имеет никакой навязчивой всплывающей рекламы. Работает на Андроиде версии 4.4.2, позволяя открывать множество игр, будь то большой симулятор, требовательный шутер или любое другое приложение.
+ Перейти на официальный сайт разработчика https://www.bignox.com/
+ Для того чтобы установить эмулятор Nox App Player, нажимаем на кнопку «СКАЧАТЬ».
+ Далее начнется автоматическая загрузка, по завершении которой необходимо будет перейти в папку «Загрузки» и нажать на установочный файл скачанной программы.
Установка и запуск программы:
+ Для продолжения установки необходимо в открывшемся окне нажать на кнопку «Установить». Выберите дополнительные параметры инсталляции, нажав на кнопку «Настроить», если вам это необходимо. Не снимайте галочку с пункта «Принять «Соглашение»», иначе вы не сможете продолжить.
+ После того как эмулятор будет установлен на компьютер, вы увидите на экране окно запуска, где необходимо будет нажать на кнопку «Пуск».
+ Все, на этом этапе установка эмулятора Nox App Player завершена. Для полноценной работы программы вам необходимо будет зайти в свой аккаунт Play Market — нажмите на иконку приложения в папке Google, введите логин и пароль от вашей учетной записи.
Загрузка и установка приложений: Для этого вам необходимо скачать файл приложения в формате APK и просто перетащить его на рабочий стол Nox App Player. После этого сразу начнется установка, по окончании которой вы увидите значок этого приложения на главном экране.
About Okta Verify
Okta Verify is an MFA factor and authenticator app developed by Okta. The app is used to confirm a user’s identity when they sign in to their Okta account.
After an end user installs the app on their primary device, they can verify their identity by approving a push notification or by entering a one-time code. When a user signs in to their organization, the Okta Verify app prompts them to verify their identity.
Note: End users can only register one device at a time with Okta Verify. To register a new device, users must reset their Okta Verify account and then open Okta Verify to add and register their new device.
HealthInsight task recommendations
Enable Okta Verify (with push when available) to allow end users to authenticate with a strong MFA factor.
Enable Okta Verify as a primary factor. If available for your org, also enable Okta Verify with Push.
Consider this recommendation when you update factor enrollment policies.
Okta Verify typical workflow
Okta’s Risk Scoring capability allows you to increase the level of security that guards sign-ins to your Okta org. When enabled, the Risk Scoring engine assesses sign-in attempts against a number of criteria, including details about the device and its location. It then assigns a risk level to each Okta sign-in, which can then be used for dynamic responses according to the level of risk assessed. For example, admins might want Okta to prompt users for multifactor authentication if the sign-in is considered high-risk.
- Трехмерное зрение что это
- Узи брюшной полости что можно увидеть