Реализация Azure AD B2C с многофакторными опциями

Реализация Azure AD B2C с многофакторными опциями
Реализация Azure AD B2C с многофакторными опциями

Изучение реализации пользовательской политики Azure AD B2C

Интеграция нескольких методов аутентификации в Azure AD B2C повышает безопасность и гибкость пользователя. В сценариях, когда пользователям необходимо выбирать между электронной почтой, телефоном или приложением для проверки подлинности для многофакторной аутентификации (MFA), настраиваемые политики приобретают решающее значение. Эти политики позволяют адаптировать действия пользователей с учетом различных предпочтений аутентификации, обеспечивая бесперебойную и безопасную работу пользователей.

Проблема часто заключается в техническом исполнении в рамках Azure, особенно при интеграции одноразовых паролей на основе времени (TOTP) с другими методами. Успешное объединение этих параметров в потоке пользователей требует точной настройки и управления действиями пользователей, что часто может приводить к таким проблемам, как постоянные запросы выбора MFA после установки.

Команда Описание
<ClaimType> Определяет тип утверждения в политике, указывая тип данных, свойства отображения и ограничения.
<UserJourney> Описывает последовательность шагов, которые выполняет пользователь в пользовательской политике.
<OrchestrationStep> Указывает отдельный шаг в пути пользователя, включая его тип и порядок.
<Precondition> Определяет условие, которое должно быть выполнено для выполнения шага оркестрации и используется для управления потоком на основе пользовательских данных или предыдущих входных данных.
<ClaimsProviderSelections> Указывает поставщиков утверждений, доступных для выбора на этапе пути пользователя.
<ClaimsExchange> Определяет обмен утверждениями с поставщиком утверждений, указывая, какие утверждения от какого поставщика требуются.

Объяснение интеграции пользовательских политик Azure AD B2C

Описанные выше сценарии необходимы для реализации настраиваемых параметров многофакторной проверки подлинности (MFA) в Azure AD B2C. Использование <ClaimType> Тег имеет решающее значение, поскольку он определяет типы утверждений, которые могут выбирать пользователи, например телефон, электронная почта или TOTP (одноразовый пароль на основе времени). Этот тип утверждения также определяет параметры ввода, доступные пользователю, что делает его краеугольным камнем для создания динамической и специфичной для пользователя процедуры аутентификации. Выбор, который пользователи здесь делают, влияет на процесс аутентификации, обеспечивая персонализированные меры безопасности.

<UserJourney> и <OrchestrationStep> теги структурируют весь процесс входа или регистрации. Каждый шаг оркестрации может содержать предварительные условия, которые используются для управления потоком на основе предыдущего ввода или статуса пользователя. Например, <Precondition> Тег оценивает, было ли установлено конкретное утверждение, например выбранный метод MFA, и на основе этой оценки может пропустить определенные шаги для оптимизации процесса. Эта возможность настройки позволяет Azure AD B2C адаптироваться к различным пользовательским сценариям и предпочтениям, повышая как безопасность, так и удобство работы пользователей.

Интеграция многофакторной аутентификации в Azure AD B2C

Конфигурация XML для пользовательских политик

<ClaimType Id="extension_mfaByPhoneOrEmail">
    <DisplayName>Please select your preferred MFA method</DisplayName>
    <DataType>string</DataType>
    <UserInputType>RadioSingleSelect</UserInputType>
    <Restriction>
        <Enumeration Text="Phone" Value="phone" SelectByDefault="true" />
        <Enumeration Text="Email" Value="email" SelectByDefault="false" />
        <Enumeration Text="Authenticator App" Value="TOTP" SelectByDefault="false" />
    </Restriction>
</ClaimType>
<UserJourney Id="SignUpOrSignInMFAOption">
    <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
            <ClaimsProviderSelections>
                <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
            </ClaimsProviderSelections>
            <ClaimsExchanges>
                <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
            </ClaimsExchanges>
        </OrchestrationStep>
    </OrchestrationSteps>
</UserJourney>

Скрипт для сохранения выбора MFA

Конфигурация пользовательской политики в XML

<OrchestrationStep Order="5" Type="ClaimsExchange">
    <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>email</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>phone</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>TOTP</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
    </Preconditions>
</OrchestrationStep>

Расширенные методы интеграции для пользовательских политик Azure AD B2C

Для понимания более глубоких тонкостей пользовательских политик Azure AD B2C необходимо изучить, как эти политики взаимодействуют с внешними системами и API. Пользовательские политики в Azure AD B2C не только обрабатывают аутентификацию пользователей, но также могут быть настроены для взаимодействия с внешними API для расширенных процессов проверки или для получения дополнительных пользовательских данных во время процесса аутентификации. Эта возможность позволяет организациям реализовывать сложные требования безопасности и сценарии условного доступа, выходящие за рамки типичных настроек MFA.

Например, интеграция аутентификации на основе рисков, при которой система оценивает риск, связанный с попыткой входа в систему, на основе поведения пользователя и дополнительного контекста, предоставляемого внешними службами анализа угроз. Эта передовая технология использует ClaimsExchange для вызова внешних API и использования Preconditions определять поток на основе ответа API, динамически повышая безопасность в соответствии с оценками в реальном времени.

Распространенные вопросы о пользовательских политиках Azure AD B2C

  1. Какова цель <ClaimType> в пользовательских политиках Azure AD B2C?
  2. <ClaimType> определяет элементы данных, которые можно собирать, хранить и манипулировать ими во время взаимодействия пользователя с платформой идентификации.
  3. Как я могу обеспечить соблюдение MFA только при определенных условиях?
  4. Условное MFA может быть реализовано с помощью <Precondition> теги внутри <OrchestrationStep>s для проверки определенных условий перед запросом MFA.
  5. Могут ли пользовательские политики Azure AD B2C вызывать внешние API?
  6. Да, они могут взаимодействовать с внешними API с помощью <ClaimsExchange> что позволяет политикам отправлять и получать информацию от сторонних сервисов.
  7. Каковы преимущества использования <UserJourney>s в Azure AD B2C?
  8. <UserJourney>позволяют определять собственные пути, по которым пользователи могут пройти процесс аутентификации, адаптированные к различным случаям и условиям пользователей.
  9. Как отладить пользовательскую политику в Azure AD B2C?
  10. Отладку можно выполнить, загрузив политики в режиме «Разработка», что позволяет вести подробные журналы ошибок, которые помогают выявлять проблемы при выполнении политики.

Заключительные мысли о настройке Azure AD B2C

Реализация Azure AD B2C с вариантами аутентификации по электронной почте, телефону и TOTP не только обеспечивает гибкость, но и повышает безопасность, позволяя пользователям выбирать предпочтительный метод. Путешествие по настройке этих параметров раскрывает возможности пользовательских политик в эффективном управлении сложными сценариями аутентификации. Задача интеграции этих систем заключается в обеспечении удобства для пользователя и одновременно обеспечении надежной безопасности, демонстрируя способность Azure AD B2C удовлетворять разнообразные потребности масштабируемым образом.