Команда "перетворити-SPWebApplication" не може перетворити з Windows претензій на SAML на сервері SharePoint Server 2013

Ознаки

Розглянемо такий сценарій:

  • У веб-застосунку Microsoft SharePoint Server 2013 можна використовувати автентифікацію на основі Windows-претензії (за допомогою завдання Windows або відповіді [NTLM] або Kerberos).

  • Ви вирішили перейти до претензій надійного постачальника за допомогою постачальника захищеного виправлення застосунків (SAML), наприклад служби Федерації Active Directory (AD FS).

  • У цій статті описано дії, описані в розділі перенесення автентифікації в службі Windows для роботи з автентифікацією на основі SAML на сервері SharePoint Server 2013 , на веб-сайті Microsoft Developer Network (MSDN).

  • Ви запускаєте таку команду:

    CONVERT-SPWebApplication-ID $wa-to претензії-НАДІЙНІ-за замовчуванням-від претензій-WINDOWS-Truteedprovider $tp-Sourckiplist $csv-RetainPermissions

У цьому сценарії з'являється таке повідомлення про помилку:

Автентифікація на основі "САМЛ" не сумісна.

Причина

Ця проблема виникає через те, що Постачальник маркера надійного посвідчення не був створений за допомогою стандартної конфігурації. Конфігурацію за замовчуванням слід використовувати для правильної роботи команди " перетворити-SPWebApplication ". Команда " перетворити-SPWebApplication " потребує певної конфігурації надійного постачальника, який має бути сумісним з перетворенням з Windows претензій на SAML або навпаки. Зокрема, потрібно створити постачальника маркерів надійного посвідчення за допомогою параметрів UseDefaultConfiguration і IdentifierClaimIs . Ви можете перевірити, чи створено ваш постачальник маркерів надійного посвідчення за допомогою параметра UseDefaultConfiguration , виконавши наведені нижче сценарії Windows PowerShell.Примітка. Ці сценарії передбачають, що у вас є лише один надійний постачальник посвідчень, створений у поточній фермі.

$tp = Get-SPTrustedIdentityTokenIssuer$tp.claimtypes 

Типи тверджень, на які має виводитися цей сценарій, наведено нижче:

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn

#Get the Identity claim:$tp = Get-SPTrustedIdentityTokenIssuer$tp.IdentityClaimTypeInformation 

Претензія ідентифікації має бути однією з наведених нижче дій.

  • WindowAccountName

  • EmailAddress

  • UPN

Приклад виведення для $tp. IdentityClaimTypeInformation: Dispinname: повідомлення електронної пошти inappationtype: http://schemas.xmlsoap.org/ws/2005/05/Identity/Claims/EmailAddressmdatdзаявників: http://schemas.xmlsoap.org/ws/2005/05/Identity/Claims/EmailAddress#IsIdentityClaim : TRUE має бути настроюваний постачальник тверджень з таким самим іменем, що й постачальник маркерів, і він має бути тип SPTrustedBackedByActiveDirectoryClaimProvider. Виконайте цю команду, щоб дізнатися, чи є постачальник тверджень присутній і сумісний:

 $tp = Get-SPTrustedIdentityTokenIssuer$name = $tp.name$cp = Get-SPClaimProvider $nameif($cp.typename -match "SPTrustedBackedByActiveDirectoryClaimProvider"){write-host "Claim provider is present and has TypeName of " $cp.typename " it should be valid"}else{write-host "Claim provider is not present. Trusted Identity Token Issuer" $tp.name " is not compatible with convert-spwebapplication"}

Спосіб вирішення

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

  1. Виконайте такі сценарії:

    $tp = Get-SPTrustedIdentityTokenIssuer$tp | fl$tp.name$tp.IdentityClaimTypeInformation

    Створіть копію випуску цього сценарію для подальшого використання. Зокрема, ми потребуємо значення для властивості Name таким чином, що для нового постачальника маркерів можна створити такий самий ім'я, і ми потребуємо посвідчення особи, щоб створити новий постачальник тверджень, використовуючи таку саму претензію для ідентифікації. Якщо для постачальника маркерів використовується таке саме ім'я, а його твердження використовується як претензія ідентифікації, усі користувачі можуть зберегти свої дозволи в веб-застосунку після повторного створення постачальника маркерів.

  2. Видаліть поточний постачальник надійних посвідчень з постачальників автентифікації для будь-якого веб-застосунку, який зараз використовується.

  3. Видаліть постачальника маркерів, виконавши таку команду:

    Remove-SPTrustedIdentityTokenIssuer -Identity "TheNameOfYourTokenIssuer"
  4. Повторно створіть постачальника маркерів. Для цього виконайте кроки, описані в розділі здійснення автентифікації на основі SAML на сервері SharePoint Server 2013 , на веб-сайті Microsoft TechNet, щоб отримати докладні відомості.Важливо! Під час запуску команди New-SPTrustedIdentityTokenIssuer потрібно використовувати параметри UseDefaultConfiguration і IdentifierClaimIs . Параметр UseDefaultConfiguration – це лише перемикач. Можливі значення параметра IdentifierClaimIs мають такий вигляд:

    • ІМ'Я ОБЛІКОВОГО ЗАПИСУ

    • ЕЛЕКТРОННОЇ пошти

    • КОРИСТУВАЧ – ІМ'Я УЧАСНИКА

    Приклад сценарію:

    $ap = New-SPTrustedIdentityTokenIssuer -Name $tokenIdentityProviderName -Description $TrustedIdentityTokenIssuerDescription -realm $siteRealm -ImportTrustCertificate $adfsCert-SignInUrl $signInUrl -UseDefaultConfiguration -IdentifierClaimIs EMAIL -RegisteredIssuerName $siteRealm
  5. У центрі адміністрування додайте нового постачальника маркерів надійного посвідчення до постачальників автентифікації для веб-програми, яку ви намагаєтеся перетворити. Веб-застосунок має містити автентифікацію Windows і вибраний постачальник надійних посвідчень.

Додаткові відомості

Додаткові поради з успішного перетворення: Якщо значення повідомлення електронної пошти використовується для твердження ідентифікатора (тобто для параметра IdentifierClaimIs ), буде перетворено лише ті користувачі, чиї адреси електронної пошти заповнюються в Active Directory. Будь-які облікові записи користувачів, перелічені в CSV-файлі, який визначено в параметрі Sourckiplist , не буде перетворено на SAML. Щоб перетворити дані з Windows на SAML, імена облікових записів користувачів можуть бути перераховані з відміткою про претензії або без них. Наприклад, параметр "contoso\user1" або "i:0 #. w | contoto\user1" є прийнятним. Потрібно додати до файлу CSV будь-які облікові записи користувачів, які не потрібно перетворити. Вони повинні включати облікові записи служб і облікові записи адміністратора.

Потрібна додаткова довідка?

Отримуйте нові функції раніше за інших
Приєднатися до Microsoft оцінювачів

Чи були ці відомості корисні?

Дякуємо за ваш відгук!

Дякуємо, що знайшли час і надіслали нам відгук! Можливо, у нас не буде часу відповісти на кожен коментар, але докладемо максимум зусиль, щоб переглянути їх усі. Вас цікавить, як ми використовуємо ваші відгуки?

×