You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/manage-apps/f5-big-ip-forms-advanced.md
+98-66Lines changed: 98 additions & 66 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -317,130 +317,162 @@ You can add a LogonID_Mapping configuration. Then, the BIG-IP active sessions li
317
317
318
318
### Configure a back-end pool
319
319
320
-
For the BIG-IP to know where to forward client traffic, you need to create a BIG-IP node object that represents the back-end server that hosts your application. Then, place that node in a BIG-IP server pool.
320
+
To enable BIG-IP to forward client traffic correctly, create a BIG-IP node object that represents the back-end server that hosts your application. Then, place that node in a BIG-IP server pool.
321
321
322
-
1. Select **Local Traffic** > **Pools** > **Pool List** > **Create** and provide a name for a server pool object. For example, enter **MyApps_VMs**.
322
+
1. Select **Local Traffic** > **Pools**.
323
+
2. Select **Pool List**.
324
+
3. Select **Create**.
325
+
4. Enter a **Name** for a server pool object. For example, MyApps_VMs.
323
326
324
-

327
+

325
328
326
-
1. Add a pool member object with the following resource details:
329
+
5. For **Node Name**, enter a server display name. This server hosts the back-end web application.
330
+
6. For **Address**, enter the application server host IP address.
331
+
7. For **Service Port** enter the HTTP/S port the application is listening on.
327
332
328
-
| Property | Description |
329
-
|:-----|:-------|
330
-
| Node Name: | Optional display name for the server that hosts the back-end web application |
331
-
| Address: | IP address of the server that hosts the application |
332
-
| Service Port: | HTTP/S port that the application is listening on |
333
-
|||
333
+

334
334
335
-

