---
title: "認証と認可"
slug: "authentication-and-authorization"
abstract: "セキュリティドメインおよびフェデレーテッド認証を用いたSitecore認証および認可の概要。"
---
# 認証と認可

Experience Manager(XM)を使ってポータルのホスティングやウェブサイト、ウェブショップのセキュリティ管理が可能です。このシステムは、ユーザー名やパスワード認証を含む柔軟で統合された認証システムに加え、連邦認証などのカスタムまたはより高度な認証システムとの連携も備えています。

## 認証および認可システム

Sitecoreは、管理者インターフェースのユーザー認証と承認と同様に、ウェブサイト、ウェブショップ、ポータルのユーザーの認証やデータの安全化に同じセキュリティメカニズムを使用しています。

つまり、管理者、コンテンツ作成者、マーケター、その他のユーザーがContent Management (CM)ロールを通じて提供されるSitecore管理ツールにアクセスしようとすると、デフォルトでログインプロンプトが表示されます。

デフォルトのセキュリティ認証および承認システムは、メンバーシップデータを[セキュリティデータベース](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/security-database.html "Security database")に保存する[Sitecore Identity Server](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/sitecore-identity-server.html "Sitecore Identity Server")に基づいています。Sitecore Identity Serverは、XMとSitecore Commerceの両方にログインするためのシングルサインオンソリューションです。

![Diagram showing how Sitecore Identity Server stores membership data for users and website visitors in the Security database.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/XM-Login.png)

ユーザーがログインすると、Sitecore Identity Serverはユーザー名とパスワードをセキュリティデータベースに保存されたデータと照らし合わせて認証し、認証が成功した場合は管理ツールへのアクセスを付与します。トレーサビリティのために、Sitecoreは成功・失敗を問わずすべての認証試行をSitecore監査ログに書き込みます。ユーザーや役割の作成、変更、削除も同様に行います。

管理者はCMロールを通じて提供されるユーザー [マネージャーでユーザー](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/edit-and-manage-a-user-account.html "Edit and manage a user account") を検索し管理できます。例えば、管理者はユーザーアカウントの作成・削除、ユーザープロファイルの詳細変更、アカウントの無効化・有効化、パスワードの変更が可能です。さらに、権限付与のための [ロールを作成・管理](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/create-and-set-up-a-role.html "Create and set up a role") し、ユーザーをロールに割り当てることも可能です。また、ロール内でロールを作成し、それに伴い認可階層を管理することも可能です。

![Diagram showing how Sitecore administrators can manage users through the Content Management role.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/XM-Mng_users.png)

Sitecoreは、ユーザーや役割の管理、分析やレポートの閲覧、メールマーケティングの管理など、さまざまな機能にアクセスできる一連の [ロール](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/the-security-roles.html "The security roles") を付属しています。

コンテンツ管理では、ユーザーがコンテンツレベルで認可を受けます。これにより、特定のコンテンツ階層に役割やユーザーを割り当てることが可能になります。特定のサイト、サイトのセクション、コンテンツの種類などの管理権限を付与または制限することができます。各コンテンツに対して、閲覧、作成、削除、編集の権利を制御できます。また、より詳細なレベルでコンテンツアクセスを制御したり、特定のフィールドや言語へのアクセスを制限または付与したりすることも可能です。

## セキュリティドメイン

Sitecoreは [セキュリティドメイン](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/security-domains.html "Security domains") を使って管理者ユーザーを他のウェブサイトユーザーから分離しています。

セキュリティドメインとは、共通のルールや手順で管理できる論理的な関係を持つセキュリティアカウント(ユーザーやロール)の集合体です。例えば、デフォルトでSitecore管理インターフェースにアクセスできるすべてのアカウントはSitecoreドメインに属し、安全なウェブサイトにアクセスできるアカウントはすべてExtranetドメインにあります。

SitecoreドメインとExtranetドメインの両方はSecurityデータベースに保存されています。

![Security domains segments users into groups allowing for easier administration. The default Sitecore and Extranet security domains are stored in the Security database.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/XM-Domains.png)

ウェブサイトのすべての訪問者には関連付けられたユーザーアカウントがあります。認証されていないユーザーには匿名ユーザーアカウントがあります。

匿名ユーザーが制限付きページにアクセスしたい場合は、*アクセス拒否* メッセージを表示するか、ログインページにリダイレクトする設定が可能です。これはウェブサイトのビジネス要件に応じて完全に設定可能です。

ウェブサイトがユーザーログインを許可している場合、ユーザーはユーザー名、パスワード、場合によってはその他のユーザープロファイル情報を提供することで登録できます。ユーザーアカウントは作成され、セキュリティデータベースに保存されます。

