シングル サインオン (SSO) を使用する Office アドインを Microsoft ID プラットフォームに登録する

この記事では、SSO を使用できるように Office アドインをMicrosoft ID プラットフォームに登録する方法について説明します。 アドインの開発を開始するときにアドインを登録して、テストまたは運用に進むときに、既存の登録を変更したり、アドインの開発、テスト、および運用バージョン用に個別の登録を作成したりできます。

次の表では、この手順を実行するために必要な情報と、指示に表示される対応するプレースホルダーが項目ごとに分類されています。

情報 プレースホルダー
人間が判読できるアドインの名前です (一意であることが推奨されますが、必須ではありません)。 Contoso Marketing Excel Add-in (Prod) <add-in-name>
登録プロセスの一環として Azure によって生成されるアプリケーション ID。 c6c1f32b-5e55-4997-881a-753cc1d563b7 <app-id>
アドインの完全修飾ドメイン名 (プロトコルを除く) です。 所有しているドメインを使用する必要があります。 この理由から、azurewebsites.net または cloudapp.net などのよく知られている特定のドメインは使用できません。 ドメインは、サブドメインを含めて同じである必要があります。これは、アドインのマニフェストの [リソース>] セクションの URL で<使用されます。 localhost:6789, addins.contoso.com <fully-qualified-domain-name>
アドインに必要なMicrosoft ID プラットフォームと Microsoft Graph に対するアクセス許可。 (profile は常に必須です)。 profile, Files.Read.All N/A

注意

機密情報: アプリケーション ID URI (<fully-qualified-domain-name>) は、Microsoft Teams 内で実行されている Office で SSO を使用したアドインがアクティブ化されると、認証プロセスの一部としてログに記録されます。 URI に機密情報を含めることはできません。

アドインを Microsoft ID プラットフォーム に登録する

Web サーバーを表すアプリ登録を Azure で作成する必要があります。 これにより、JavaScript のクライアント コードに対して適切なアクセス トークンを発行できるように、認証のサポートが可能になります。 この登録では、クライアントでの SSO と、Microsoft 認証ライブラリ (MSAL) を使用したフォールバック認証の両方がサポートされます。

  1. Microsoft 365 テナントへの管理者資格情報を使用して、Azure portalにサインインします。 たとえば、「 MyName@contoso.onmicrosoft.com 」のように入力します。

  2. [アプリの登録] を選択します。 アイコンが表示されない場合は、検索バーで "アプリの登録" を検索します。

    Azure portalホーム ページ。

    [アプリの登録] ページが表示されます。

  3. [新規登録] を選択します。

    [アプリの登録] ウィンドウでの新しい登録。

    [アプリケーション登録] ページが表示されます。

  4. [アプリケーションを登録] ページで、次のように値を設定します。

    • <add-in-name>[名前] を設定します。
    • [サポートされているアカウントの種類] を[任意の組織のディレクトリ (任意の Azure AD ディレクトリ - マルチテナント)] と個人用 Microsoft アカウント (Skype、Xbox など) に設定します。
    • プラットフォームシングルページ アプリケーション (SPA)URI を 使用するようにリダイレクト URI を にhttps://<fully-qualified-domain-name>/dialog.html設定します。

    名前とサポートされているアカウントが完了したアプリケーション ウィンドウを登録します。

  5. [登録] を選択します。 アプリケーション登録が作成されたことを示すメッセージが表示されます。

    アプリケーションの登録が作成されたことを示すメッセージ。

  6. アプリケーション (クライアント) ID とディレクトリ (テナント) ID の値をコピーして保存します。 以降の手順では、それらの両方を使用します。

    クライアント ID とディレクトリ ID を表示する Contoso のアプリ登録ウィンドウ。

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

アプリケーション パスワードと呼ばれることもあります。クライアント シークレットは、証明書の代わりにアプリが ID 自体に使用できる文字列値です。

  1. 左側のウィンドウで、[ 証明書 & シークレット] を選択します。 次に、[ クライアント シークレット ] タブで、[ 新しいクライアント シークレット] を選択します。

    [証明書 & シークレット] ウィンドウ。

    [ クライアント シークレットの追加] ウィンドウが表示されます。

  2. クライアント シークレットの説明を追加します。

  3. シークレットの有効期限を選択するか、カスタム有効期間を指定します。

    • クライアント シークレットの有効期間は、2 年間 (24 か月) 以下に制限されます。 24 か月を超えるカスタム有効期間を指定することはできません。
    • Microsoft では、有効期限の値を 12 か月未満に設定することをお勧めします。

    説明と有効期限が完了したクライアント シークレット ウィンドウを追加します。

  4. [追加] を選択します。 新しいシークレットが作成され、値が一時的に表示されます。

