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

警告

SharePoint クライアント ID 管理サービスでは、重大な変更が行われます。 2023 年 3 月 1 日以降も中断することなくサービスを引き続き使用するには、Microsoft Azure AD/Entra テナントが必要です。 パートナー センター アカウントのテナント 設定 に移動し、新しい Entra ID を作成するか、現在の ID を関連付けてサービスの使用を続行します。

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

  1. パートナー センターで新しいクライアント シークレットを生成して追加し、その特定のアドインのクライアント ID に関連付けます。 具体的な手順については、この記事の後にある「クライアント ID に関連付けられているクライアント シークレットを更新する」の「追加のクライアント シークレットを生成するには」をご覧ください。
  2. 新しいクライアント シークレットを使うようにリモート Web アプリケーションを更新します。 Microsoft Office Developer Tools for Visual Studio を使ってこれを行う方法については、「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 など) に格納されている情報へのアクセス権をサード パーティのサイトに付与できます。

アドインでこの種類の認可が必要な場合は、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 を追加するには

  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. [Done] を選択します。

    Note

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

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

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

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

    重要

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

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

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

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

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

警告

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

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

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

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

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

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

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

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

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

    Note

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

関連項目