Sitecore でのフェデレーション認証の使用

Current version: 10.2
日本語翻訳に関する免責事項

このページは AI によって自動的に翻訳されました。正確性には努めておりますが、元の内容と異なる表現や解釈が生じる場合があります。公式情報については、オリジナルの英語の資料を参照してください。

これまで、Sitecore は ASP.NET メンバーシップ を使用して、ユーザーの資格情報を検証し格納していました。ASP.NET 5 で、Microsoft は ASP.NET Identity と呼ばれる別のより柔軟な検証メカニズムの提供を開始しました。

ASP.NET Identity は Owin ミドルウェア コンポーネントを使用して外部認証プロバイダーをサポートします。これらの外部プロバイダーは、Sitecore Experience Platform 内でのフェデレーション認証を可能にします。

Sitecore:

  • Owin ミドルウェアを使用して、認証をサードパーティ プロバイダーに委任します。

  • サードパーティ プロバイダーからクレームを取り戻します。

フェデレーション認証は既定で有効になっています。フェデレーション認証を無効にするには、次の手順に従います。

  • \App_Config\Include\Examples\ folder で、Sitecore.Owin.Authentication.Disabler.config.example の名前を Sitecore.Owin.Authentication.Disabler.config に変更します。

Owin でサポートされるプロバイダーで Sitecore フェデレーション認証を使用できます。Sitecore のドキュメントのほとんどの例では、Azure AD、Microsoft マルチテナント、クラウドベースのディレクトリ、ID 管理サービスなどを使用することを前提としています。

Owin.Authentication は、Facebook、Google、Twitter など、他のさまざまなプロバイダーをサポートします。

フェデレーション認証は、スケーリング環境で機能します。

(コンテンツ配信サーバーでの) フロントエンド ログインにフェデレーション認証を使用できますが、すべての Sitecore (バックエンド) 認証には常に Sitecore Identity を使用することをお勧めします。

Sitecore 9.1.0 以降は Active Directory モジュールをサポートしないため、代わりにフェデレーション認証を使用する必要があります。

Sitecore.Owin.Authentication を使用しない場合、既定の認証 Cookie は ASPXAUTH です。これは Web.config ファイルで次のように変更できます。

RequestResponse
<authentication mode="Forms">
    <forms name=".ASPXAUTH" cookieless="UseCookies" />
</authentication>

ただし、Sitecore.Owin.Authentication を使用する場合は、.ASPXAUTH Cookie を使用しません。したがって、この Cookie をコードから直接使用しないでください。

Sitecore.Owin.Authentication は BaseAuthenticationManager クラスを上書きし、その下の FormsAuthenticationProvider クラスを使用しないため、.ASPXAUTH 認証 Cookie が、AuthenticationManager クラスを使用するコードになくても問題ありません。

Owin 認証モードを使用する場合、Sitecore は既定で 2 つの認証 Cookie で動作します。

  • .AspNet.Cookies – ログインしたユーザーの認証 Cookie

  • .AspNet.Cookies.Preview – プレビュー モード ユーザーの認証 Cookie

これらの Cookie を使用すると、ユーザーはエクスペリエンス エディターのプレビュー モードで別のユーザーとしてログイン/ログアウトしたり、アクセス権の異なる別のユーザーとして Sitecore のページを閲覧したりすることができます。

Sitecore のコンストラクト名は次のように構成されます。

  • ".AspNet." + AuthenticationType + AuthenticationSource.

    • AuthenticationType は既定で Cookies に設定されていますが、Owin.Authentication.DefaultAuthenticationType 設定で変更することができます。

    • AuthenticationSource は既定で Default に設定されています。これが Default である場合、Cookie 名には含まれません。AuthenticationSource により、同じサイトに複数の認証 Cookie を持つことができます。

owin.initialize パイプラインで Owin Cookie 認証ミドルウェアを設定します。

仮想ユーザーと永続ユーザー

フェデレーション認証は、次の 2 種類のユーザーをサポートします。

  • 永続ユーザー – Sitecore は永続ユーザーに関する情報 (ログイン名、メール アドレスなど) をデータベースに格納し、既定で Membership プロバイダーを使用します。

  • 仮想ユーザー – これらのユーザーに関する情報はセッションに格納され、セッションが終了すると消去されます。

Sitecore で外部ユーザーを表す永続的なユーザーを作成する場合は、いくつかの制限があります。Sitecore は、このようなユーザー向けの次の機能をサポートしていません。

  1. ユーザー マネージャーでの外部ユーザーのロールの読み取りと削除。これらのロールは Sitecore に格納されないためです。ロールは認証 Cookie に格納されますが、core データベースの aspnet_UsersInRoles テーブルには格納されません。このロールはユーザー マネージャーにまったく表示されません。

  2. ユーザーは、ロール変換を介してユーザーに割り当てられた権限をアクセス ビューアーで表示することはできません。

  3. ユーザー パスワードの変更。対応する ID プロバイダーでパスワードを変更する必要があります。

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、