アプリケーション プロキシと PingAccess を使用したシングル サインオン用のヘッダー ベース認証

Microsoft は PingAccess と提携し、より多くのアクセス アプリケーションを提供しています。 PingAccess では、統合されたヘッダーベースのシングル サインオンを超える別のオプションが提供されます。

Microsoft Entra ID 向け PingAccess とは

PingAccess for Microsoft Entra ID を使用すると、認証にヘッダーを使用するアプリケーションへのアクセス権およびシングル サイン オン (SSO) をユーザーに与えます。 アプリケーション プロキシはこれらのアプリを他のアプリと同様に扱い、Microsoft Entra ID を使ってアクセスを認証した後、コネクタ サービスを通してトラフィックを渡します。 PingAccess は、アプリケーションの前に位置し、アクセス トークンを Microsoft Entra ID からヘッダーに変換します。 その後、アプリケーションは、読み取り可能な形式で認証を受信します。

ユーザーは、会社のアプリケーションを使用するためにサインインするときに、何かが違うとは一切気付きません。 アプリケーションは引き続き任意のデバイスのどこからでも動作します。 プライベート ネットワーク コネクタは、その認証の種類に関係なくすべてのアプリにリモート トラフィックを誘導します。そのため負荷分散も引き続き自動的に行われます。

利用方法

PingAccess と Microsoft Entra ID のライセンスが必要です。 ただし、Microsoft Entra ID P1 または P2 サブスクリプションには、最大 20 のアプリケーションをカバーする基本的な PingAccess ライセンスが含まれています。 20 を超えるヘッダー ベースのアプリケーションを公開する必要がある場合は、PingAccess からさらにライセンスを購入できます。

詳しくは、Microsoft Entra のエディションをご参照ください。

Microsoft Entra でアプリケーションを発行する

この記事では、初めてアプリケーションを発行する手順について説明します。 この記事では、アプリケーション プロキシと PingAccess の両方に関するガイダンスを提供します。

Note

手順の一部は、Ping ID サイトに存在します。

プライベート ネットワーク コネクタのインストール

プライベート ネットワーク コネクタは、遠隔にいる従業員からのトラフィックを発行済みアプリケーションに誘導する Windows Server サービスです。 インストール手順の詳細については、「チュートリアル: Microsoft Entra ID のアプリケーション プロキシを使用してリモート アクセスするためのオンプレミス アプリケーションを追加する」を参照してください。

  1. 少なくとも アプリケーション管理者 の権限で Microsoft Entra 管理センター にサインインします。
  2. ID>アプリケーション>エンタープライズ アプリケーション>アプリケーション プロキシ を参照します。
  3. [コネクタ サービスのダウンロード] を選択します。
  4. インストール手順に従います。

通常、コネクタをダウンロードすれば、ディレクトリに対してアプリケーション プロキシが自動的に有効になります。有効にならなかった場合は、[アプリケーション プロキシの有効化] を選択してください。

アプリケーション プロキシを使用する Microsoft Entra ID にアプリケーションを追加する

Microsoft Entra ID にアプリケーションを追加するには、2 つの手順があります。 最初に、アプリケーション プロキシを使用してアプリケーションを発行する必要があります。 次に、アプリケーションに関する情報を収集する必要があります。その情報が PingAccess の手順で必要になります。

アプリケーションの発行

まず、アプリケーションを発行します。 このアクションには、次が含まれます。

  • Microsoft Entra ID へのオンプレミス アプリケーションの追加。
  • アプリケーションをテストとヘッダー ベースのシングル サインオンを選択するためのユーザーの割り当て。
  • アプリケーションのリダイレクト URL の設定。
  • ユーザーおよび他のアプリケーションに対するオンプレミス アプリケーションを使用するためのアクセス許可の付与。

独自のオンプレミス アプリケーションを発行するには、次の手順に従います。

  1. アプリケーション管理者として Microsoft Entra 管理センターにサインインします。

  2. [エンタープライズ アプリケーション]>[新しいアプリケーション]>[オンプレミスのアプリケーションの追加] を参照します。 [独自のオンプレミスのアプリケーションの追加] ページが表示されます。

    独自のオンプレミスのアプリケーションの追加

  3. 新しいアプリケーションに関する情報を必須フィールドに入力します。 設定のガイダンスを使用します。

    Note

    この手順の詳細なチュートリアルは、「オンプレミス アプリを Microsoft Entra ID に追加する」を参照してください。

    1. [Internal URL] (内部 URL): 通常は、社内ネットワークにおけるアプリのサインイン ページへの URL を指定します。 このシナリオでは、コネクタは PingAccess プロキシをアプリケーションの最初のページとして処理する必要があります。 次の形式を使用します。https://<host name of your PingAccess server>:<port> ポートは既定では 3000 ですが、PingAccess で設定できます。

      警告

      この種類のシングル サインオンの場合、内部 URL は https を使用する必要があり、http を使用できません。 また、アプリケーション プロキシで区別を維持できるように、2 つのアプリケーションで同じ内部 URL を持つ必要はありません。

    2. 事前認証方法: Microsoft Entra ID を選択します。

    3. ヘッダーの URL を変換する: [いいえ] を選択します。

    注意

    これが最初のアプリケーションの場合は、ポート 3000 の使用から始めてください。PingAccess 構成を変更した場合は、この設定を更新してください。 後続のアプリケーションの場合、ポートは PingAccess で構成したリスナーと一致する必要があります。 詳細については、PingAccess のリスナーに関するページを参照してください。

  4. [追加] を選択します。 新しいアプリケーションの概要ページが表示されます。

