SharePoint 2013 でクラシックモードからクレームベース認証に移行する
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
クレームベース認証は、SharePoint 2013の高度な機能を有効にするための不可欠なコンポーネントです。 クラシック モードの Web アプリケーションを SharePoint 2010 製品から SharePoint 2013に移動するには、SharePoint 2010 製品でそれらをクレームベースの Web アプリケーションに変換してから SharePoint 2013に移行できます。 この記事の手順では、サポートされるさまざまなシナリオについて説明します。
SharePoint 2013の PowerShell で Convert-SPWebApplication コマンドレットを実行すると、クラシックモードの Web アプリケーションをクレームベースの Web アプリケーションに変換できます。
注意
Web アプリケーションをクレーム ベース認証に変換すると、クラシック モード認証には戻せません。
SharePoint 2010 製品 のクラシックモード Web アプリケーションを SharePoint 2010 製品 でクレームベース認証に変換し、SharePoint 2013 にアップグレードする
SharePoint 2010 製品で次の手順を実行して既存の Web アプリケーションをクレームベース認証に変換します。 Web アプリケーションをクレームベース認証に変換した後、追加手順を実行して Web アプリケーションを SharePoint 2013に移行します。 この手順を実行するには、次の情報が必要です。
変換する Web アプリケーションの URL: http://yourWebAppUrl
サイト管理者として設定するユーザー アカウント: yourDomain\yourUser
SharePoint 2010 製品の Web アプリケーションをクレーム ベース認証に変換するには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050) を読み取る必要があります。
上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint 2013のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell の権限の追加情報については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
- PowerShell コマンド プロンプトで次のコマンドを入力して、指定されたユーザー アカウントをこのサイトの管理者として設定します。
$WebAppName = "http://<yourWebAppUrl>"
$wa = get-SPWebApplication $WebAppName
$wa.UseClaimsAuthentication = $true
$wa.Update()
詳細は次のとおりです。
- <yourWebAppUrl> は Web アプリケーションの URL です。
- 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」を参照してください。
- PowerShell コマンド プロンプトで以下のコマンドを入力して、ユーザーの移行を実行します。
$wa.MigrateUsers($true)
- ユーザーの移行が完了したら、PowerShell コマンド プロンプトで以下のコマンドを入力して準備処理を実行します。
$wa.ProvisionGlobally()
詳細については、「New-SPClaimsPrincipal」を参照してください。
前の手順を完了すると、次の 1 つ以上の問題が発生する可能性があります。移行された Web アプリケーションにアクセスするときに有効な資格情報を送信したユーザーに、アクセス許可がないことを通知される場合があります。 このように通知された場合は、移行前に Web アプリケーションの portalsuperuseraccount プロパティと portalsuperreaderaccount プロパティが構成された可能性があります。 この場合は、クレームベースの新しいアカウント名を使用するように portalsuperuseraccount プロパティと portalsuperreaderaccount プロパティを更新します。 移行後、移行された Web アプリケーションの Web アプリケーション ポリシーに新しい要求ベースのアカウント名を見つけることができます。移行後に既存のアラートが呼び出されない場合は、アラートを削除して再作成する必要があります。移行後に検索クロールが Web アプリケーションで機能しない場合は、検索クロール アカウントに新しい変換されたアカウント名が一覧表示されていることを確認します。 変換された新しいアカウント名が示されていない場合は、クロール アカウントに対して新しいポリシーを手動で作成する必要があります。
SharePoint 2010 製品 のクレームベースの Web アプリケーションを SharePoint 2013 に移行するには
SharePoint 2013 で、クレームベースの Web アプリケーションを作成します。 詳細については、「SharePoint Server でクレーム ベースの Web アプリケーションを作成する」を参照してください。
SharePoint 2010 製品の既存の 2 つのコンテンツ データベースを新しく作成した SharePoint 2013 のクレームベース Web アプリケーションに接続します。 詳細については、「SharePoint Server でコンテンツ データベースを接続または切断する」を参照してください。
注:
SharePoint 2010 Products コンテンツ データベースを SharePoint 2013 クレーム ベースの Web アプリケーションにアタッチすると、データベースは SharePoint 2013 データベース形式にアップグレードされますが、要求は有効になりません。
SharePoint 2010 製品 のクラシックモード Web アプリケーションを SharePoint 2013 のクレームベース Web アプリケーションに変換する
SharePoint 2013で次の手順を実行し、SharePoint 2010 製品の既存のクラシックモード Web アプリケーションをクレームベース認証を使用する SharePoint 2013の Web アプリケーションに変換します。
SharePoint 2010 製品 のクラシックモード Web アプリケーションを SharePoint 2013 のクレームベース認証に変換するには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050) を読み取る必要があります。
上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint 2013のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell の権限の追加情報については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
SharePoint 2013 環境で、 [スタート] メニューから [すべてのプログラム] をクリックします。
[SharePoint 2013] をクリックします。
[ SharePoint 2013 管理シェル] をクリックします。
ファイルの保存先のディレクトリに移動します。
PowerShell コマンド プロンプトで、次のコマンドを入力します。
$ap = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos
New-SPWebApplication -name "ClaimsWebApp" -Port 80 -ApplicationPool "ClaimsAuthAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "<domainname>\<user>") -AuthenticationMethod NTLM -AuthenticationProvider $ap
詳細は次のとおりです。
- <domainname>\ <user> は、サーバーが属するドメインおよびユーザー アカウントの名前です。
2 つの既存の SharePoint 2010 Products コンテンツ データベースを新しい SharePoint 2013 クレーム モード Web アプリケーションにアタッチします。 詳細については、「SharePoint Server でコンテンツ データベースを接続または切断する」を参照してください。
注:
SharePoint 2010 Products コンテンツ データベースを SharePoint 2013 クレーム モード Web アプリケーションにアタッチすると、データベースは SharePoint 2013 データベース形式にアップグレードされます。 接続後にコンテンツ データベースが正しく機能することを確認する必要があります。
PowerShell コマンド プロンプトで次のように入力します。
Convert-SPWebApplication -Identity <yourWebAppUrl> -From Legacy -To Claims -RetainPermissions [-Force]
詳細は次のとおりです。
- <yourWebAppUrl> は Web アプリケーションの URL です。
注:
Convert-SPWebApplication は、コンテンツ データベースをクレーム ベースの認証に変換します。 コンテンツ データベースを変換した後、ユーザーが Web アプリケーションにアクセスできることを確認する必要があります。
必要に応じて、3 つ目の SharePoint 2010 Products コンテンツ データベースを新しい SharePoint 2013 クレーム モード Web アプリケーションにアタッチし、アタッチ後にコンテンツ データベースが正しく動作することを確認します。
PowerShell コマンド プロンプトで次のように入力します。
Convert-SPWebApplication -Identity <yourWebAppUrl> -From Legacy -To Claims -RetainPermissions [-Force]
コンテンツ データベースをクレーム ベースの認証に変換した後で、ユーザーが Web アプリケーションにアクセスできることを確認します。 詳細については、「New-SPWebApplication」、「Get-SPManagedAccount」、および「Convert-SPWebApplication」を参照してください。
SharePoint 2013 のクラシックモード Web アプリケーションをクレームベース Web アプリケーションに変換する
SharePoint 2013 で次の手順を実行し、まずクラシックモード Web アプリケーションを作成した後、それをクレームベース認証に変換します。
SharePoint 2013 でクラシックモード Web アプリケーションを作成するには
次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050) を読み取る必要があります。
上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint 2013のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell の権限の追加情報については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
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 アプリケーションをクレームベース認証に変換するには
PowerShell コマンド プロンプトで次のように入力します。
Convert-SPWebApplication -Identity "http:// <servername>:port" -From Legacy -To Claims -RetainPermissions [-Force]
詳細は次のとおりです。
- <servername> はサーバーの名前です。
クレーム ベース認証に変更した後、ユーザーが Web アプリケーションにアクセスできることを確認します。詳細については、「New-SPWebApplication」、「Get-SPManagedAccount」および「Convert-SPWebApplication」を参照してください。
SharePoint 2010 製品 のクラシックモード Web アプリケーションを SharePoint 2013 のクラシックモード Web アプリケーションに移行する
SharePoint 2013で次の手順を実行し、クラシックモード Web アプリケーションを作成した後、SharePoint 2010 製品の既存のクラシックモード Web アプリケーションを SharePoint 2013に移行します。
SharePoint 2010 製品 のクラシックモード Web アプリケーションを SharePoint 2013 に移行するには
- 次のメンバーシップがあることを確認します。
SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
更新するすべてのデータベースに対する db_owner 固定データベース ロール。
PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050) を読み取る必要があります。
上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint 2013のコマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell の権限の追加情報については、「アクセス許可」および「Add-SPShellAdmin」を参照してください。
- PowerShell コマンド プロンプトで次のように入力します。
New-SPWebApplication -name "ClassicAuthApp" -Port 100 -ApplicationPool "ClassicAuthAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "<domainname>\<user>")
詳細は次のとおりです。
- <domainname>\ <user> は、サーバーが属するドメインおよびユーザー アカウントの名前です。
- SharePoint 2010 製品の既存の 2 つのコンテンツ データベースを SharePoint 2013 の新しいクラシックモード Web アプリケーションに接続します。 接続後にコンテンツ データベースが正しく機能することを確認します。 詳細については、「SharePoint Server でコンテンツ データベースを接続または切断する」を参照してください。
詳細については、「New-SPWebApplication」および「Get-SPManagedAccount」を参照してください。