SharePoint 2013 でクラシックモードからクレームベース認証に移行する

 

適用先:SharePoint Foundation 2013, SharePoint Server 2013

トピックの最終更新日:2017-01-25

概要:クラシック モードの SharePoint 2010 製品または SharePoint 2013 の各 Web アプリケーションをクレームベース認証に変換するか、クレームベースの新しい Web アプリケーションを SharePoint 2013 に作成します。

クレームベース認証は、SharePoint 2013の高度な機能を有効にするための不可欠なコンポーネントです。クラシック モードの Web アプリケーションを SharePoint 2010 製品から SharePoint 2013に移動するには、SharePoint 2010 製品でそれらをクレームベースの Web アプリケーションに変換してから SharePoint 2013に移行できます。この記事の手順では、サポートされるさまざまなシナリオについて説明します。

SharePoint 2013の Windows PowerShell で Convert-SPWebApplication コマンドレットを実行すると、クラシックモードの Web アプリケーションをクレームベースの Web アプリケーションに変換できます。

警告警告:
Web アプリケーションをクレーム ベース認証に変換すると、クラシック モード認証には戻せません。

SharePoint 2010 製品で次の手順を実行して既存の Web アプリケーションをクレームベース認証に変換します。Web アプリケーションをクレームベース認証に変換した後、追加手順を実行して Web アプリケーションを SharePoint 2013に移行します。この手順を実行するには、次の情報が必要です。

  • 変換する Web アプリケーションの URL: http://yourWebAppUrl

  • サイト管理者として設定するユーザー アカウント: yourDomain\yourUser

SharePoint 2010 製品の Web アプリケーションをクレーム ベース認証に変換するには
  1. 次のメンバーシップがあることを確認します。

    • SQL Server インスタンスに対する securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • Windows PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    • about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)」を参照してください。

    • 上に示した最小要件を満たすために必要なメンバーシップを追加します。

    管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint 2013 コマンドレットを使用する権限を付与できます。

    メモメモ:
    権限がない場合は、セットアップ管理者または SQL Server 管理者に連絡して権限を要求してください。Windows PowerShell の権限の追加情報については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
  2. Windows PowerShell コマンド プロンプトで次のコマンドを入力して、指定されたユーザー アカウントをこのサイトの管理者として設定します。

    $WebAppName = "http://<yourWebAppUrl>"
    $wa = get-SPWebApplication $WebAppName
    $wa.UseClaimsAuthentication = $true
    $wa.Update()
    

    ここで、

    • <yourWebAppUrl> は Web アプリケーションの URL です。

  3. Windows PowerShell コマンド プロンプトで次のコマンドを入力して、ユーザーのフル アクセスを有効にするようにポリシーを構成します。

    $account = "yourDomain\yourUser"
    $account = (New-SPClaimsPrincipal -identity $account -identitytype 1).ToEncodedString()
    $wa = get-SPWebApplication $WebAppName
    $zp = $wa.ZonePolicies("Default")
    $p = $zp.Add($account,"PSPolicy")
    $fc=$wa.PolicyRoles.GetSpecialRole("FullControl")
    $p.PolicyRoleBindings.Add($fc)
    $wa.Update()
    

    詳細については、「Get-SPWebApplication」を参照してください。

  4. Windows PowerShell コマンド プロンプトで以下のコマンドを入力して、ユーザーの移行を実行します。

    $wa.MigrateUsers($true)
    
  5. ユーザーの移行が完了したら、Windows PowerShell コマンド プロンプトで以下のコマンドを入力して準備処理を実行します。

    $wa.ProvisionGlobally()
    

    詳細については、「New-SPClaimsPrincipal」を参照してください。

    メモメモ:
    コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。

上記の手順を実行すると、次の問題が発生する場合があります。

  • 移行した Web アプリケーションにアクセスした際に、有効な資格情報を送信したにもかかわらず、権限がない旨が通知されることがあります。このように通知された場合は、移行前に Web アプリケーションの portalsuperuseraccount プロパティと portalsuperreaderaccount プロパティが構成された可能性があります。この場合は、クレームベースの新しいアカウント名を使用するように portalsuperuseraccount プロパティと portalsuperreaderaccount プロパティを更新します。移行後、クレームベースの新しいアカウント名は、移行された Web アプリケーションの Web アプリケーション ポリシーで確認できます。

  • 移行後、既存の通知が起動しない場合は、その通知を削除して再作成します。

  • 移行後、Web アプリケーションの Search クロールが機能しない場合は、Search クロール アカウントに、変換された新しいアカウント名が示されていることを確認します。変換された新しいアカウント名が示されていない場合は、クロール アカウントに対して新しいポリシーを手動で作成する必要があります。

