次の方法で共有


パートナー センターでクライアント ID とシークレットを作成または更新する

重要

2023 年 3 月 1 日の 後も中断することなくサービスを引き続き使用するには、Microsoft Azure AD/Entra テナント必要があります。 パートナー センター アカウントで テナント 設定に移動し、新しい Microsoft Entra ID を作成するか、現在の ID を関連付けます。

SharePoint アドインで期限切れのクライアント シークレットを更新する

  1. パートナー センターで新しいクライアント シークレットを生成して追加し、その特定のアドイン クライアント ID に関連付けます。 具体的な手順については、「他のクライアント シークレットを生成する」を参照してください。
  2. 新しいクライアント シークレットを使うようにリモート Web アプリケーションを更新します。 詳細については、「SharePoint アドイン の期限切れのクライアント シークレットを置き換える」の「新しいシークレット を使用するように Visual Studio でリモート Web アプリケーションを更新する」セクションを参照してください。
  3. リモート Web アプリケーションを再発行します。

重要

Microsoft Office Developer Tools for Visual Studio では、期限切れのクライアント シークレットの更新に使用できるセカンダリ クライアント シークレットの設定がサポートされています。

OAuth を使用してアドインを認証および承認する

Open Authorization (OAuth) は認可のためのオープン プロトコルです。 OAuth を使うと、シンプルで標準的な方法で、デスクトップと Web アプリケーションからの認可をセキュリティで保護できます。 これにより、ユーザーは、ユーザー名とパスワードを共有することなく、アプリケーションが自分の代理として動作するのを承認できます。 たとえば、ユーザーは、資格情報 (通常はユーザー名とパスワード) を提供しなくても、あるサイトに格納されているプライベート リソースやデータ (連絡先リスト、ドキュメント、写真、ビデオなど) を別のサイトと共有できます。

OAuth を使用すると、ユーザーは、特定のサービス プロバイダー (SharePoint など) によってホストされるデータに資格情報 (ユーザー名やパスワードなど) ではなくトークンを提供するサービス プロバイダー (SharePoint など) を承認できます。 各トークンは、特定のサイト (SharePoint ドキュメント リポジトリなど) の特定のリソース (フォルダーのドキュメントなど) へのアクセスを定義された期間だけ許可します。 その後、ユーザーは、ユーザー名とパスワードを共有したり、SharePoint 上のすべてのデータを共有したりすることなく、別のサービス プロバイダー (SharePoint など) に保存されている情報へのアクセス権を Microsoft 以外のサイトに付与できます。

アドインでこの種類の認可が必要な場合は、OAuth のクライアント ID とクライアント シークレットをアドインに関連付ける必要があります。 パートナー センターで OAuth のクライアント シークレットを生成し、アドインのコードに追加できます。

クライアント ID とクライアント シークレットが関連付けられているアドインをユーザーがインストールすると、同意ダイアログ ボックスが表示されます。 ユーザーが同意すると、アドインはユーザーの代わりに、アドインに必要なデータにアクセスできます。 ユーザーは、自分が持っているアクセス許可のみを付与できます。 許可は、ユーザーがアドインに委任するアクセス許可を表します。

たとえば、Microsoft 365 SharePoint サイトで IFRAME として開く旅行カレンダーのアドインが考えられます。 OAuth を使用すると、アドインは旅行カレンダーが属するユーザーを識別できます。 または、旅行カレンダー アドインがリソースや予定表情報など、Microsoft 365 の他の側面にアクセスする必要がある場合は、サインインしているユーザーの代わりにアクセスできます。

Note

OAuth、クライアント ID、およびクライアント シークレットの詳細については、「SharePoint アドインの承認と認証」、SharePoint アドインのコンテキスト トークン OAuth フロー、SharePoint アドインの登録 2013を参照してください。

クライアント ID とクライアント シークレットを追加する

アドインに関連付けることができるクライアント ID は 1 つだけですが、複数のクライアント シークレットを 1 つのクライアント ID に関連付けることができます。 セキュリティと管理のため、クライアント ID に関連付けるクライアント シークレットの数を制限することをお勧めします。

重要

