Welcome to Azure AD Easy Button integration lab guide¶
Publish and protect on-prems apps with Azure AD as identity provider¶
Warning
For any remark or mistake in this lab, please send a Teams chat to Matthieu DIERICK.
In this lab, you will learn how to connect APM to Azure AD as IDaaS. Since v15.1, you can enable APM as SAML SP and Azure AD as SAML IDP. In this lab, we will use the new Easy Button Guided Configuration template. This template:
Publish on-prems apps
Enable Single Sign on
Interconnect (SAML binding) APM with Azure AD tenant
Note
You will notice we will never connect to Azure AD interface. APM will use Microsoft Graph API to configure AAD tenant accordingly.

In the video below, you can see the use case. This is not the lab video, it is the public facing use case demo.
Class 1 - Check the Lab Architecture¶
In this class, we will protect 3 apps:
2 internal apps
Vanilla
Application hosted in IISSkyblue
Application hosted in IIS
1 cloud app hosted in Azure cloud
Wordpress-UDF
hosted in Azure cloud

Class 1 - All sections
Architecture of Internal Apps¶
Bluesky application¶
This application resides on-prems in IIS server. Its FQDN is https://bluesky.f5access.onmicrosoft.com
This application is not authenticated, meaning there is no Single Sign on required in front of this app.

Vanilla application¶
This application resides on-prems in IIS server. Its FQDN is https://vanilla.f5access.onmicrosoft.com
This application is authenticated by Kerberos. So a Signle Sign On will be required to connect to this app.

Check IIS configuration
RDP to IIS with
f5access\user
as user, anduser
as passwordClick
IIS manager
icon in the taskbarIn the Connections tree, click on
vanilla
andAuthentication
You can notice
Anonymous Auth
is Disabled andWindows Authentication
is Enabled
Note
In the next class we will configure APM to publish, protect and SSO to internal apps.
Architecture of Cloud App¶
Note
In this use case, we don’t cover only internal, sensitive or legacy applications. In a real world, customers have applications on-prems and in the public cloud.
Note
A Wordpress application is already up and running in Azure Cloud at this address https://wordpress-apm-aad.azurewebsites.net/

This Wordpress application is an Azure App Service.
This App Service is already bound with our demo Azure AD tenant.
Warning
It is important to note this application is not tied to APM. APM only publishes and protects on-prems apps. All other cloud and SaaS apps are directly connected to Azure AD.
Class 2 - Deploy APM to protect on-prems apps¶
In this class, we will publish Vanilla
and Bluesky
applications hosted on-prems.
To do so, we will use Guided Configuration template Azure AD Application