重要

クライアント アプリケーション コードで使用するシークレットの値を記録します。 このウィンドウを離れた後、このシークレット値は 再び表示されることはありません

Web API を公開する

  1. 左側のウィンドウで、[ API の公開] を選択します。

    [ API の公開 ] ウィンドウが表示されます。

    アプリ登録の [API の公開] ウィンドウ。

  2. [ 設定] を選択して、アプリケーション ID URI を生成します。

    アプリ登録の [API の公開] ウィンドウの [設定] ボタン。

    アプリケーション ID URI を設定するためのセクションは、 形式 api://<app-id>で生成されたアプリケーション ID URI と共に表示されます。

  3. アプリケーション ID URI を に更新します api://<fully-qualified-domain-name>/<app-id>

    localhost ポートが 44355 に設定されている [アプリ ID URI] ペインを編集します。

    • アプリケーション ID URI には、アプリ ID (GUID) が形式 api://<app-id> で事前に入力されています。
    • アプリケーション ID URI 形式は次のとおりです。 api://<fully-qualified-domain-name>/<app-id>
    • <app-id> (fully-qualified-domain-nameGUID) の間api://に を挿入します。 たとえば、「 api://contoso.com/<app-id> 」のように入力します。
    • localhost を使用している場合、形式は である api://localhost:<port>/<app-id>必要があります。 たとえば、「 api://localhost:3000/c6c1f32b-5e55-4997-881a-753cc1d563b7 」のように入力します。

    その他のアプリケーション ID URI の詳細については、「 アプリケーション マニフェスト識別子Uris 属性」を参照してください。

    注:

    ドメインを所有しているにもかかわらず、そのドメインが既に所有されているというエラーが表示される場合は、「クイック スタート: カスタム ドメイン名を Azure Active Directory に追加する」の手順に従って登録し、この手順を繰り返します。 (このエラーは、Microsoft 365 テナントの管理者の資格情報でサインインしていない場合にも発生する可能性があります。手順 2 を参照してください。サインアウトし、管理者の資格情報を使用してもう一度サインインし、手順 3. のプロセスを繰り返します)。

スコープを追加する

  1. [ API の公開 ] ページで、[ スコープの追加] を選択します。

    [スコープの追加] ボタンを選択します。

    [ スコープの追加] ウィンドウが開きます。

  2. [ スコープの追加] ウィンドウで、スコープ の属性を指定します。 次の表は、および のアクセス許可を必要とするおよび Outlook アドインの値のprofileopenidFiles.ReadWrite例をMail.Read示しています。 アドインに必要なアクセス許可に合わせてテキストを変更します。

    フィールド 説明
    スコープ名 スコープの名前。 一般的なスコープの名前付け規則は です resource.operation.constraint SSO の場合、これは に設定する access_as_user必要があります。
    同意できるユーザー 管理者の同意が必要かどうか、またはユーザーが管理者の承認なしで同意できるかどうかを決定します。 SSO とサンプルを学習するには、これを [管理者とユーザー] に設定することをお勧めします。

    高い特権を持つアクセス許可 の場合にのみ、[管理者] を選択します。
    同意の表示名管理 スコープの目的の簡単な説明は、管理者にのみ表示されます。 Read/write permissions to user files. Read permissions to user mail and profiles.
    同意の説明管理 管理者のみが表示するスコープによって付与されるアクセス許可の詳細な説明。 Allow Office to have read/write permissions to all user files and read permissions to all user mail. Office can call the app's web APIs as the current user.
    ユーザー同意表示名 スコープの目的の簡単な説明。 [管理者とユーザーに同意できるユーザー] を設定した場合にのみ、ユーザーに表示されます。 Read/write permissions to your files. Read permissions to your mail and profile.
    ユーザーの同意の説明 スコープによって付与されるアクセス許可のより詳細な説明。 [管理者とユーザーに同意できるユーザー] を設定した場合にのみ、ユーザーに表示されます。 Allow Office to have read/write permissions to your files, and read permissions to your mail and profile.
  3. [状態] を [有効] に設定し、[スコープの追加] を選択します。

    [状態] を [有効] に設定し、[スコープの追加] ボタンを選択します。

    定義した新しいスコープがウィンドウに表示されます。

    [API の公開] ウィンドウに表示される新しいスコープ。

    注:

    テキスト フィールドのすぐ下に表示される [スコープ名] のドメイン部分は、たとえば api://localhost:6789/c6c1f32b-5e55-4997-881a-753cc1d563b7/access_as_user のように手順で設定された [アプリケーション ID URI] と自動的に一致し、最後に /access_as_user が追加されます。

  4. [クライアント アプリケーションの追加] を選択します。

    [クライアント アプリケーションの追加] を選択します。

    [ クライアント アプリケーションの追加] ウィンドウが表示されます。

  5. [クライアント ID] に「」と入力しますea5a67f6-b6f3-4338-b240-c655ddc3cc8e。 この値は、すべての Microsoft Office アプリケーション エンドポイントを事前に承認します。 また、Microsoft Teams 内で使用するときに Office を事前に承認する場合は、(Microsoft Teams デスクトップと Teams モバイル) と 5e3ce6c0-2b1f-4285-8d4b-75ee78787346 (Teams on the web) を追加1fec8e78-bce4-4aaf-ab1b-5451cc387264します。

    注:

    ID は ea5a67f6-b6f3-4338-b240-c655ddc3cc8e 、次のすべてのプラットフォームで Office を事前に承認します。 または、何らかの理由で一部のプラットフォームで Office への承認を拒否する場合は、次の ID の適切なサブセットを入力することもできます。 その場合は、承認を保留するプラットフォームの ID を除外します。 これらのプラットフォーム上のアドインのユーザーは Web API を呼び出せなくなりますが、アドイン内の他の機能は引き続き機能します。

    • d3590ed6-52b3-4102-aeff-aad2292ab01c (Microsoft Office)
    • 93d53678-613d-4013-afc1-62e9e444a0a5 (Office on the web)
    • bc59ab01-8403-45c6-8796-ac3ef710b3e3 (Outlook on the web)
  6. [ 承認されたスコープ] で、チェック ボックスを api://<fully-qualified-domain-name>/<app-id>/access_as_user オンにします。

  7. [アプリケーションの追加] を選択します。

    [クライアント アプリケーションの追加] ウィンドウ。