OAuth を使用する SharePoint アドインを中国に送信して配布するには、次のことが必要です。

  • 中国用には別のクライアント ID とクライアント シークレットを使います。
  • 中国専用の個別のアドイン パッケージを追加します。
  • 中国を除くすべての国/地域へのアクセスをブロックします。
  • 中国用に別のアドイン一覧を作成します。

中国へのアドインの配布について詳しくは、中国の 21Vianet が運用する Office 365 へのアプリの送信に関する記事をご覧ください。

アドインへのインバウンド データは、ただ 1 つの署名クライアント シークレットを使って署名されます。 パートナー センターでは、クライアント ID ページの「状態」列で「アクティブな 」の横に緑色のチェック マークが付いたものがクライアント シークレットです。 アドインで使われている署名クライアント シークレットを削除すると、次に有効なクライアント シークレットが代わりに使われます。

アドインでは、Microsoft と通信するためのパスワードとして、任意の有効なクライアント シークレットを使用できます。 クライアント シークレットの有効期限が切れると、パスワードとして使用できなくなります。 クライアント ID に関連付けられているクライアント シークレットが 1 つしかない場合、そのシークレットを削除すると、アドインが必要なデータにアクセスできなくなる可能性があります。

アドインがサービスであり、OAuth クライアント ID とクライアント シークレットが必要な場合は、次の手順のようにします。

新しいクライアント ID を追加する

重要

本稼働でクライアント ID を使用する前に、Microsoft ストアでオファーを公開する必要があります。 そうしないと、顧客によるアプリの使いやすさに悪影響を及ぼす可能性があります。 SharePoint アドインが段階的に廃止されるため、発行されていないアプリを SharePoint ソリューション に移動することをお勧めします。

  1. 開発者アカウントでパートナー センターにサインインし、アドインの [製品の概要] ページに移動します。

  2. [クライアント ID] タブで、[新しいクライアント ID の追加] を選びます。

  3. [新しいクライアント ID] ダイアログ ボックスで、次の情報を指定します。

    品目 提供する情報
    フレンドリ名 クライアント ID を使用するアドインを認識するのに役立つ名前を選択します。たとえば、"カレンダー アプリ"
    アプリ ドメイン: アドインを実行するドメインを指定します。 (例: app.contoso.com)。
    自分が所有する有効なドメイン名である必要があります。http://https://を含めてはなりません。
    国際ドメイン名にすることはできません。
    アプリのリダイレクト URL 同意ダイアログ ボックスでアドインのアクセス要件に同意した後に、ユーザーを送信するリダイレクト URL を指定します。
    この URL は、 https://http://、または ms-app://
  4. [Create secret now] (今すぐシークレットを作成) を選びます。

  5. クライアント シークレットの有効期間を選択します。 オプションは 1 年、2 年、または 3 年です。 1 年間を選択することをお勧めします。これは、より長い期間よりもビジネス プロセス内で追跡する方が簡単な場合があるためです。 ただし、2 年または 3 年を選択してもセキュリティへの影響はありません。 クライアント シークレットの有効期限が切れている場合は、アドインを更新する必要があります。

  6. クライアント シークレットの可用性の種類を選択します。

    • このクライアント ID は、世界中で利用可能なアプリに使用されます。
    • このクライアント ID は、中国で利用可能なアプリにのみ使用されます。
  7. [Create secret now] (今すぐシークレットを作成) を選びます。

  8. [クライアント シークレットの取得] ページで、後で参照できるように、クライアント ID とクライアント シークレットを安全な場所にコピーします。

    重要

    クライアント シークレットはクライアント ID に関連付けられていますが、パートナー センターには再び表示されないため、必ず記録してください。 また、クライアント シークレットの有効期間とその有効期限を把握できるように、開始日と終了日を記録します。 クライアント シークレットの有効期限が近い場合は、新しいクライアント シークレットを生成して、アドインを更新する必要があります。 詳しくは、「クライアント ID に関連付けられているクライアント シークレットを更新する」をご覧ください。

  9. 完了 を選択します。

クライアント ID に関連付けられているクライアント シークレットを更新する