Class 2 - All sections
Publish and protect Bluesky app¶
Let’s start with Bluesky
application. Reminder, Bluesky does not have any Authentication
enabled.
Connect to BIG-IP HTTPS user interface from UDF as
admin
and passwordadmin
In
Access
>Guided Configuration
, selectMicrosoft Integration
>Azure AD application
Configuration Properties¶
Click
Next
and start the configurationConfigure the page as below
Configuration Name :
IIS-Bluesky-<My Name>
Why my name ? Because this app will be created in Azure AD tenant. And we need to differentiate all apps. Example :IIS-Bluesky-Matt
In
Azure Service Account Details
, SelectCopy Account Info form Existing Configuration
, and selectIIS-baseline
, then clickCopy
Note
In a real world, you will set here the values from the Azure Service Application created for APM. You have to create an Azure Application so that APM gets access to Microsoft Graph API. But for security concerns, I can’t show in this lab the application secret.
Note
The steps to create this Azure applications are below
In Azure AD, create a service application under your organization’s tenant directory using App Registration.
Register the App as Azure AD only single-tenant.
Request permissions for Microsoft Graph APIs and assign the following permissions to the application:
Application.ReadWrite.All
Application.ReadWrite.OwnedBy
Directory.Read.All
Group.Read.All
Policy.Read.All
Policy.ReadWrite.ApplicationConfiguration
User.Read.All
Grant admin consent for your organization’s directory.
Copy the Client ID, Client Secret, and Tenant ID and add them to the Azure AD Application configuration.
Click
Test Connection
button –> Connection is validClick
Next
Service Provider¶
Azure Active Directory¶
Select
Azure BIG-IP APM Azure AD...
templateNote
As you can notice, there are several templates available for different applications. Here, in this lab, we will publish a generic app. So we select the first template.
Click
Add
In the new screen, configure as below
Signing Key :
default.key
Signing Certificate :
default.crt
Signing Key Passphrase :
F5twister$
In
User And User Groups
, clickAdd
Note
We have to assign Azure AD users/group to this app, so that they can be allowed to connect to it.
In the list, click
Add
for the useruser1
. If you can’t find it, search for it in thesearch
field.Click
Close
You can see
user1
in the list.Click
Save & Next
Virtual Server Properties¶
Configure the VS as below
IP address :
10.1.10.104
ClientSSL
profile. We will get a TLS warning in the browser, but it does not matter for this lab.
Click
Save & Next
Pool Properties¶
Select
Create New
In Pool Servers, select
/Common/10.1.20.9
This is the IIS server.
Session Management Properties¶
Nothing to change, click
Save & Next
Deploy your app template¶
Click
Deploy
Behind the scene, the deployment creates an
Azure Enterprise Application
forBluesky
. We can see it inAzure portal
(you don’t have access in this lab). With this Enterprise Application, Azure knows where to redirect the user when authenticated. And this app has the certificate and key used to sign the SAML assertion.
Test your deployment¶
RDP to Win10 machine as
user
and passworduser
Open
Microsoft Edge
browser - icon is on the DesktopClick on the
bookmark
Bluesky
You will be redirected to Azure AD login page. Login as
user1@f5access.onmicrosoft.com
, and for the password please ask to your instructor.You are redirected to APM with a SAML assertion, and can access to Bluesky application
Publish and protect Vanilla app¶
Let’s continue with Vanilla
application. Reminder, Vanilla application as Authentication
enabled with Kerberos auth. So, we will need to enable Kerberos Constrained Delegation
.
Connect to BIG-IP HTTPS user interface from UDF as
admin
and passwordadmin
In
Access
>Guided Configuration
, selectMicrosoft Integration
>Azure AD application
Note
As you can notice, we deploy one template per application
Configuration Properties¶
Click
Next
and start the configurationConfigure the page as below
Configuration Name :
IIS-Vanilla-<My Name>
Why my name ? Because this app will be created in Azure AD tenant. And we need to differentiate all apps.Enable
Single Sign-on (SSO)
In
Azure Service Account Details
, SelectCopy Account Info form Existing Configuration
, and selectIIS-baseline
, then clickCopy
Note
In a real world, you will set here the values from the Azure Service Application created for APM. You have to create an Azure Application so that APM get access to Microsoft Graph API. But for security concerns, I can’t show in this lab the application secret.
Note
The steps to create this Azure applications are below
In Azure AD, create a service application under your organization’s tenant directory using App Registration.
Register the App as Azure AD only single-tenant.
Request permissions for Microsoft Graph APIs and assign the following permissions to the application:
Application.ReadWrite.All
Application.ReadWrite.OwnedBy
Directory.Read.All
Group.Read.All
Policy.Read.All
Policy.ReadWrite.ApplicationConfiguration
User.Read.All
Grant admin consent for your organization’s directory.
Copy the Client ID, Client Secret, and Tenant ID and add them to the Azure AD Application configuration.
Click
Test Connection
button –> Connection is validClick Next
Service Provider¶
Azure Active Directory¶
Select
Azure BIG-IP APM Azure AD...
templateNote
As you can notice, there are several templates available for different applications. Here, in this lab, we will publish a generic app. So we select the first template.
Click
Add
In the new screen, configure as below.
Signing Key :
default.key
Signing Certificate :
default.crt
Signing Key Passphrase :
F5twister$
In
User And User Groups
, clickAdd
Note
We have to assign Azure AD users/group to this app, so that they can be allowed to connect to it.
In the list, click
Add
for the useruser1
. If you can’t find it, search for it in thesearch
field.Click
Close
You can see
user1
in the list.Click
Save & Next
Virtual Server Properties¶
Configure the VS as below
IP address :
10.1.10.103
ClientSSL
profile. We will get a TLS warning in the browser, but it does not matter for this lab.
Click
Save & Next
Pool Properties¶
Select
Create New
In Pool Servers, select
/Common/10.1.20.9
This is the IIS server.
Single Sign-On Settings¶
In
Selected Single Sign-on Type
, selectKerberos
, and selectAdvanced Settings
In
Credentials Source
, fill as belowUsername Source :
session.saml.last.identity
Delete User Realm Source value - keep it empty. The domain is similar between Azure AD and on-prems AD.
In
SSO Method Configuration
, fill as belowKerberos Realm :
f5access.onmicrosoft.com
Account name :
host/apm-deleg.f5access.onmicrosoft.com
Account Password :
F5twister$
KDC :
10.1.20.8
UPN Support :
Enaled
SPN Pattern :
HTTP/%s@f5access.onmicrosoft.com
Click
Save & Next
Session Management Properties¶
Nothing to change, click
Save & Next
Deploy your app template¶
Click
Deploy
Behind the scene, the deployment creates an
Azure Enterprise Application
forBluesky
. We can see it inAzure portal
(you don’t have access in this lab). With this Enterprise Application, Azure knows where to redirect you when authenticated. And this app has the certificate and key used to sign the SAML assertion.
Test your deployment¶
RDP to Win10 machine as
user
and passworduser
Open
Microsoft Edge
browser - icon is on the DesktopClick on the
bookmark
Vanilla
You will be redirected to Azure AD login page - only if your previous session with
Bluesky
expired in APM. Login asuser1@f5access.onmicrosoft.com
, and for the password please ask to your instructor (if you are prompted). But as you already authenticated against Azure AD, you still have a session in Azure AD.You are redirected to APM with a SAML assertion, and can access to Vanilla application.
APM did
Single Sign-on
with Vanilla application (Kerberos Constrained Delegation)Click
Bluesky
bookmark, you can accessBluesky
application as well.Extra lab, enable
Inspect mode
in Edge, and follow the SAML redirections to understand the workflow.
Class 3 - Leverage Azure AD to protect Cloud Apps¶
In this class, we will check that user1
can access any cloud app federated with Azure AD.
The current config¶
In a real world, companies deploy applications on-prems
and in public clouds
. If the company uses Azure AD as IDaaS, it will federate all cloud apps with this Azure AD tenant.
This is what we prepared for you in this lab. This application is federated with our Azure AD tenant.
You have nothing to configure on APM side, as everything is dealed between the cloud app
and Azure AD
. In Azure portal, we configured Oauth
for the cloud app, so that every user reaching this app will be redirected to Azure login page.
Test your deployment¶
RDP to Win10 machine as
user
and passworduser
Open
Microsoft Edge
browser - icon is on the DesktopClick on the
bookmark
Wordpress Cloud App
You will be redirected to Azure AD login page (it can take a while - look at the address bar). Login as
user1@f5access.onmicrosoft.com
, and for the password please ask to your instructor (if prompted). You already have a session up and running in Azure AD, from previous class.You are redirected to the
cloud app
in Azure cloud, and can access to Wordpress-UDF application.
Class 4 - Enable MFA¶
Warning
You can not run this class without a F5 SA or F5 SME-UA lead. Please reach out to your local SA/SME-UA lead in order to activate an temporary account for you.
EMEA : Matthieu
USA : Jason or Shannon
APCJ : Shain
In this class, we will use another user account (created by SA/SME-UA), with MFA enabled for this account.
Let’s say, a SA/SME created the account matt@f5access.onmicrosoft.com
for me. Then he enabled the MFA for this account.
Class 4 - All sections
Procedure for SA/SME¶
Warning
Only SA and SME-UA with administrator role on this demo tenant, can create users. If you are not a SA or SME lead, move to the next section.
Connect to Azure Portal and select F5access tenant
Go to
Azure Active Directory
>Users
Click
Create new
Enter the information, and click
Create
Click on
Multi-Factor Authentication
Enable MFA
for the created user
Test your deployment with MFA enabled¶
Warning
You should have received an email or teams chat from your SA/SME to continue.
Close any opened browser and re-open
Microsoft Edge
Connect to
Bluesky
. Don’t try withVanilla
as your MFA test account does not exist in on-prem AAD. Thus, the SSo will not work. You can add this user in ADDS if you are confident with AD.If you are not prompted at Azure AD login page, open an
incognito window
. It means you still have Azure AD cookies from previous session with ``user1``account.At prompt, login with your MFA account. In my case,
matt@f5access.onmicrosoft.com
and the password provided by your SA/SMEYou will be asked to enroll and select an MFA method
Click
Next
You have the choice to use the
Microsoft Authenticator
mobile app, or useSMS
. Make your choice and follow the step to enroll your device (or phone number)I select the
mobile app
, scan theQR code
, andapprove
the push notification on my mobile phone.I click
Next
andDone
Azure AD asks you to
change your password
set by your SA/SME.When done, and redirected to
Bluesky
, you can notice it does not work. The user has to be assigned with theBluesky
app.In the BIG-IP, edit the
ISS-Bluesky-<my name>
template, and inAzure Active Directory
step, add your account.Click
Save and Next
andDeploy
Make a new test, approve the
push notification
or enter theOTP
received by SMS.
Note
This lab is not Azure AD Conditional Access. This is just user MFA. Conditional Access is similar but it is tied to a policy (group, location, app …). In this lab, matt
will be prompted for MFA whatever the apps he connects to.
Class 5 - Clean up the lab¶
Warning
In order to keep the Azure AD tenant clean, it is important you delete your application in Guided Configuration, when your demo is finished.
In Guided Configuration menu, click on the
Undeploy
icon, thenOK
When finished, click on
Delete
icon
Note
Thanks a lot, you cleaned up your config on both sides (APM and AAD). FYI, all old deployments will be deleted automatically in Azure AD.