Microsoft Graph のアクセス許可を追加する

  1. 左側のウィンドウで、[ API アクセス許可] を選択します。

    [API アクセス許可] ウィンドウ。

    [API アクセス許可] ウィンドウが開きます。

  2. [アクセス許可を追加] を選択します。

    [API アクセス許可] ウィンドウにアクセス許可を追加する。

    [ API のアクセス許可の要求 ] ウィンドウが開きます。

  3. [Microsoft Graph] を選択します。

    [Api のアクセス許可の要求] ウィンドウと [Microsoft Graph] ボタン。

  4. [委任されたアクセス許可] を選択します。

    委任されたアクセス許可を持つ [API のアクセス許可の要求] ウィンドウボタン。

  5. [ アクセス許可の選択 ] 検索ボックスで、アドインで必要なアクセス許可を検索します。 たとえば、Outlook アドインの場合、および Mail.Readを使用Files.ReadWriteprofileopenidできます。

    注:

    User.Read アクセス許可は既定でリストされています。 必要なアクセス許可のみを要求することをお勧めします。アドインで実際に必要ない場合は、このアクセス許可のチェック ボックスをオフにすることをお勧めします。

  6. 表示される各アクセス許可のチェック ボックスをオンにします。 アクセス許可は、各アクセス許可を選択しても一覧に表示されません。 アドインに必要なアクセス許可を選択したら、[ アクセス許可の追加] を選択します。

    一部のアクセス許可が選択されている [API のアクセス許可の要求] ウィンドウ。

  7. [ テナント名] の [管理者の同意の付与] を選択します。 表示される確認のために [ はい ] を選択します。

アクセス トークンのバージョンを構成する

アプリで許容されるアクセス トークンのバージョンを定義する必要があります。 この構成は、Azure Active Directory アプリケーション マニフェストで行われます。

アクセス トークンのバージョンを定義する

アクセス トークンのバージョンは、 任意の組織ディレクトリ (任意の Azure AD ディレクトリ - マルチテナント) と個人用 Microsoft アカウント (Skype、Xbox など) のアカウントの種類以外を選択した場合に変更される可能性があります。 次の手順を使用して、アクセス トークンのバージョンが Office SSO の使用に適していることを確認します。

  1. 左側のウィンドウで、[マニフェスト] を選択 します

    [Azure マニフェスト] を選択します。

    Azure Active Directory アプリケーション マニフェストが表示されます。

  2. accessTokenAcceptedVersion プロパティの値として 2 を入力します。

    受け入れられたアクセス トークンのバージョンの値。

  3. [保存] を選択します。

    マニフェストが正常に更新されたことを示すメッセージがブラウザにポップアップ表示されます。

    マニフェストが更新されたメッセージ。

おめでとうございます! アプリの登録を完了して、Office アドインの SSO を有効にしました。