Cloud Solutions

AADAP - Azure AD Application Proxy の外部URLを変更する

2022年2月24日

自分
閲覧ありがとうございます。ゆっくり よんでいってください

本記事に記載の内容は、
「Azure AD Application Proxyで発行される外部URLを変更する方法」に関する内容となっています。
ぜひ参考にしてください。

 

なお、以下記事にてAzure AD Application Proxyの設定方法を記載しています。

AADAP - Azure AD Application Proxy で統合 Windows 認証を構成する

続きを見る

 

Azure AD Application Proxy の 外部URL (ホームページURL)を変更する理由

Azure AD Application ProxyでWebアプリケーションを連携させたい!と考えた時に
接続先のURLにクエリ文[?hoge=foo]が入っていて困ったことありませんか?
困る原因としては、クエリ文を内部URLとして設定できないからですよね。。。

ログイントップ画面がクエリ文含んでるアプリケーションが、
世の中にどの程度存在しているか分かりかねますが、同じ問題に躓いた時用の備忘録としても纏めておきますっ

 

 

クエリ文を含んだURLにアクセスできるように内部URLと外部URLを設定する

設定手順になります。
イメージつくように画像をいくつか付けているので参照してください。

Azure AD Application Proxyを使用したWebアプリケーション連携方法は以下記事を参考にしてください。

AADAP - Azure AD Application Proxy で社内Webアプリケーションを公開する

続きを見る

既存URL:http://hogehoge.domain.com/fuga/piyo?hoge=foo

アプリ名:iis-webserver

  1. Azure AD Application Proxy の内部URLとして以下を設定します。
    ※コンテキストルートを設定することをお勧めします。
     command
    http://hogehoge.domain.com/fuga/
    


  2. PowerShellを管理者として実行で開きます。

  3. 以下コマンドでAzure ADに接続します。
     command
    Connect-AzureAD
    


  4. 以下コマンドを実行して、作成済みWebアプリのObjectIdを取得します。
     command
    Get-AzureADApplication | Where-Object { $_.DisplayName -eq "iis-webserver" } | Format-List DisplayName, Homepage, ObjectId
    


  5. 取得した、ObjectIdを以下変数に格納します。
     command
    $objguid = "<取得したObjectId>"
    

    ObjectIdを以下変数に格納します

  6. 以下コマンドを実行して、ObjectIdを使用してアプリケーション情報が取得できるか確認します。
     command
    Get-AzureADApplication -ObjectId $objguid | Format-List DisplayName, Homepage, ObjectId
    


  7. 無事に取得することが出来たら、以下コマンドを実行して設定したいホームページURLを変数に格納します。
    ※ホームページURLの形は、[msappproxy.net]を使用している場合は必ず[msappproxy.net]を含む形で作成してください。
     command
    $appnew = New-Object "Microsoft.Open.AzureAD.Model.Application"$homepage = "http://hogehoge-domain01.msapproxy.net/fuga/piyo?hoge=foo"
    


  8. 以下コマンドを実行して、ホームページURLを変更します。
     command
    Set-AzureADApplication -ObjectId $objguid -Homepage $homepage
    

    ホームページURLを変更します

  9. 以下コマンドを実行して、ホームページURLが変更されていることを確認して完了です。
    コマンド以外でも、Azure Active Directory 管理センターからも確認できます。
     command
    Get-AzureADApplication -ObjectId $objguid | Format-List DisplayName, Homepage, ObjectId
    

    Azure Active Directory 管理センターからも確認できます。

 

さいごに・・・

Microsoft の Docにもクエリ文が含めないことは記載がない制限で、困った方いたと思います。
※私が探した限り無かっただけですが・・・

本記事の手順を踏むことで、クエリ文を含むログインページに遷移することが可能になるので
是非ためしてみてくださいっ

 

-Cloud Solutions