336
-
337
-
>[!NOTE]
338
-
>Health monitors require [additional configuration](https://support.f5.com/csp/article/K13397) that this article doesn't cover.
335
+
>[!NOTE]
336
+
>Health monitors require configuration this article doesn't cover. Go to support.f5.com for [K13397: Overview of HTTP health monitor request formatting for the BIG-IP DNS system](https://support.f5.com/csp/article/K13397).
339
337
340
338
### Configure a virtual server
341
339
342
-
A *virtual server* is a BIG-IP data-plane object that's represented by a virtual IP address that listens for client requests to the application. Any received traffic is processed and evaluated against the APM access profile that's associated with the virtual server. The traffic is then directed according to the policy results and settings.
340
+
A virtual server is a BIG-IP data-plane object represented by a virtual IP address. The server listens for client requests to the application. Any received traffic is processed and evaluated against the APM access profile associated with the virtual server. The traffic is directed according to policy.
3. Provide the virtual server with a Name value and an IPv4/IPv6 address that isn't already allocated to an existing BIG-IP object or device on the connected network. The IP address will be dedicated to receiving client traffic for the published back-end application. Then set Service Port to 443.
5. For **Destination Address/Mask**, select **Host** and enter an IPv4 or IPv6 address. The address receives client traffic for the published back-end application.
349
+
6. For **Service Port**, select **Port**, enter **443**, and select **HTTPS**.
349
350
350
-

351
+

351
352
352
-
3. Set **HTTP Profile (Client)** to **http**.
353
+
7. For **HTTP Profile (Client)**, select **http**.
354
+
8. For **SSL Profile (Client)**, select the profile you created, or leave the default for testing. This option enables a virtual server for Transport Layer Security (TLS) to publish services over HTTPS.
353
355
354
-
1. Enable a virtual server for Transport Layer Security to allow services to be published over HTTPS. For **SSL Profile (Client)**, select the profile that you created as part of the prerequisites. (Or leave the default if you're testing.)
356
+

355
357
356
-

358
+
9. For **Source Address Translation**, select **Auto Map**.
357
359
358
-
1. Change the **Source Address Translation** to **Auto Map**.
360
+

359
361
360
-

362
+
10. Under **Access Policy**, in the **Access Profile** box, enter the name you created. This action binds the Azure AD SAML preauthentication profile and FBA SSO policy to the virtual server.
361
363
362
-
1. Under **Access Policy**, in the **Access Profile** box, enter the name you created earlier. This action binds the Azure AD SAML pre-authentication profile and FBA SSO policy to the virtual server.
364
+

363
365
364
-

366
+
11. Under **Resources**, for **Default Pool**, select the back-end pool objects you created.
367
+
12. Select **Finished**.
365
368
366
-
1. Set **Default Pool** to use the back-end pool objects that you created in the previous section. Then select **Finished**.
369
+

367
370
368
-

371
+
### Configure session management settings
369
372
370
-
### Configure Session management settings
373
+
BIG-IP session management settings define conditions for sessions termination and continuation. Create policy in this area.
371
374
372
-
BIG-IP's session management settings define the conditions under which user sessions are terminated or allowed to continue, limits for users and IP addresses, and error pages. You can create your own policy here. Go to Access Policy > Access Profiles > Access Profile and select your application from the list.
375
+
1. Go to **Access Policy**.
376
+
2. Select **Access Profiles**.
377
+
3. Select **Access Profile**.
378
+
4. From the list, select your application.
373
379
374
-
If you've defined a Single Logout URI value in Azure AD, it will ensure that an IdP-initiated sign-out from the MyApps portal also ends the session between the client and the BIG-IP APM. The imported application's federation metadata XML file provides the APM with the Azure AD SAML logout endpoint for SP-initiated sign-outs. But for this to be truly effective, the APM needs to know exactly when a user signs out.
380
+
If you defined a single logout URI value in Azure AD, IdP-initiated sign-out from MyApps ends the client and the BIG-IP APM session. The imported application federation metadata XML file provides the APM with the Azure AD SAML endpoint for SP-initiated sign-outs. Ensure the APM responds correctly to a user sign out.
375
381
376
-
Consider a scenario where a BIG-IP web portal is not used. The user has no way of instructing the APM to sign out. Even if the user signs out of the application itself, BIG-IP is technically oblivious to this, so the application session could easily be reinstated through SSO. For this reason, SP-initiated sign-out needs careful consideration to ensure that sessions are securely terminated when they're no longer required.
382
+
If there's no BIG-IP web portal, users can't instruct the APM to sign out. If the user signs out of the application, BIG-IP is oblivious. The application session can be reinstated through SSO. For SP-initiated sign-out, ensure sessions terminate securely.
377
383
378
-
One way to achieve this is by adding an SLO function to your application's sign-out button. This function can redirect your client to the Azure AD SAML sign-out endpoint. You can find this SAML sign-out endpoint at App Registrations > Endpoints.
384
+
You can add an SLO function to your application**signout** button. This function redirects the client to the Azure AD SAML signout endpoint. To locate SAML sign-out endpoint, go to **App Registrations > Endpoints**.
379
385
380
-
If you can't change the app, consider having BIG-IP listen for the app's sign-out call. When it detects the request, it should trigger SLO.
386
+
If you can't change the app, have the BIG-IP listen for the app sign-out call and trigger SLO.
387
+
388
+
Learn more:
381
389
382
-
For more information about using BIG-IP iRules to achieve this, see the following F5 articles:
383
390
*[K42052145: Configuring automatic session termination (logout) based on a URI-referenced file name](https://support.f5.com/csp/article/K42052145)
384
391
*[K12056: Overview of the Logout URI Include option](https://support.f5.com/csp/article/K12056)
385
392
393
+
## Published application
386
394
387
-
## Summary
388
-
389
-
Your application should now be published and accessible via secure hybrid access, either directly via the app's URL or through the Microsoft application portals.
395
+
Your application is published and accessible with SHA with the app URL or Microsoft portals.
390
396
391
-
The application should also be visible as a target resource in Azure AD CA. For more information, see [Building a Conditional Access policy](../conditional-access/concept-conditional-access-policies.md).
397
+
The application appears as a target resource in Conditional Access. Learn more: [Building a Conditional Access policy](../conditional-access/concept-conditional-access-policies.md)
392
398
393
-
For increased security, organizations that use this pattern could also consider blocking all direct access to the application, which then forces a strict path through the BIG-IP.
399
+
For increased security, block direct access to the application, enforcing a path through the BIG-IP.
394
400
395
-
## Next steps
401
+
## Test
396
402
397
-
From a browser, connect to the application's external URL or select the application's icon in the MyApps portal. After you authenticate to Azure AD, you’re redirected to the BIG-IP endpoint for the application and prompted for a password. Notice that the APM pre-fills the username with the UPN from Azure AD. The username that's pre-populated by the APM is read only to ensure session consistency between Azure AD and the back-end application. You can hide this field from view with an additional configuration, if necessary.
403
+
1. With a browser, connect to the application external URL, or in My Apps, select the application icon.
404
+
2. Authenticate to Azure AD.
405
+
3. You’re redirected to the BIG-IP endpoint for the application.
406
+
4. The password prompt appears.
407
+
5. The APM fills the username with the UPN from Azure AD. The username is read-only for session consistency. Hide this field, if needed.

400
410
401
-
After the information is submitted, users should be automatically signed in to the application.
411
+
6. The information is submitted
412
+
7. You are signed in to the application.
402
413
403
-

414
+

404
415
405
416
## Troubleshoot
406
417
407
-
Failure to access the secure hybrid access-protected application can result from any of several factors, including a misconfiguration. When you troubleshoot this issue, be aware of the following:
418
+
When troubleshooting, consider the following information
408
419
409
-
- FBA SSO is performed by the BIG-IP as it parses the logon form at the specified URI and looks for the username and password element tags that are defined in your configuration.
420
+
* BIG-IP performs FBA SSO as it parses the sign in form at the URI
421
+
* BIG-IP seeks the username and password element tags from your configuration
422
+
* Ensure element tags are consistent, or SSO fails
423
+
* Complex forms generated dynamically might require dev tool analysis to understand the sign in form
424
+
* Client-initiated is better for sign in pages with multiple forms
425
+
* You can specify form name and customize the JavaScript form handler logic
426
+
* Both FBA SSO methods optimize user experience and security by hiding form interactions:
427
+
* You can validate if the credentials are injected
428
+
* In client-initiated mode, disable form auto-submission in your SSO profile
429
+
* Use dev tools to disable the two style properties that prevent the sign in page from appearing
410
430
411
-
- Element tags need to be consistent, or SSO will fail. More complex forms that are generated dynamically might require you to analyze them closer by using dev tools to understand the makeup of the logon form.
431
+

412
432
413
-
- A client-initiated approach might be better suited for logon pages that contain multiple forms, because it lets you specify a form name and even customize the JavaScript form handler logic.
433
+
### Increase log verbosity
414
434
415
-
- Both FBA SSO methods optimize the user experience and security by hiding all form interactions. In some cases, though, it might be useful to validate whether the credentials are actually being injected. You can do this in client-initiated mode by disabling the form auto submit setting in your SSO profile and then using dev tools to disable the two style properties that prevent the logon page from being displayed.
435
+
BIG-IP logs contain information to isolating authentication and SSO issues. Increase the log verbosity level:
416
436
417
-

437
+
1. Go to **Access Policy** > **Overview**.
438
+
2. Select **Event Logs**.
439
+
3. Select **Settings**.
440
+
4. Select the row of your published application
441
+
5. Select **Edit**.
442
+
6. Select **Access System Logs**.
443
+
7. In the SSO list, select **Debug**.
444
+
8. Select **OK**.
445
+
9. Reproduce the issue.
446
+
10. Review the logs.
418
447
419
-
BIG-IP logs are a great source of information for isolating all sorts of authentication and SSO issues. When you troubleshoot an issue, you should increase the log verbosity level by doing the following:
448
+
Revert the settings otherwise there's excessive data.
420
449
421
-
1. Go to **Access Policy** > **Overview** > **Event Logs** > **Settings**.
450
+
### BIG-IP error message
422
451
423
-
1. Select the row for your published application, and then select **Edit** > **Access System Logs**.
452
+
If a BIG-IP error appears after Azure AD preauthentication, the issue might relate to Azure AD and BIG-IP SSO.
424
453
425
-
1. In the SSO list, select **Debug**, and then select **OK**. Reproduce your issue before you look at the logs, but remember to switch this setting back when you're finished.
454
+
1. Go to **Access** > **Overview**.
455
+
2. Select **Access reports**.
456
+
3. Run the report for the last hour
457
+
4. Review the logs for clues.
426
458
427
-
If you see a BIG-IP branded error immediately after successful Azure AD pre-authentication, it's possible that the issue relates to SSO from Azure AD to the BIG-IP.
459
+
Use the **View session variables** link for your session to determine if the APM receives expected Azure AD claims.
428
460
429
-
Go to **Access** > **Overview** > **Access reports**, and then run the report for the last hour to see whether the logs provide any clues. The **View session variables** link for your session will also help you understand whether the APM is receiving the expected claims from Azure AD.
461
+
### No BIG-IP error message
430
462
431
-
If you don't see a BIG-IP error page, the issue is probably more related to the back-end request or SSO from the BIG-IP to the
432
-
application. If this is the case, select **Access Policy** > **Overview** > **Active Sessions**, and then select the link for your active session.
463
+
If no BIG-IP error message appears, the issue might relate to the back-end request, or BIG-IP-to-application SSO.
433
464
434
-
The **View Variables** link in this location might also help determine the root cause, particularly if the APM fails to obtain the right user identifier and password.
465
+
1. Select **Access Policy** > **Overview**.
466
+
2. Select **Active Sessions**.
467
+
3. Select the active session link.
435
468
436
-
For more information, see the F5 BIG-IP [Session Variables reference](https://techdocs.f5.com/en-us/bigip-15-0-0/big-ip-access-policy-manager-visual-policy-editor/session-variables.html).
469
+
Use the **View Variables** link in this location to help determine root cause, particularly if the APM fails to obtain correct user identifier and password.
437
470
438
-
## Additional resources
471
+
To learn more, go to techdocs.f5.com for [Manual Chapter: Session Variables](https://techdocs.f5.com/en-us/bigip-15-0-0/big-ip-access-policy-manager-visual-policy-editor/session-variables.html).
439
472
440
-
*[Active Directory Authentication](https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-authentication-single-sign-on-11-5-0/2.html) (F5 article about BIG-IP advanced configuration)
441
-
442
-
*[Forget passwords, go passwordless](https://www.microsoft.com/security/business/identity/passwordless)
473
+
## Resources
443
474
475
+
* Go to techdocs.f5.com for [Manual Chapter: Active Directory Authentication](https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-authentication-single-sign-on-11-5-0/2.html)
0 commit comments