# Az - Application Proxy
{{#include ../../../banners/hacktricks-training.md}}
## 基本情報
[ドキュメントから:](https://learn.microsoft.com/en-us/entra/identity/app-proxy/application-proxy)
Azure Active DirectoryのApplication Proxyは、**オンプレミスのWebアプリケーションへの安全なリモートアクセス**を提供します。**Azure ADへのシングルサインオン**の後、ユーザーは**クラウド**と**オンプレミスアプリケーション**の両方に、**外部URL**または内部アプリケーションポータルを通じてアクセスできます。
動作は次のようになります:
1. ユーザーがエンドポイントを通じてアプリケーションにアクセスすると、ユーザーは**Azure ADサインインページ**にリダイレクトされます。
2. **サインインが成功すると**、Azure ADはユーザーのクライアントデバイスに**トークン**を送信します。
3. クライアントはトークンを**Application Proxyサービス**に送信し、トークンからユーザープリンシパル名(UPN)とセキュリティプリンシパル名(SPN)を取得します。**Application Proxyはその後、リクエストをApplication Proxyコネクタに送信します**。
4. シングルサインオンを構成している場合、コネクタはユーザーに代わって必要な**追加認証**を実行します。
5. コネクタはリクエストを**オンプレミスアプリケーション**に送信します。
6. **レスポンス**はコネクタとApplication Proxyサービスを通じて**ユーザーに送信されます**。
## 列挙
```bash
# Enumerate applications with application proxy configured
Get-AzureADApplication | %{try{Get-AzureADApplicationProxyApplication -ObjectId $_.ObjectID;$_.DisplayName;$_.ObjectID}catch{}}
# Get applications service principal
Get-AzureADServicePrincipal -All $true | ?{$_.DisplayName -eq "Name"}
# Use the following ps1 script from https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/scripts/powershell-display-users-group-of-app
# to find users and groups assigned to the application. Pass the ObjectID of the Service Principal to it
Get-ApplicationProxyAssignedUsersAndGroups -ObjectId
```
## 参考文献
- [https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/application-proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/application-proxy)
{{#include ../../../banners/hacktricks-training.md}}