次に、アプリケーション テストのユーザーを割り当て、ヘッダーベースのシングル サインオンを選択します。

  1. アプリケーションのサイドバーから、[ユーザーとグループ]>[ユーザーの追加]>[ユーザーとグループ] (選択された <数>) の順に選択します。 選択するためのユーザーとグループの一覧が表示されます。

    ユーザーとグループのリストを示しています

  2. アプリケーション テストのユーザーを選択し、 [選択] を選択します。 このテスト アカウントでオンプレミスのアプリケーションにアクセスできることを確認します。

  3. [割り当て] を選択します。

  4. アプリケーションのサイドバーから、 [シングル サインオン]>[ヘッダーベース] を選択します。

    ヒント

    ヘッダー ベースのシングル サインオンを初めて使用する場合は、PingAccess をインストールする必要があります。 Microsoft Entra ID サブスクリプションを PingAccess のインストールに自動的に関連付けるには、このシングル サインオン ページのリンクを使用して PingAccess をダウンロードします。 今すぐダウンロード サイトを開くことも、後でこのページに戻ることもできます。

    ヘッダー ベースのサインオン画面と PingAccess を示しています

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

続いてリダイレクト URL が外部 URL に設定されてことを確認しています。

  1. ID>アプリケーション>アプリの登録 に移動し、アプリケーションを選択します。
  2. リダイレクト URI の横にあるリンク選択します。 このリンクには、Web クライアントとパブリック クライアントのリダイレクト Uniform Resource Identifier (URI) セットアップの量が表示されます。 [<アプリケーション名> - 認証] ページが表示されます。
  3. 以前にアプリケーションに割り当てた外部 URL が [リダイレクト URI] の一覧にあるかどうかを確認します。 ない場合は、Web のリダイレクト URI の種類を使用して外部 URL を追加し、 [保存] を選択します。

外部 URL に加えて、外部 URL 上の Microsoft Entra ID の承認エンドポイントを [リダイレクト URI] の一覧に追加する必要があります。

https://*.msappproxy.net/pa/oidc/cb https://*.msappproxy.net/

最後に、ユーザーが read アクセス権を持ち、他のアプリケーションが read/write アクセス権を持つように、オンプレミス アプリケーションを設定します。

  1. アプリケーションの [アプリの登録] サイドバーから、 [API のアクセス許可]>[アクセス許可の追加]>[Microsoft API]>[Microsoft Graph] の順に選択します。 Microsoft Graph へのアクセス許可を含む、Microsoft Graph 向け [API アクセス許可の要求] ページが表示されます。

    [API アクセス許可の要求] ページを示しています

  2. [委任されたアクセス許可]>[ユーザー]>[User.Read] の順に選択します。

  3. [アプリケーションのアクセス許可]>[アプリケーション]>[Application.ReadWrite.All] の順に選択します。

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

  5. [API のアクセス許可] ページで、[<ディレクトリ名> に管理者の同意を与えます] を選択します。

PingAccess の手順で使う情報の収集

3 つのグローバル一意識別子 (GUID) を収集します。 GUID を使用して、PingAccess を使用してアプリケーションを設定します。

Microsoft Entra ID フィールドの名前 PingAccess フィールドの名前 データ形式
アプリケーション (クライアント) ID クライアント ID GUID
ディレクトリ (テナント) ID 発行者 GUID
PingAccess key クライアント シークレット ランダムな文字列

この情報を収集します。

  1. ID>アプリケーション>アプリの登録 に移動し、アプリケーションを選択します。

    アプリケーションの登録の概要

  2. [アプリケーション (クライアント) ID] 値の横で [クリップボードにコピー] アイコンを選択し、それをコピーして保存します。 この値は、後から PingAccess のクライアント ID として指定します。

  3. [ディレクトリ (テナント) ID] 値の横で [クリップボードにコピー] も選択し、それをコピーして保存します。 この値は、後から PingAccess の発行者として指定します。

  4. アプリケーションの [アプリの登録] のサイドバーから、 [証明書とシークレット]>[新しいクライアント シークレット] の順に選択します。 [クライアント シークレットの追加] ページが表示されます。

    [クライアント シークレットの追加] ページを示しています

  5. [説明]PingAccess key を入力します。

  6. [有効期限] の下で、PingAccess キーを設定する方法を選択します: [1 年][2 年] 、または [無期限]

  7. [追加] を選択します。 クライアント シークレットのテーブルに PingAccess キーが、VALUE フィールドに自動入力されるランダム文字列で表示されます。

  8. PingAccess キーの VALUE フィールドの横で [クリップボードにコピー] アイコンを選択し、それをコピーして保存します。 この値は、後から PingAccess のクライアント シークレットとして指定します。