SharePoint 2010 製品のクレームベースの Web アプリケーションを SharePoint 2013に移行するには
  1. SharePoint 2013 で、クレームベースの Web アプリケーションを作成します。詳細については、「SharePoint 2013 でクレーム ベースの Web アプリケーションを作成する」を参照してください。

  2. SharePoint 2010 製品の既存の 2 つのコンテンツ データベースを新しく作成した SharePoint 2013 のクレームベース Web アプリケーションに接続します。詳細については、「SharePoint 2013 でコンテンツ データベースを接続または切断する」を参照してください。

    メモメモ:
    SharePoint 2010 製品のコンテンツ データベースを SharePoint 2013のクレームベース Web アプリケーションに接続すると、データベースが SharePoint 2013のデータベース形式にアップグレードされます。接続後にコンテンツ データベースが正しく機能することを確認する必要があります。

SharePoint 2013で次の手順を実行し、SharePoint 2010 製品の既存のクラシックモード Web アプリケーションをクレームベース認証を使用する SharePoint 2013の Web アプリケーションに変換します。

SharePoint 2010 製品のクラシックモード Web アプリケーションを SharePoint 2013のクレームベース認証に変換するには
  1. 次のメンバーシップがあることを確認します。

    • SQL Server インスタンスに対する securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • Windows PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    • about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)」を参照してください。

    • 上に示した最小要件を満たすために必要なメンバーシップを追加します。

    管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint 2013 コマンドレットを使用する権限を付与できます。

    メモメモ:
    権限がない場合は、セットアップ管理者または SQL Server 管理者に連絡して権限を要求してください。Windows PowerShell の権限の追加情報については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
  2. SharePoint 2013環境で、[スタート] メニューから [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2013 製品] をクリックします。

  4. [SharePoint 2013 管理シェル] をクリックします。

  5. ファイルの保存先のディレクトリに移動します。

  6. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    New-SPWebApplication -name "ClassicAuthApp" -Port 100 -ApplicationPool "ClassicAuthAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "<domainname>\<user>")
    

    ここで、

    • <domainname>\<user> は、サーバーが属するドメインおよびユーザー アカウントの名前です。

  7. SharePoint 2010 製品の既存の 2 つのコンテンツ データベースを SharePoint 2013 の新しいクラシックモード Web アプリケーションに接続します。詳細については、「SharePoint 2013 でコンテンツ データベースを接続または切断する」を参照してください。

    メモメモ:
    SharePoint 2010 製品のコンテンツ データベースを SharePoint 2013のクラシックモード Web アプリケーションに接続すると、データベースが SharePoint 2013のデータベース形式にアップグレードされます。接続後にコンテンツ データベースが正しく機能することを確認する必要があります。
  8. Windows PowerShell コマンド プロンプトで次のように入力します。

    Convert-SPWebApplication -Identity <yourWebAppUrl> -To Claims -RetainPermissions [ -Force]
    

    ここで、

    • <yourWebAppUrl> は Web アプリケーションの URL です。

    メモメモ:
    Convert-SPWebApplication は Web アプリケーションをクレームベース認証に変換します。変換後に、ユーザーが Web アプリケーションにアクセスできることを確認する必要があります。
  9. 必要に応じて、3 つ目の SharePoint 2010 製品コンテンツ データベースを SharePoint 2013の新しいクラシックモード Web アプリケーションに接続し、接続後にコンテンツ データベースが正しく機能することを確認します。

  10. Windows PowerShell コマンド プロンプトで次のように入力します。

    Convert-SPWebApplication -Identity yourWebAppUrl -To Claims -RetainPermissions [ -Force]
    

クレーム ベース認証に変換した後、ユーザーが Web アプリケーションにアクセスできることを確認します。

詳細については、「New-SPWebApplication」、「Get-SPManagedAccount」、および「Convert-SPWebApplication」を参照してください。

メモメモ:
コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。

