Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
Эта функция доступна только для пользовательских политик. Для действий по настройке выберите пользовательскую политику в предыдущем селекторе.
Замечание
В Azure Active Directory B2C пользовательские политики преимущественно предназначены для выполнения сложных сценариев. В большинстве случаев рекомендуется использовать встроенные потоки пользователей. Ознакомьтесь со статьей Начало работы с настраиваемыми политиками в Azure Active Directory B2C, чтобы узнать о базовом пакете настраиваемых политик, если еще не сделали этого.
В этой статье показано, как включить вход для пользователей из организации Salesforce с помощью пользовательских политик в Azure Active Directory B2C (Azure AD B2C). Вы можете включить вход, добавив поставщика удостоверений SAML в настраиваемую политику.
Предпосылки
- Выполните действия, описанные в статье "Начало работы с настраиваемыми политиками в Active Directory B2C". В этом руководстве описано, как обновить пользовательские файлы политики для использования конфигурации клиента Azure AD B2C.
- Если вы еще не зарегистрировали веб-приложение, зарегистрируйте его, выполнив действия, описанные в регистрации веб-приложения.
- Если вы еще этого не сделали, зарегистрируйтесь для получения бесплатной учетной записи Developer Edition. В этой статье используется интерфейс Salesforce Lightning.
- Настройте личный домен для вашей организации Salesforce.
Настройка Salesforce в качестве поставщика удостоверений
- Войдите в Salesforce.
- В меню слева в разделе "Параметры" разверните узел Идентификация и выберите "Поставщик удостоверений".
- Выберите "Включить поставщик удостоверений".
- В разделе "Выбор сертификата" выберите сертификат, который вы хотите использовать Salesforce для взаимодействия с Azure AD B2C. Вы можете использовать сертификат по умолчанию.
- Нажмите кнопку Сохранить.
Создание подключенного приложения в Salesforce
На странице Поставщик удостоверений выберите: Поставщики услуг теперь создаются через подключенные приложения. Щелкните здесь.
В разделе "Основные сведения" введите необходимые значения для подключенного приложения.
В разделе "Параметры веб-приложения" установите флажок "Включить SAML ".
В поле "Идентификатор сущности" введите следующий URL-адрес. Обязательно замените значение
your-tenant
на имя клиента Azure AD B2C.https://your-tenant.b2clogin.com/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase
При использовании личного домена используйте следующий формат:
https://your-domain-name/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase
В поле URL-адреса ACS введите следующий URL-адрес . Обязательно замените значение
your-tenant
на имя клиента Azure AD B2C.https://your-tenant.b2clogin.com/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer
При использовании личного домена используйте следующий формат:
https://your-domain-name/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer
Прокрутите внизу списка и нажмите кнопку "Сохранить".
Получение URL-адреса метаданных
- На странице обзора подключенного приложения нажмите кнопку "Управление".
- Скопируйте значение конечной точки обнаружения метаданных и сохраните его. Вы будете использовать его далее в этой статье.
Настройте пользователей Salesforce для объединенной аутентификации
- На странице "Управление " подключенного приложения нажмите кнопку "Управление профилями".
- Выберите профили (или группы пользователей), которые вы хотите соединить с Azure AD B2C. В качестве системного администратора установите флажок " Системный администратор ", чтобы настроить федерацию с помощью учетной записи Salesforce.
Создание самозаверяющего сертификата
Если у вас еще нет сертификата, можно использовать самозаверяющий сертификат. Самозаверяющий сертификат — это сертификат безопасности, который не подписан центром сертификации (ЦС) и не предоставляет гарантии безопасности сертификата, подписанного ЦС.
В Windows используйте командлет New-SelfSignedCertificate в PowerShell для создания сертификата.
Выполните следующую команду PowerShell, чтобы создать самозаверяющий сертификат. Измените
-Subject
аргумент в соответствии с вашими требованиями для приложения и именем клиента Azure AD B2C, напримерcontosowebapp.contoso.onmicrosoft.com
. Можно также изменить-NotAfter
дату, чтобы указать другой срок действия сертификата.New-SelfSignedCertificate ` -KeyExportPolicy Exportable ` -Subject "CN=yourappname.yourtenant.onmicrosoft.com" ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -KeyUsage DigitalSignature ` -NotAfter (Get-Date).AddMonths(12) ` -CertStoreLocation "Cert:\CurrentUser\My"
На компьютере Windows найдите и выберите пункт "Управление сертификатами пользователей"
В разделе "Сертификаты — текущий пользователь" выберите "Личные>сертификаты>"yourappname.yourtenant.onmicrosoft.com.
Выберите сертификат, затем выберите Действие>Все задачи>Экспорт.
Нажмите кнопку "Далее>да", экспортируйте закрытый ключ>далее.
Примите значения по умолчанию для формата файла экспорта и нажмите кнопку "Далее".
Включите параметр "Пароль" , введите пароль для сертификата и нажмите кнопку "Далее".
Чтобы указать расположение для сохранения сертификата, нажмите кнопку "Обзор " и перейдите в нужный каталог.
В окне "Сохранить как" введите имя файла и нажмите кнопку "Сохранить".
Нажмите кнопку Далее>Готово.
Чтобы Azure AD B2C принял пароль PFX-файла, пароль должен быть зашифрован с помощью параметра TripleDES-SHA1 в служебной программе экспорта хранилища сертификатов Windows, а не AES256-SHA256.
Создание ключа политики
Необходимо сохранить сертификат, созданный в клиенте Azure AD B2C.
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- Выберите все службы в левом верхнем углу портала Azure, а затем найдите и выберите Azure AD B2C.
- На странице "Обзор" выберите Identity Experience Framework.
- Выберите ключи политики и нажмите кнопку "Добавить".
- В разделе "Параметры" выберите
Upload
. - Введите название для политики. Например, SAMLSigningCert. Префикс
B2C_1A_
автоматически добавляется в имя ключа. - Перейдите к сертификату B2CSigningCert.pfx, который вы создали, и выберите его.
- Введите пароль для сертификата.
- Нажмите кнопку Создать.
Добавить поставщика утверждений
Если вы хотите, чтобы пользователи вошли с помощью учетной записи Salesforce, необходимо определить учетную запись как провайдера утверждений, с которым Azure AD B2C может взаимодействовать через конечную точку. Конечная точка предоставляет набор утверждений, используемых Azure AD B2C для проверки подлинности определенного пользователя.
Вы можете определить учетную запись Salesforce в качестве поставщика утверждений, добавив ее в элемент ClaimsProviders в файле расширения политики. Дополнительные сведения см. в разделе "Определение поставщика удостоверений SAML".
Откройте TrustFrameworkExtensions.xml.
Найдите элемент ClaimsProviders . Если он не существует, добавьте его в корневой элемент.
Добавьте новый ClaimsProvider следующим образом:
<ClaimsProvider> <Domain>salesforce.com</Domain> <DisplayName>Salesforce</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="Salesforce-SAML2"> <DisplayName>Salesforce</DisplayName> <Description>Login with your Salesforce account</Description> <Protocol Name="SAML2"/> <Metadata> <Item Key="WantsEncryptedAssertions">false</Item> <Item Key="WantsSignedAssertions">false</Item> <Item Key="PartnerEntity">https://contoso-dev-ed.my.salesforce.com/.well-known/samlidp.xml</Item> </Metadata> <CryptographicKeys> <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SAMLSigningCert"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="userId"/> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name"/> <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name"/> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email"/> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="username"/> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication"/> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="salesforce.com" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-idp"/> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Обновите значение PartnerEntity с url-адресом метаданных Salesforce, скопированным ранее.
Измените значение обоих экземпляров StorageReferenceId на имя ключа сертификата подписи. Например, B2C_1A_SAMLSigningCert.
<ClaimsProviders>
Найдите раздел и добавьте следующий фрагмент XML. Если политика уже содержитSM-Saml-idp
технический профиль, перейдите к следующему шагу. Дополнительные сведения см. в разделе "Управление сеансами единого входа".<ClaimsProvider> <DisplayName>Session Management</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="SM-Saml-idp"> <DisplayName>Session Management Provider</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="IncludeSessionIndex">false</Item> <Item Key="RegisterServiceProviders">false</Item> </Metadata> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Сохраните файл.
Добавить пользовательский сценарий
На этом этапе поставщик удостоверений настроен, но он еще не доступен на любой из страниц входа. Если у вас нет собственного пользовательского пути, создайте дубликат существующего пути пользователя шаблона, в противном случае перейдите к следующему шагу.
- Откройте файлTrustFrameworkBase.xml из начального пакета.
- Найдите и скопируйте все содержимое элемента UserJourney , который включает в себя
Id="SignUpOrSignIn"
. - Откройте TrustFrameworkExtensions.xml и найдите элемент UserJourneys . Если элемент не существует, добавьте его.
- Вставьте все содержимое элемента UserJourney , скопированного в качестве дочернего элемента UserJourneys .
- Переименуйте идентификатор пути пользователя. Например:
Id="CustomSignUpSignIn"
.
Добавьте поставщика удостоверений в путь пользователя
Теперь, когда у вас есть путь пользователя, добавьте нового поставщика идентификации в этот путь. Сначала вы добавляете кнопку входа, а затем связываете кнопку с действием. Действие — это технический профиль, который вы создали ранее.
Найдите элемент шага оркестрации, который включает в себя
Type="CombinedSignInAndSignUp"
илиType="ClaimsProviderSelection"
в процессе работы пользователя. Обычно это первый шаг оркестрации. Элемент ClaimsProviderSelections содержит список поставщиков удостоверений, с которыми пользователь может войти. Порядок элементов определяет порядок кнопок входа, представленных пользователю. Добавьте XML-элемент ClaimsProviderSelection . Задайте для параметра TargetClaimsExchangeId понятное имя.На следующем шаге оркестрации добавьте элемент ClaimsExchange . Установите Id на значение идентификатора целевого обмена утверждениями. Обновите значение TechnicalProfileReferenceId на идентификатор ранее созданного технического профиля.
Следующий XML-код демонстрирует первые два этапа оркестрации взаимодействия пользователя с поставщиком удостоверений:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="SalesforceExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="SalesforceExchange" TechnicalProfileReferenceId="Salesforce-SAML2" />
</ClaimsExchanges>
</OrchestrationStep>
Настройте политику доверяющей стороны
Политика проверяющей стороны, например SignUpSignIn.xml, указывает пользовательский сценарий, который будет выполнять Azure AD B2C. Найдите элемент DefaultUserJourney в поддерживающей стороне. Обновите ReferenceId, чтобы он соответствовал идентификатору пути пользователя, где вы добавили провайдера идентификации.
В следующем примере для CustomSignUpSignIn
пути пользователя для параметра ReferenceId задано значение CustomSignUpSignIn
:
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Отправка настраиваемой политики
- Войдите на портал Azure.
- Щелкните значок каталога и подписки на панели инструментов портала, а затем выберите каталог, содержащий клиент Azure AD B2C.
- В портале Azure найдите и выберите Azure AD B2C.
- В разделе "Политики" выберите Identity Experience Framework.
- Выберите " Отправить настраиваемую политику", а затем отправьте два измененных файла политики в следующем порядке: политика расширения, например
TrustFrameworkExtensions.xml
, политика проверяющей стороны, напримерSignUpSignIn.xml
.
Проверка настраиваемой политики
- Выберите политику доверенной стороны, например
B2C_1A_signup_signin
. - Для приложения выберите веб-приложение, которое вы ранее зарегистрировали. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms
. - Нажмите кнопку "Запустить сейчас ".
- На странице регистрации или входа выберите Salesforce, чтобы войти с помощью учетной записи Salesforce .
Если процесс входа выполнен успешно, браузер перенаправляется на https://jwt.ms
, где отображается содержимое токена, возвращаемого Azure AD B2C.