次のような状況ではクライアント シークレットを更新します。

  • クライアント シークレットの有効期限が切れている

    現在のクライアント シークレットがまだ有効な間に、パートナー センターで新しいクライアント シークレットを追加することをお勧めします。 新しいクライアント シークレットでアドインを更新した後、パートナー センターの [クライアント ID] ページでそのエントリの横にある [削除] を選んで、期限切れが近いクライアント シークレットを削除します。

    Note

    Microsoft Office Developer Tools for Visual Studio では、期限切れのクライアント シークレットの更新に使用できるセカンダリ クライアント シークレットの設定がサポートされています。

  • クライアント シークレットのセキュリティが侵害されている

    セキュリティ侵害に迅速に対応するには、最初にパートナー センターから侵害されたクライアント シークレットを削除し、新しいクライアント シークレットを追加してから、新しいクライアント シークレットでアドインを更新します。

    重要

    侵害されたクライアント シークレットを削除した後、新しいクライアント シークレットを追加する前に、アドインが一時的に使用できなくなる可能性があります。 ただし、そのシナリオは、クライアント シークレットの紛失または盗難による重大なビジネスへの影響よりも優れている可能性があります。

他のクライアント シークレットを生成する

  1. 開発者アカウントでパートナー センターにサインインし、アドインの [製品の概要] ページに移動します。

  2. [クライアント ID] タブで、他のクライアント シークレットを関連付けるクライアント ID を選択します。

  3. クライアント ID の詳細ページで、[新しいクライアント シークレット] を選びます。

  4. シークレットの有効期間を選びます。 オプションは 1 年、2 年、または 3 年です。

  5. [作成] を選択します

  6. クライアント シークレット 取得] ダイアログ ボックスで、クライアント シークレットを安全な場所にコピーして、後で参照できるようにします。

    重要

    クライアント シークレットはクライアント ID に関連付けられていますが、パートナー センターには再び表示されないため、必ず記録してください。 また、クライアント シークレットの有効期間とその有効期限を把握できるように、開始日と終了日を記録します。

  7. 完了 を選択します。

    Note

    新しいクライアント シークレットは 15 分以内にアクティブになります。

クライアント シークレットを削除する

  1. 開発者アカウントでパートナー センターにサインインし、アドインの [製品の概要] ページに移動します。

  2. [クライアント ID] タブで、削除するクライアント シークレットに対応するクライアント ID の横にある [削除] を選びます。

    重要

    クライアント シークレットを削除すると、アドインを検証してアドインに関連付ける追加のシークレットを作成しない限り、アドインが必要なデータにアクセスできなくなる可能性があります。 追加のクライアント シークレットを使用するようにアドインを構成する必要もあります。 クライアント ID に関連付けられているクライアント シークレットが 1 つだけの場合は、削除する前に別のクライアント シークレットを生成することをお勧めします。

  3. [確認] ダイアログ ボックスで [削除] を選びます。

クライアント ID を削除する

次のような特定の状況では、クライアント ID を削除できます。

  • アドインを提供する必要がなくなりました。
  • 新しいバージョンのアドインを提供する必要があり、以前のバージョンを提供する必要がなくなりました。 このような場合は、以前のバージョンのアドインに関連付けたクライアント ID を削除できます。

警告

アドインに関連付けられているクライアント ID を削除すると、関連付けられているすべてのクライアント シークレットが削除され、必要なデータにアクセスできなくなります。 アドインを使用している顧客は、関連付けられているクライアント ID を削除した後にダウンタイムが発生します。

  1. 開発者アカウントでパートナー センターにサインインし、アドインの [製品の概要] ページに移動します。
  2. [クライアント ID] タブで、削除するクライアント シークレットに対応するクライアント ID の横にある [削除] を選びます。
  3. [確認] ダイアログ ボックスで [削除] を選びます。

クライアント ID を削除しても、アドインの提供を続けるには

  1. 別のクライアント ID と、少なくとも 1 つの有効なクライアント シークレットを追加します。 詳しくは、「クライアント ID とクライアント シークレットを追加する」をご覧ください。

  2. コードからクライアント ID を削除します。

  3. 前の手順で説明したように、パートナー センターからクライアント ID を削除します。

  4. 新しいクライアント ID とクライアント シークレットをコードに追加します。

  5. [製品の概要] ページで、[発行] を選びます。

    Note

    アドインを使用しているお客様は、コードとパートナー センターの承認プロセスの更新中にダウンタイムが発生します。