acceptMappedClaims フィールドを更新する:

  1. 少なくとも アプリケーション管理者 の権限で Microsoft Entra 管理センター にサインインします。
  2. 右上隅で自分のユーザー名を選択します。 アプリケーション プロキシを使うディレクトリにサインインしていることを確認します。 ディレクトリを変更する必要がある場合は、[ディレクトリの切り替え] を選び、アプリケーション プロキシを使うディレクトリを選びます。
  3. ID>アプリケーション>アプリの登録 に移動し、アプリケーションを選択します。
  4. アプリケーションの [アプリの登録] ページのサイドバーから、 [マニフェスト] を選択します。 アプリケーションの登録のマニフェスト JSON コードが表示されます。
  5. acceptMappedClaims フィールドを検索し、値を True に変更します。
  6. [保存] を選択します。

省略可能な要求の使用 (省略可能)

オプションの要求を使用すると、すべてのユーザーとテナントが持つ "標準だが既定では含まれない" 要求を追加できます。 アプリケーション マニフェストを変更して、アプリケーションの省略可能な要求を構成することができます。 詳細については、Microsoft Entra アプリケーション マニフェストの概要に関する記事を参照してください。

PingAccess が消費する access_token に、メール アドレスを含める例:

    "optionalClaims": {
        "idToken": [],
        "accessToken": [
            {
                "name": "email",
                "source": null,
                "essential": false,
                "additionalProperties": []
            }
        ],
        "saml2Token": []
    },

要求のマッピング ポリシーの使用 (省略可能)

要求マッピングを使用すると、Active Directory フェデレーション サービス (ADFS) またはユーザー オブジェクトをバックするカスタム要求をさらに追加することで、古いオンプレミス アプリをクラウドに移行できます。 詳細については、「要求のマッピング ポリシー (プレビュー)」を参照してください。

カスタム要求を使用し、アプリケーションに他のフィールドを含めるには。 カスタム要求マッピング ポリシーを作成し、アプリケーションに割り当てました

Note

カスタム要求を使用するには、カスタム ポリシーも定義し、アプリケーションに割り当てる必要があります。 このポリシーには、すべての必要なカスタム属性を含めます。

PowerShell または Microsoft Graph から、ポリシーの定義と割り当てを行うことができます。 PowerShell でこの処理を実行するには、必要に応じてまず New-AzureADPolicy を使用してから、Add-AzureADServicePrincipalPolicy でアプリケーションに割り当てます。 詳細については、「要求のマッピング ポリシーの割り当て」を参照してください。

例:

$pol = New-AzureADPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"employeeid","JwtClaimType":"employeeid"}]}}') -DisplayName "AdditionalClaims" -Type "ClaimsMappingPolicy"

Add-AzureADServicePrincipalPolicy -Id "<<The object Id of the Enterprise Application you published in the previous step, which requires this claim>>" -RefObjectId $pol.Id

PingAccess でカスタム要求を使用できるようにする

PingAccess でカスタム要求を使用できるようにすることは省略可能ですが、アプリケーションでより多くの要求を使用すると予想される場合は必須です。

次の手順で PingAccess を構成すると、作成する Web セッション ([設定] -> [アクセス] -> [Web セッション]) では、[プロファイルの要求] を選択解除し、[ユーザー属性の更新][いいえ] に設定する必要があります。

PingAccess をダウンロードしてアプリケーションを構成する

このシナリオの PingAccess に関連した領域の詳しい手順については、Ping Identity のドキュメントを参照してください。 Ping Identity の Web サイトの「Configuring PingAccess for Azure AD (PingAccess を Microsoft Entra ID 用に構成する)」にある指示に従い、PingAccess の最新バージョンをダウンロードしてください。

PingAccess の記事の手順では、PingAccess アカウントを取得する手順について説明します。 Microsoft Entra ID OpenID Connect (OIDC) 接続を作成するには、Microsoft Entra 管理センターからコピーしたディレクトリ (テナント) ID 値でトークン プロバイダーを設定します。 PingAccess で Web セッションを作成します。 Application (client) ID 値と PingAccess key 値を使用します。 ID マッピングを設定し、仮想ホスト、サイト、アプリケーションを作成します。

アプリケーションのテスト

アプリケーションは稼働中です。 正しく動作するか確認するために、ブラウザーを起動し、Microsoft Entra にアプリケーションを発行したときに作成した外部 URL にアクセスしてみてください。 サインインには、アプリケーションに割り当てたテスト アカウントを使用します。

次のステップ