---
title: "Sitecoreのアイデンティティ構造"
slug: "sitecore-identity-structure"
abstract: "Sitecore Identityを構成する部分について説明します。"
---
# Sitecoreのアイデンティティ構造

Sitecore Identity(SI)は、以下のコンポーネント間の相互作用を提供します:

-   Sitecore Identityサーバー - OpenID Connect準正のセキュリティトークンサービスです。
-   Sitecore Identityクライアント - これはSIサーバーからセキュリティトークンを要求できる個別のアプリケーションです。Sitecoreインスタンス自体もSIクライアントです。

## Sitecore Identityサーバー

SIサーバーはDuende IdentityServerをベースにした独立したASP.NETコアアプリケーションです。OpenID Connect準拠のセキュリティトークンサービス(STS)として機能します。Sitecore展開時には別のウェブサイトとして展開され、デフォルトのURLはhttps://{instanceName}.identityserverです。

> !注SIサーバーはHTTPSプロトコルでのみ動作しますが、SIサーバーの設定で適切に設定されていれば、HTTPおよびHTTPSの両方でSIクライアントをサポートします。

SIサーバーは一部のIdentityServer4構成を設定ファイルに公開します。高度なIdentityServer4設定を行うには、ランタイムプラグインを使用し、依存注入を使ってIdentityServer4の設定を変更する必要があります。これにより、IdentityServer4の設定は完全に設定可能になります。

## Sitecore Identityクライアント

SIクライアントとは、SIサーバーを使用しているユーザーを認証するアプリケーションを指します。クライアントがSIサーバーを使用する前に、SIサーバー内のすべてのSIクライアントを登録しなければなりません。SIクライアントはセキュリティトークンを要求し、それを検証し、これらのトークンからコンテキストユーザーを作成できます。あるいは、これらのトークンをベアラートークンとして使用し、これらのトークンを受け入れるよう設定された他のサービスに対して認可されたリクエストを送ることも可能です。クライアントの例としては、ウェブアプリケーション、ネイティブのモバイルまたはデスクトップアプリケーション、サーバープロセスがあります。

SIサーバーは \\App\_Config\\Sitecore\\Owin.Authentication.IdentityServer\\Sitecore.Owin.Authentication.IdentityServer.config設定ファイルのSitecoreインスタンスで設定します。

SitecoreインスタンスもSIクライアントであり、デフォルトでSIサーバーに登録されています。SitecoreインスタンスはSIサーバーがsitecore/federatedAuthentication/identityProvidersノードのアイデンティティプロバイダーであるため、SIサーバーの存在を知っています。

> !注自分のプロジェクトでSIサーバーを使って認証を行うことができます。SIサーバー認証を有効にし、Sitecoreを使ってSitecore ASP.NET Coreベースのプロジェクトに対してアクセストークンを要求できるようにします *。Plugin.Authentication.OpenIdConnect* NuGetパッケージ。ASP.NETコアベースのプロジェクトSitecoreベアラートークン認証を有効にする*Sitecore。Plugin.Authentication.JwtBearer* NuGetパッケージ.