SharePoint 2013 で次の手順を実行し、まずクラシックモード Web アプリケーションを作成した後、それをクレームベース認証に変換します。

SharePoint 2013でクラシックモード Web アプリケーションを作成するには
  • 次のメンバーシップがあることを確認します。

    • SQL Server インスタンスに対する securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • Windows PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    • about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)」を参照してください。

    • 上に示した最小要件を満たすために必要なメンバーシップを追加します。

    管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint 2013 コマンドレットを使用する権限を付与できます。

    メモメモ:
    権限がない場合は、セットアップ管理者または SQL Server 管理者に連絡して権限を要求してください。Windows PowerShell の権限の追加情報については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
  • Windows PowerShell コマンド プロンプトで次のように入力します。

    New-SPWebApplication -Name <Name> -ApplicationPool <ApplicationPool> -AuthenticationMethod <WindowsAuthType> -ApplicationPoolAccount <ApplicationPoolAccount> -Port <Port> -URL <URL>
    

    ここで、

    • <Name> は、クラシックモード認証を使用する新しい Web アプリケーションの名前です。

    • <ApplicationPool> は、アプリケーション プールの名前です。

    • <WindowsAuthType> は "NTLM" または "Kerberos" です。Kerberos にすることをお勧めします。

    • <ApplicationPoolAccount> は、このアプリケーション プールが実行するユーザー アカウントです。

    • <Port> は、IIS で Web アプリケーションが作成されるポートです。

    • <URL> は、Web アプリケーションのパブリック URL です。

    メモメモ:
    詳細については、「New-SPWebApplication」を参照してください。
    メモメモ:
    Web アプリケーションが正常に作成されると、[サーバーの全体管理] ページを開いたときに、クラシック認証モードで 1 つ以上の Web アプリケーションが有効になっていることを示す正常性ルールの警告が表示されます。これは、クラシックモード認証ではなくクレームベース認証の使用が推奨されていることを反映しています。
SharePoint 2013のクラシックモード Web アプリケーションをクレームベース認証に変換するには
  • Windows PowerShell コマンド プロンプトで次のように入力します。

    Convert-SPWebApplication -Identity "http:// <servername>:port" -To Claims -RetainPermissions [-Force]
    

    ここで、

    • <servername> はサーバーの名前です。

クレーム ベース認証に変更した後、ユーザーが Web アプリケーションにアクセスできることを確認します。

詳細については、「New-SPWebApplication」、「Get-SPManagedAccount」、および「Convert-SPWebApplication」を参照してください。

メモメモ:
コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。

SharePoint 2013で次の手順を実行し、クラシックモード Web アプリケーションを作成した後、SharePoint 2010 製品の既存のクラシックモード Web アプリケーションを SharePoint 2013に移行します。

SharePoint 2010 製品のクラシックモード Web アプリケーションを SharePoint 2013に移行するには
  1. 次のメンバーシップがあることを確認します。

    • SQL Server インスタンスに対する securityadmin 固定サーバー ロール。

    • 更新するすべてのデータベースに対する db_owner 固定データベース ロール。

    • Windows PowerShell コマンドレットを実行するサーバーでの Administrators グループ。

    • about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)」を参照してください。

    • 上に示した最小要件を満たすために必要なメンバーシップを追加します。

    管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint 2013 コマンドレットを使用する権限を付与できます。

    メモメモ:
    権限がない場合は、セットアップ管理者または SQL Server 管理者に連絡して権限を要求してください。Windows PowerShell の権限の追加情報については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
  2. Windows PowerShell コマンド プロンプトで次のように入力します。

    New-SPWebApplication -name "ClassicAuthApp" -Port 100 -ApplicationPool "ClassicAuthAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "<domainname>\<user>")
    

    ここで、

    • <domainname>\<user> は、サーバーが属するドメインおよびユーザー アカウントの名前です。

  3. SharePoint 2010 製品の既存の 2 つのコンテンツ データベースを SharePoint 2013 の新しいクラシックモード Web アプリケーションに接続します。接続後にコンテンツ データベースが正しく機能することを確認します。詳細については、「SharePoint 2013 でコンテンツ データベースを接続または切断する」を参照してください。

詳細については、「New-SPWebApplication」および「Get-SPManagedAccount」を参照してください。

メモメモ:
コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。

表示: