クライアント ID とクライアント シークレットの作成
発行: 2014年8月
注意
このトピックは、次のマーケットプレースに該当します: Office ストアおよび Microsoft Azure Marketplace。
Open Authorization (OAuth) は、承認のためのオープンな標準です。OAuth を使用するアプリの場合、ユーザーは、自分の資格情報をサード パーティ製アプリと共有することなく、個人的なリソース (ドキュメント、カレンダー、連絡先一覧など) を複数のサービスで安全に共有することができます。アプリがサーバー間の承認を必要とするサービスの場合、販売者ダッシュ ボードで OAuth クライアント ID とクライアント シークレットを生成し、そのクライアント ID とクライアント シークレットをアプリのコードに追加できます。
関連付けられたクライアント ID とクライアント シークレットがあるアプリをユーザーが選択すると、続行にはユーザーの同意が必要であることを示すダイアログ ボックスが表示されます。ユーザーが同意すると、アプリで次のいずれかの処理を実行できます。
ユーザーに資格情報の入力を求めずに、信頼済みの Microsoft 資格情報に基づいてユーザーを認証する。
ユーザーまたはユーザーの管理者の許可を得て、ユーザーの代理でアプリの必要なデータにアクセスする。
たとえば、Microsoft Office 365 SharePoint サイトに iFrame として表示される旅行カレンダー アプリがあるとします。この場合、OAuth によって、アプリは旅行カレンダーが属するユーザーを識別できます。また、旅行カレンダー アプリは、リソースやカレンダー情報など、他の Office 365 データにアクセスする必要がある場合、サインインしたユーザーの代理でアクセスすることができます。
このトピックの内容
クライアント ID とクライアント シークレットを追加する
クライアント ID に関連付けられたクライアント シークレットを更新する
クライアント ID を削除する
クライアント ID とクライアント シークレットを追加する
アプリには 1 つのクライアント ID のみを関連付けることができますが、1 つのクライアント ID には複数のクライアント シークレットを関連付けることができます。セキュリティと管理の目的から、クライアント ID に関連付けるクライアント シークレットの数を制限することをお勧めします。
注意
OAuth 使用する SharePoint 用アプリを送信し、中国で配布する予定の場合は、中国用に別のクライアント ID とシークレットを追加してください。また、中国専用に別のアプリ パッケージを追加し、中国以外のすべての国に対するアクセスをブロックする必要があります。アプリを追加してアクセスをブロックする方法の詳細については、「方法:アプリの追加」を参照してください。
アプリに送信されるデータは、1 つの署名クライアント シークレットのみを使用して署名されます。販売者ダッシュ ボードでは、横に緑色のチェックマークが表示されたクライアント シークレットです。アプリが使用している署名クライアント シークレットを削除すると、次の有効なクライアント シークレットが代わりに使用されます。
アプリは、Microsoft との通信に使用するパスワードとして、任意の有効なクライアント シークレットを使用できます。クライアント シークレットの有効期限が切れると、パスワードとして使用できなくなります。クライアント ID に関連付けられているクライアント シークレットが 1 つのみの場合、シークレットを削除すると、アプリが必要なデータにアクセスできなくなる可能性があります。
OAuth クライアント ID とクライアント シークレットを追加するには、次の手順に従います。
個人の Microsoft アカウントを使用して、販売者ダッシュボードにサインインします。
[アプリ] タブの [クライアント ID] をクリックし、[新しい OAuth クライアント ID の追加] をクリックします。
[クライアント ID の追加]ウィザードの [詳細の入力] ページの [新しいクライアント ID の作成] の下で、次の情報を入力します。
クライアント ID のフレンドリ名: 「カレンダー アプリ」など、このクライアント ID を使用するアプリを見分けられる名前を選択します。
アプリ ドメイン: 「app.contoso.com」など、アプリを実行するドメインを入力します。お客様が所有している有効なドメイン名を指定する必要があります。「http://」と「https://」は含めないでください。また、国際ドメイン名 (IDN) にはしないでください。
アプリのリダイレクト URL: 同意ダイアログ ボックスでユーザーがアプリのアクセス要件にユーザーが同意した後に、ユーザーを転送する先の リダイレクト URL を入力します。この URL の先頭は https:// にする必要があります。
クライアント シークレットの有効期間: クライアント シークレットの有効期間を選択します。推奨される期間は 1 年間です。1 年間は、事務処理で比較的追跡しやすい期間です。ただし、より長い期間を選択してもセキュリティの影響はありません。クライアント シークレットの期限切れが近づくと、アプリの更新が必要になります。
[クライアント ID とシークレットの利用可能性] の下で、[このクライアント ID は、全世界で利用できるアプリケーションに使用されます] か [このクライアント ID は、中国 国内のみで利用できるアプリケーションに使用されます] のいずれかを選択します。
注意
OAuth を使用する SharePoint 用アプリを送信し、中国で配布する予定の場合は、中国専用に追加したクライアント ID とシークレットを使用します。また、中国用に別のアプリ パッケージを追加し、中国以外のすべての国に対するアクセスをブロックする必要があります。アプリを追加してアクセスをブロックする方法の詳細については、「方法:アプリの追加」を参照してください。
[クライアント ID の生成] をクリックします。
[クライアント シークレットの取得] ページで、クライアント ID とクライアント シークレットを安全な場所にコピーして、後で参照できるようにします。
重要
- クライアント シークレットはクライアント ID に関連付けられていますが、販売者ダッシュ ボードには再表示されません。
- クライアント シークレットは、他のユーザーがアクセスできない安全な場所にコピーします。また、開始日と終了日をメモして、クライアント シークレットの有効期間とその期限切れの日付について気を付ける必要があります。
- クライアント シークレットの期限切れが近づくと、新しいクライアント シークレットを生成し、アプリを更新する必要があります。詳細については、このトピックの「クライアント ID に関連付けられたクライアント シークレットを更新する」を参照してください。
- クライアント シークレットはクライアント ID に関連付けられていますが、販売者ダッシュ ボードには再表示されません。
[完了] をクリックします。
まだクライアント シークレットのコピーと保存を行っていない場合は、[クライアント シークレットをコピーしましたか?] ダイアログ ボックスで [キャンセル] をクリックします。クライアント シークレットを安全な場所にコピーしたら、[はい] をクリックします。
クライアント ID とシークレットのアプリへの関連付け
クライアント ID とクライアント シークレットを作成したら、アプリのコードに追加し、販売者ダッシュ ボード でクライアント ID をアプリに関連付けることができます。
注意
- クライアント ID とクライアント シークレットは、開発中、アプリのテスト前、アプリを販売者ダッシュ ボードに追加する前など、アプリ開発プロセスの任意の時点でコードに追加できます。アプリの完全テストを実行するには、テスト前にクライアント ID とクライアント シークレットを追加する必要があります。アプリ開発プロセス全体で、同じクライアント ID とシークレットを使用できます。
- クライアント ID とクライアント シークレットをコードのどこに配置するか迷う場合は、開発しているアプリの種類に応じて用意されているソフトウェア開発キット (SDK) を参照してください。たとえば、Microsoft Office 365 と共に使用する SharePoint 用アプリを開発する場合、関連する SharePoint SDK ドキュメントを参照してください。
販売者ダッシュ ボードでクライアント ID とクライアント シークレットをアプリと関連付けるには、次の手順に従います。
アプリを追加または編集する場合、[アプリはサービスであり、サーバー間の認証を必要とします] チェック ボックスをオンにします。
注意
OAuth を使用する SharePoint 用アプリを送信し、中国で配布する予定の場合は、[OAuth クライアント ID] の下のドロップダウン矢印をクリックします。[中国国内向けアプリケーション用クライアント ID] で、クライアント ID を選択します。このオプションが表示されない場合、中国専用のクライアント ID を追加する必要があります。詳細については、「クライアント ID とクライアント シークレットを追加する」を参照してください。
アプリに使用する OAuth クライアント ID のフレンドリ名を選択します。
クライアント ID に関連付けられたクライアント シークレットを更新する
クライアント シークレットは、次のような場合に更新することがあります。
クライアント シークレットの期限切れが近づいている: クライアント シークレットの期限切れが近づいている場合、現在のクライアント シークレットがまだ有効なうちに、販売者ダッシュ ボードで新しいクライアント シークレットを追加します。新しいクライアント シークレットでアプリを更新してから、期限切れが近づいているクライアント シークレットを販売者ダッシュ ボードから削除します。
注意
SharePoint 用アプリの期限切れが近づいているクライアント シークレットを更新するには、「方法:SharePoint 用アプリの期限切れが近づいているクライアント シークレットの置換」を参照してください。
クライアント シークレットのセキュリティが侵害されている: クライアント シークレットのセキュリティが侵害されている場合、すばやく状況に対応する必要があります。この場合、まずセキュリティが侵害されているクライアント シークレットを販売者ダッシュ ボードから削除し、新しいクライアント シークレットを追加してから、新しいクライアント シークレットでアプリを更新します。
重要
セキュリティが侵害されたクライアント シークレットを削除してから、新しいクライアント シークレットを追加するまで、ある程度のダウンタイムが生じる可能性があります。このダウンタイムの影響を受けるのは紛失または盗難されたクライアント シークレットの業務なので、ダウンタイムによるサービス レベルの低下は許容できる可能性があります。
追加クライアント シークレットの生成
個人の Microsoft アカウントを使用して、販売者ダッシュボードにサインインします。
[アプリ] タブの [クライアント ID] をクリックし、追加のクライアント シークレットを関連付けるクライアント ID をクリックします。
[クライアント ID の概要] ページで、[新しいクライアント シークレットの追加] をクリックします。
[クライアント シークレットの生成] をクリックします。
クライアント シークレットを安全な場所にコピーして、後で参照できるようにします。
重要
- クライアント シークレットはクライアント ID に関連付けられていますが、販売者ダッシュ ボードには再表示されません。
- クライアント シークレットは、他のユーザーがアクセスできない安全な場所にコピーします。また、開始日と終了日をメモして、クライアント シークレットの有効期間とその期限切れの日付について気を付ける必要があります。
- クライアント シークレットはクライアント ID に関連付けられていますが、販売者ダッシュ ボードには再表示されません。
[完了] をクリックします。
まだクライアント シークレットのコピーと保存を行っていない場合は、[クライアント シークレットをコピーしましたか?] ダイアログ ボックスで [キャンセル] をクリックします。クライアント シークレットを安全な場所にコピーしたら、[はい] をクリックします。
注意
新しいクライアント シークレットは 15 分以内にアクティブになります。
クライアント シークレットの削除
個人の Microsoft アカウントを使用して、販売者ダッシュボードにサインインします。
[アプリ] タブの [クライアント ID] をクリックし、クライアント シークレットを削除するクライアント ID をクリックします。
[クライアント ID の概要] ページの [クライアント シークレット] で、削除するクライアント シークレットの横にある [X] をクリックします。
重要
- 追加の有効なシークレットを作成し、そのシークレットをアプリに関連付け、そのシークレットを使用するようにアプリを構成していない状況で、クライアント シークレットを削除すると、アプリが必要なデータにアクセスできなくなる可能性があります。
- このクライアント ID に関連付けられているクライアント シークレットが 1 つのみの場合、追加のクライアント シークレットを生成してから、元のシークレットを削除します。詳細については、前のセクションを参照してください。
- 追加の有効なシークレットを作成し、そのシークレットをアプリに関連付け、そのシークレットを使用するようにアプリを構成していない状況で、クライアント シークレットを削除すると、アプリが必要なデータにアクセスできなくなる可能性があります。
[このクライアント シークレットを削除しますか?] ダイアログ ボックスが表示されます。このクライアント シークレットを削除しない場合は、[いいえ] をクリックします。このクライアント シークレットを削除する場合は、[はい] をクリックします。
クライアント ID を削除する
警告
アプリに関連付けられているクライアント ID を削除すると、関連付けられているすべてのクライアント シークレットが削除され、アプリは必要なデータにアクセスできなくなります。アプリに関連付けられているクライアント ID を削除すると、ユーザーはアプリを使用できなくなります。
状況に応じてクライアント ID を削除する場合があります。次に例を示します。
アプリの提供を中止する。
新しいバージョンのアプリを提供し、旧バージョンのアプリの提供を停止する。このような場合、旧バージョンのアプリに関連付けられたクライアント ID を削除することができます。
クライアント ID を削除するには、次の手順に従います。
個人の Microsoft アカウントを使用して、販売者ダッシュボードにサインインします。
[アプリ] タブの [クライアント ID] をクリックし、削除するクライアント ID をクリックします。
[クライアント ID の概要] ページの [OAuth クライアント ID] で、[削除] をクリックします。
[<クライアント ID 名> を削除しますか?] ダイアログ ボックスが表示されます。このクライアント ID を削除しない場合は、[いいえ] をクリックします。このクライアント ID を削除する場合は、[はい] をクリックします。
アプリの提供を続行する場合は、次の手順に従います。
別のクライアント ID と、少なくとも 1 つの有効なクライアント シークレットを追加します。詳細については、このトピックの「クライアント ID とクライアント シークレットを追加する」セクションを参照してください。
コードから古いクライアント ID を削除します。
警告
アプリに関連付けられているクライアント ID を削除すると、ユーザーはアプリを使用できなくなります。
販売者ダッシュ ボードから古いクライアント ID を削除します。詳細については、前の手順を参照してください。
新しいクライアント ID とクライアント シークレットをコードに追加します。
販売者ダッシュ ボードで更新したアプリを送信して承認を受けます。詳細については、「方法:アプリの追加」を参照してください。
警告
コードの更新中と販売者ダッシュ ボードの承認プロセス中は、ユーザーがアプリを使用できなくなります。
関連項目
概念
Microsoft 販売者ダッシュボード 101
方法:アプリの追加
Microsoft 販売者ダッシュボード FAQ
サポート リソース