ウェブサイトのビジネス要件によってユーザー名の形式は決まります。ただし、同じドメイン内の2つのユーザーアカウントは同じユーザー名を持つことはできません。ユーザーが作成された際、[Security API](https://doc.sitecore.com/legacy-docs/SC75/security-api-cookbook-sc60-and-later-a4.pdf)を通じて1つ以上のセキュリティロールに即座に関連付けることができます。ロールを使ってウェブサイトの異なるセクションや機能に対してユーザーを認証できます。

管理者として、Sitecore管理インターフェースを使ってユーザーの役割メンバーシップを変更できます。ユーザーアカウントに関連付けられたユーザープロファイルをカスタマイズしたり、カスタムフィールドで拡張したりできます。企業がユーザーについて収集・保存したい必要な情報は、ユーザーアカウントと共にセキュリティデータベースに保存できます。また、Sitecoreユーザー管理ツールでカスタムユーザープロファイルフィールドの管理も可能です。

訪問者がログインを試みると、提供されたユーザー名とパスワードがセキュリティデータベース内のユーザーアカウントに対して認証されます。成功すると、訪問者は認証済みのユーザーアカウントに関連付けられ、そのユーザーアカウントのメンバーシップロールに合致する認証を取得します。

ウェブサイトの訪問者ログイン、登録、ユーザーアカウントの変更はすべて監査ログに記録され、コンプライアンスと透明性を確保しています。

もしあなたのSitecore実装が[Sitecore Experience Platform](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/experience-platform-data-flows.html "Experience Platform data flows") (つまりxConnectとSitecore Experienceデータベースを使用している)を実行している場合、[xConnect Collection](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/xconnect-collection-service.html "xConnect Collection service")ロールを通じてユーザーアカウントをxConnectに対して登録でき、ユーザー行動がそのユーザーアカウントに対して追跡されます。その後、連絡先を読み込み、過去の訪問や行動、あるいは他のデバイスでの訪問や行動に基づいてコンテンツや体験をパーソナライズすることが可能です。

![You can track and store a users behavior through the xConnect Collection role if your implementation is running the Sitecore Experience Platform.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/XM-xConnect.png)

訪問者がセキュアページを再訪し、ユーザーアカウント(またはそのアカウントに関連付けられたロール)がページの内容を読む権限を持つ場合、訪問者はセキュアなページを提示され、その訪問内容はユーザーアカウントおよびユーザープロファイルに保存され、パーソナライズのために使用されます。

## その他のセキュリティプロバイダー

Sitecoreはまた、カスタム認証システムと統合するための一時的なユーザーアカウントシステムである仮想ユーザーもサポートしています。仮想ユーザーはSitecore Identity Serverを通じて取得または保存されるのではなく、プライベートセッションステートストアに一時的に作成されます。ただし、このユーザー認証のアプローチはSecurity APIを通じたカスタムソリューションコードを必要とします。また、Sitecoreユーザー管理ツールによるユーザーアカウント管理も禁止されます。仮想ユーザーの役割やユーザープロファイル情報もカスタムソリューションコードを通じて割り当てる必要があります。

![The Sitecore Security database can be separated from the Core into its own database.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/XM-Domain_db.png)

## フェデレーテッド認証

Sitecore Identity Serverによる認証に加え、SitecoreはOauthおよびOwin標準による [フェデレーテッド認証](https://doc.sitecore.com/xp/en/developers/100/sitecore-experience-manager/using-federated-authentication-with-sitecore.html)もサポートしています。フェデレーテッド認証を用いて、Facebook、Google、Microsoftなどの外部プロバイダーを通じてSitecoreやウェブサイトにログインできます。フェデレーテッド認証は、使用する外部プロバイダーに応じてSitecoreの設定を特定する必要があります。

> !注Sitecore Identity ServerはContent Managementロールのデフォルトの認証および認可システムですが、SitecoreはContent Deliveryロールでは認証および承認のニーズに対してフェデレーテッド認証の使用を推奨しています。

訪問者が連邦認証でウェブサイトにログインしたい場合、通常は認証プロバイダーへのリンクをクリックするか、ウェブサイト上の特定のログインページを訪れます。これにより訪問者は外部プロバイダーの認証ページにリダイレクトされ、そこで認証されます。

成功した場合、外部プロバイダーは通常認証トークンを作成し、認証済みユーザーをトークンとともにSitecore内のフェデレーテッド認証ハンドラにリダイレクトします。

外部プロバイダーによっては、Sitecoreは提供されたトークンを使ってユーザーの身元を確認し、外部システムからクレームと呼ばれる追加情報を取得することができます。

Sitecoreでは、訪問者は標準のSecurity APIを通じてログインし、ドメイン内のユーザーアカウントとユーザープロファイルが付与されます。Sitecoreは外部システムから取得したクレームをユーザープロファイルのフィールドにマッピングし、ウェブサイト上でユーザー情報やパーソナライズとして利用できます。

![Federated authentication allows you to use a third party authentication service such as Facebook or Google to store authorization of a virtual or persisted user.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/XM-Fed_auth_srvc.png)

訪問者ユーザーアカウントは以下のように設定できます:

-   一時的な仮想ユーザーで、セッションが存在する限り存在します。
-   Sitecore Identity Serverに保存される永続ユーザーです。

フェデレーテッド認証はウェブサイト(Content Delivery)とSitecoreログイン(Content Management)の両方で機能します。

## プライバシーとセキュリティ

各役割のプライバシーおよびセキュリティの考慮事項についてはアーキテクチャ [概要](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/architecture-overview.html "Architecture overview") ドキュメントを参照してください。