SharePoint アドインの承認と認証

ユーザー が SharePoint にサインインすると、そのユーザーのセキュリティ トークンが検証されます。そのトークンは ID プロバイダーによって発行されたものです。SharePoint はいくつかの種類のユーザー認証をサポートしています。詳細については、「SharePoint での認証、承認、およびセキュリティ」を参照してください。

SharePoint アドインも、認証と承認を必要とするセキュリティ プリンシパルです。アドインの認証と承認は、いくつかの方法で実行できます。詳細については、「SharePoint アドインの 3 つの承認システム」を参照してください。

承認ポリシー: ユーザー用、アドイン用、ユーザー + アドイン

承認プロセスは、認証済みのサブジェクト (ユーザー、アドイン、またはその両方) が特定の操作を実行するアクセス許可、または特定のリソース (リストや SharePoint ドキュメント フォルダーなど) にアクセスするアクセス許可を持っているかどうかを検査します。

SharePoint では、3 種類の承認ポリシーを使用します。

  • ユーザー用ポリシー では、SharePoint への呼び出しに、認証されたユーザー ID が含まれていることのみが必要です。

  • アドイン用ポリシー では、認証されたアドイン ID が呼び出しに含まれていることのみが必要です。

  • ユーザー + アドイン ポリシー では、この両方の種類の認証された ID が含まれていることが必要です。

ユーザーが SharePoint リソースに、アドインからではなく SharePoint UI からアクセスした場合、SharePoint はユーザー用ポリシーを使用します。 ただし、SharePoint アドインからの呼び出しについては、SharePoint はアドイン用ポリシーまたはユーザー + アドイン ポリシーのいずれかを使用します。

SharePoint アドインは、SharePoint への要求に含まれるアクセス トークンの種類によってどのポリシーが使用されているかを判別します。 ユーザー + アドインの要求が行われた場合、SharePoint では、アドインとユーザーの両方に、アドインがアクセスしているリソースへのアクセス許可が必要となります。 アドイン用の要求の場合、SharePoint では、アドインがリソースへのアクセス許可を持っていることが必要となりますが、ユーザーがアクセス許可を持っていることは必要とされません。 (SharePoint アドインがアドイン用の要求を行えるのは、事前にその要求をするアクセス許可を付与された場合のみです。その許可は通常、インストール時に行われます。)

承認ポリシーとその機能の詳細については、「SharePoint のアドイン承認ポリシーの種類」を参照してください。

アドインのアクセス許可とアドインのアクセス許可要求のスコープ

SharePoint アドインの開発者は、アドイン マニフェスト ファイルを使用して、アドイン Web 外部の SharePoint リソースに対してアドインが必要とするアクセス許可を指定する必要があります。 (アドインは、アドイン Web 全体に対してフル コントロール権限を自動的に獲得します。) アドインが SharePoint 内から起動するように設計されている場合は、アドインのインストール インフラストラクチャから、必要なアクセス許可を付与または拒否するように求めるメッセージが、アドインをインストールするユーザーに表示されます。 アクセス許可が付与されると、Web サイトのユーザーは、アクセス許可の再付与なしでアドインを利用できるようになります。

ただし、アドインが SharePoint の外部で起動するように設計されている (SharePoint 上にインストールされていない) 場合は、アドインの実行のたびに SharePoint から、必要なアクセス許可を付与するように求めるメッセージが、アドインを実行しているユーザーに表示されます。 SharePoint 上にインストールされていなくても SharePoint にアクセスできるアドインの例としては、モバイル デバイス上のアドインや、Office アドインがあります。

Web サイトの所有者のみが、SharePoint Web サイトに SharePoint アドインをインストールできます (アドインのインストール権限を持つカスタムの役割が作成されている場合を除きます)。 ユーザーがアドインに付与できるのは、自分が持っているアクセス許可のみとなります。 そのため、ユーザーは、自分が持っていないアクセス許可を必要とするアドインをインストールすることができません。

同様に、ユーザーは、自分が持っていないアクセス許可を必要とする、外部で起動するアドインを実行することもできません。 ただし、SharePoint アドインを SharePoint にインストールする際に、アドイン用呼び出しを行うアクセス許可を要求することができます。 そのようなアクセス許可がアドインに付与されると、アドインを実行するユーザーがアクセス許可を持っていなくても、そのアドインは SharePoint にアクセスすることができます。

アドインには、SharePoint Online テナント管理者や SharePoint ファーム管理者によって失効または付与されるアクセス許可もあります。

アドイン マニフェスト ファイルで、SharePoint アドインは、アドインが正常に機能するために必要なアクセス許可を指定します。 アクセス許可の要求では、アドインが必要とする権限と、その権限を必要とするスコープの両方を指定します。 スコープは、アクセス許可の要求が適用される SharePoint 階層内の位置を示します。

SharePoint は、4 つのコンテンツ スコープ (テナンシー、サイト コレクション、Web サイト、リスト) をサポートしています。 また、検索クエリ、分類データへのアクセス、ソーシャル機能、Microsoft Business Connectivity Services (BCS) 機能、Project Server 2013 機能を実行するための特別なスコープもあります。

詳細については、「SharePoint でのアドインのアクセス許可」を参照してください。

OAuth を使用する場合

SharePoint アドインの認証と承認では OAuth 2.0 が重要な役割を果たしますが、すべての SharePoint アドインの承認プロセスでそれが必要になるとは限りません。

リモート Web アプリケーションで実行し、サーバー側のコードを使用して SharePoint と通信する SharePoint アドインを構築する場合は、OAuth を使用する必要があります。

リモート Web アプリケーションがオンプレミスでない場合は、Azure ACS がアクセス トークンの発行者となる低信頼承認システムを使用できます。

リモート Web アプリケーションがオンプレミスの場合は、アドイン自体とデジタル証明書がアクセス トークンの発行者となる高信頼システムを使用できます。

アドイン Web 自体のページにある JavaScript から、またはクロスドメイン ライブラリを使用してリモート Web ページから呼び出しを行う場合は、OAuth を使用しません。 クロスドメイン ライブラリの詳細については、「クロスドメイン ライブラリを使用する SharePoint アドインを作成する」を参照してください。

関連項目