Skip to content

Commit a1c0673

Browse files
authored
Update f5-big-ip-kerberos-easy-button.md
1 parent d34ae12 commit a1c0673

File tree

1 file changed

+34
-52
lines changed

1 file changed

+34
-52
lines changed

articles/active-directory/manage-apps/f5-big-ip-kerberos-easy-button.md

Lines changed: 34 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.subservice: app-mgmt
99
ms.topic: how-to
1010
ms.workload: identity
11-
ms.date: 11/16/2022
11+
ms.date: 12/14/2022
1212
ms.author: gasinh
1313
ms.collection: M365-identity-device-management
1414
---
@@ -41,19 +41,14 @@ A BIG-IP in front of the application enables overlay of the service with Azure A
4141

4242
The secure hybrid access (SHA) solution for this scenario has the following components:
4343

44-
**Application:** BIG-IP published service to be protected by Azure AD SHA. The application host is domain-joined, therefore is integrated with Active Directory (AD).
45-
46-
**Azure AD:** Security Assertion Markup Language (SAML) Identity Provider (IdP) responsible for verifying user credentials, Conditional Access (CA), and SAML-based SSO to the BIG-IP. Through SSO, Azure AD provides BIG-IP with required session attributes.
47-
48-
**KDC:** Key Distribution Center (KDC) role on a Domain Controller (DC), issuing Kerberos tickets
49-
50-
**BIG-IP:** Reverse proxy and SAML service provider (SP) to the application, delegating authentication to the SAML IdP before performing Kerberos-based SSO to the back-end application.
44+
* **Application:** BIG-IP published service to be protected by Azure AD SHA. The application host is domain-joined, therefore is integrated with Active Directory (AD).
45+
* **Azure AD:** Security Assertion Markup Language (SAML) identity provider (IdP) that verifies user credentials, Conditional Access (CA), and SAML-based SSO to the BIG-IP. Through SSO, Azure AD provides BIG-IP with required session attributes.
46+
* **KDC:** Key Distribution Center (KDC) role on a Domain Controller (DC), issuing Kerberos tickets
47+
* **BIG-IP:** Reverse proxy and SAML service provider (SP) to the application, delegating authentication to the SAML IdP before performing Kerberos-based SSO to the back-end application.
5148

5249
SHA for this scenario supports SP- and IdP-initiated flows. The following image illustrates the SP flow.
5350

54-
![Scenario architecture](./media/f5-big-ip-kerberos-easy-button/scenario-architecture.png)
55-
56-
## User flow
51+
![Diagram of the scenario service provider flow.](./media/f5-big-ip-kerberos-easy-button/scenario-architecture.png)
5752

5853
1. User connects to application endpoint (BIG-IP)
5954
2. BIG-IP APM access policy redirects user to Azure AD (SAML IdP)
@@ -67,40 +62,30 @@ SHA for this scenario supports SP- and IdP-initiated flows. The following image
6762

6863
Prior BIG-IP experience isn’t necessary, but you need:
6964

70-
* An [Azure AD free](https://azure.microsoft.com/free/active-directory/) subscription or above
71-
65+
* An [Azure free account](https://azure.microsoft.com/free/active-directory/), or higher
7266
* A BIG-IP or [deploy a BIG-IP Virtual Edition (VE) in Azure](./f5-bigip-deployment-guide.md)
73-
7467
* Any of the following F5 BIG-IP licenses:
75-
7668
* F5 BIG-IP® Best bundle
77-
7869
* F5 BIG-IP APM standalone
79-
8070
* F5 BIG-IP APM add-on license on a BIG-IP F5 BIG-IP® Local Traffic Manager™ (LTM)
81-
8271
* 90-day BIG-IP [Free Trial](https://www.f5.com/trial/big-ip-trial.php) license
83-
8472
* User identities [synchronized](../hybrid/how-to-connect-sync-whatis.md) from an on-premises directory to Azure AD, or created in Azure AD and flowed back to your on-premises directory
85-
86-
* An account with Azure AD Application admin [permissions](/azure/active-directory/users-groups-roles/directory-assign-admin-roles#application-administrator)
87-
88-
* An [SSL Web certificate](./f5-bigip-deployment-guide.md) for publishing services over HTTPS, or use default BIG-IP certificates while testing
89-
73+
* An account with Azure AD Application Admin [permissions](/azure/active-directory/users-groups-roles/directory-assign-admin-roles#application-administrator)
74+
* An [SSL Web certificate](./f5-bigip-deployment-guide.md) for publishing services over HTTPS, or use the default BIG-IP certificates while testing
9075
* A Kerberos application, or go to active-directory-wp.com to learn to configure [SSO with IIS on Windows](https://active-directory-wp.com/docs/Networking/Single_Sign_On/SSO_with_IIS_on_Windows.html).
9176

9277
## BIG-IP configuration methods
9378

9479
This tutorial covers the latest Guided Configuration 16.1 with an Easy Button template. With the Easy Button, Admins don't go back and forth between Azure AD and a BIG-IP to enable services for SHA. The deployment and policy management is handled by the APM Guided Configuration wizard and Microsoft Graph. This integration between BIG-IP APM and Azure AD ensures applications support identity federation, SSO, and Azure AD Conditional Access, reducing administrative overhead.
9580

9681
>[!NOTE]
97-
> Example strings or values in this article should be replaced with those for your actual environment.
82+
> Replace example strings or values in this article with those for your environment.
9883
9984
## Register Easy Button
10085

10186
Before a client or service can access Microsoft Graph, it must be trusted by the [Microsoft identity platform.](../develop/quickstart-register-app.md). This action creates a tenant app registration to authorize Easy Button access to Graph. Through these permissions, the BIG-IP pushes the configurations to establish a trust between a SAML SP instance for published application, and Azure AD as the SAML IdP.
10287

103-
1. Sign in to the [Azure AD portal](https://portal.azure.com/) using an account with Application Administrative rights.
88+
1. Sign in to the [Azure portal](https://portal.azure.com/) using an account with Application Admin permissions.
10489
2. From the left navigation pane, select the **Azure Active Directory** service.
10590
3. Under Manage, select **App registrations > New registration**.
10691
4. Enter a display name for your application. For example, F5 BIG-IP Easy Button.
@@ -129,15 +114,15 @@ Initiate the APM Guided Configuration to launch the Easy Button template.
129114

130115
1. Navigate to **Access > Guided Configuration > Microsoft Integration** and select **Azure AD Application**.
131116

132-
![Screenshot for Configure Easy Button- Install the template](./media/f5-big-ip-easy-button-ldap/easy-button-template.png)
117+
![Screenshot of the Azure AD Application option on Guided Configuration.](./media/f5-big-ip-easy-button-ldap/easy-button-template.png)
133118

134119
2. Review the configuration steps and select **Next**
135120

136-
![Screenshot for Configure Easy Button - List configuration steps](./media/f5-big-ip-easy-button-ldap/config-steps.png)
121+
![Screenshot of the Next option.](./media/f5-big-ip-easy-button-ldap/config-steps.png)
137122

138123
3. Follow the steps to publish your application.
139124

140-
![Configuration steps flow](./media/f5-big-ip-easy-button-ldap/config-steps-flow.png#lightbox)
125+
![Screenshot of the configuration flow, on Guided Configuration.](./media/f5-big-ip-easy-button-ldap/config-steps-flow.png#lightbox)
141126

142127
### Configuration Properties
143128

@@ -149,7 +134,7 @@ Some settings are global, which can be reused for publishing more applications,
149134
2. Enable **Single Sign-On (SSO) & HTTP Headers**.
150135
3. Enter the **Tenant ID**, **Client ID**, and **Client Secret** you noted when registering the Easy Button client in your tenant.
151136

152-
![Screenshot for Configuration General and Service Account properties](./media/f5-big-ip-kerberos-easy-button/azure-configuration-properties.png)
137+
![Screenshot of Configuration Name, SSO and HTTP Headers, and Azure Service Account Details entries.](./media/f5-big-ip-kerberos-easy-button/azure-configuration-properties.png)
153138

154139
4. Confirm the BIG-IP connects to your tenant.
155140
5. Select **Next**.
@@ -161,64 +146,64 @@ The Service Provider settings are the properties for the SAML SP instance of the
161146
1. For **Host**, enter the public FQDN of the application being secured.
162147
2. For **Entity ID**, enter the identifier Azure AD uses to identify the SAML SP requesting a token.
163148

164-
![Screenshot for Service Provider settings](./media/f5-big-ip-kerberos-easy-button/service-provider.png)
149+
![Screenshot if Host and Entity ID entries on Service Provider.](./media/f5-big-ip-kerberos-easy-button/service-provider.png)
165150

166151
The optional **Security Settings** specify whether Azure AD encrypts issued SAML assertions. Encrypting assertions between Azure AD and the BIG-IP APM provides more assurance the content tokens can’t be intercepted, and personal or corporate data can't be compromised.
167152

168153
3. From the **Assertion Decryption Private Key** list, select **Create New**.
169154

170-
![Screenshot for Configure Easy Button- Create New import](./media/f5-big-ip-oracle/configure-security-create-new.png)
155+
![Screenshot of the Create New option on Security Settings.](./media/f5-big-ip-oracle/configure-security-create-new.png)
171156

172157
4. Select **OK**. The **Import SSL Certificate and Keys** dialog appears.
173158
5. Select **PKCS 12 (IIS)** to import your certificate and private key.
174159
6. After provisioning, close the browser tab to return to the main tab.
175160

176-
![Screenshot for Configure Easy Button- Import new cert](./media/f5-big-ip-oracle/import-ssl-certificates-and-keys.png)
161+
![Screenshot of Import Type, Certificate and Key Name, Certificate and Key Source, and Password entries](./media/f5-big-ip-oracle/import-ssl-certificates-and-keys.png)
177162

178163
7. Check **Enable Encrypted Assertion**.
179164
8. If you enabled encryption, select your certificate from the **Assertion Decryption Private Key** list. This private key is for the certificate that BIG-IP APM uses to decrypt Azure AD assertions.
180165
9. If you enabled encryption, select your certificate from the **Assertion Decryption Certificate** list. BIG-IP uploads this certificate to Azure AD to encrypt the issued SAML assertions.
181166

182-
![Screenshot for Service Provider security settings](./media/f5-big-ip-kerberos-easy-button/service-provider-security-settings.png)
167+
![Screenshot of Assertion Decryption Private Key and Assertion Decryption Certificates entries.](./media/f5-big-ip-kerberos-easy-button/service-provider-security-settings.png)
183168

184169
### Azure Active Directory
185170

186171
This section defines properties to manually configure a new BIG-IP SAML application in your Azure AD tenant. Easy Button has application templates for Oracle PeopleSoft, Oracle E-business Suite, Oracle JD Edwards, SAP ERP, and an SHA template for other apps.
187172

188173
For this scenario, select **F5 BIG-IP APM Azure AD Integration > Add.**
189174

190-
![Screenshot for Azure configuration add BIG-IP application](./media/f5-big-ip-kerberos-easy-button/azure-config-add-app.png)
175+
![Screenshot of the Add option, under Configuration Properties, on Azure Configuration.](./media/f5-big-ip-kerberos-easy-button/azure-config-add-app.png)
191176

192177
#### Azure Configuration
193178

194179
1. Enter a **Display Name** for the app that BIG-IP creates in your Azure AD tenant, and the icon in [MyApps portal](https://myapplications.microsoft.com/).
195180
2. Leave the **Sign On URL** (optional) blank to enable IdP initiated sign-on.
196181

197-
![Screenshot for Azure configuration add display info](./media/f5-big-ip-kerberos-easy-button/azure-config-display-name.png)
182+
![Screenshot of the Display Name entry, under Configuration Properties, on Azure Configuration.](./media/f5-big-ip-kerberos-easy-button/azure-config-display-name.png)
198183

199184
3. Select the **refresh** icon next to the **Signing Key** and **Signing Certificate** to locate the certificate you imported.
200185
4. In **Signing Key Passphrase**, enter the certificate password.
201186
5. Enable **Signing Option** (optional) to ensure BIG-IP accepts tokens and claims signed by Azure AD.
202187

203-
![Screenshot for Azure configuration - Add signing certificates info](./media/f5-big-ip-easy-button-ldap/azure-configuration-sign-certificates.png)
188+
![Screenshot of Signing Key, Signing Certificate, and Signing Key Passphrase on SAML Signing Certificate.](./media/f5-big-ip-easy-button-ldap/azure-configuration-sign-certificates.png)
204189

205190
6. **User and User Groups** are dynamically queried from your Azure AD tenant and authorize access to the application. Add a user or group for testing, otherwise all access is denied.
206191

207-
![Screenshot for Azure configuration - Add users and groups](./media/f5-big-ip-kerberos-easy-button/azure-configuration-add-user-groups.png)
192+
![Screenshot of the Add option on Users And User Groups.](./media/f5-big-ip-kerberos-easy-button/azure-configuration-add-user-groups.png)
208193

209194
#### User Attributes & Claims
210195

211196
When a user authenticates to Azure AD, it issues a SAML token with a default set of claims and attributes identifying the user. The **User Attributes & Claims** tab shows the default claims to issue for the new application. Use it to configure more claims.
212197

213198
The AD infrastructure is based on a .com domain suffix used internally and externally. More attributes aren't required to achieve a functional KCD SSO implementation. See the [advanced tutorial](./f5-big-ip-kerberos-advanced.md) for multiple domains or user sign-in using an alternate suffix.
214199

215-
![Screenshot for user attributes and claims](./media/f5-big-ip-kerberos-easy-button/user-attributes-claims.png)
200+
![Screenshot of User Attributes and Claims.](./media/f5-big-ip-kerberos-easy-button/user-attributes-claims.png)
216201

217202
#### Additional User Attributes
218203

219204
The **Additional User Attributes** tab supports various distributed systems requiring attributes stored in other directories, for session augmentation. Attributes fetched from an LDAP source can be injected as SSO headers to help control access based on roles, Partner IDs, etc.
220205

221-
![Screenshot for additional user attributes](./media/f5-big-ip-kerberos-easy-button/additional-user-attributes.png)
206+
![Screenshot of Additional User Attributes.](./media/f5-big-ip-kerberos-easy-button/additional-user-attributes.png)
222207

223208
>[!NOTE]
224209
>This feature has no correlation to Azure AD but is another source of attributes.
@@ -238,7 +223,7 @@ To select a policy to apply to the application being published:
238223

239224
Selected policies need an **Include** or **Exclude** option checked. If both options are checked, the selected policy isn't enforced.
240225

241-
![Screenshot for CA policies](./media/f5-big-ip-kerberos-easy-button/conditional-access-policy.png)
226+
![Screenshot of excluded Conditional Access policies, under Selected Policies, on Conditional Access Policy.](./media/f5-big-ip-kerberos-easy-button/conditional-access-policy.png)
242227

243228
>[!NOTE]
244229
>The policy list appears once, after switching to this tab. You can use the **refresh** button to manually force the wizard to query your tenant, but this button appears after the application is deployed.
@@ -252,7 +237,7 @@ A virtual server is a BIG-IP data plane object represented by a virtual IP addre
252237
3. Check **Enable Redirect Port** and then enter **Redirect Port**, which redirects incoming HTTP client traffic to HTTPS.
253238
4. The Client SSL Profile enables the virtual server for HTTPS, so client connections are encrypted over TLS. Select the **Client SSL Profile** you created for prerequisites, or leave the default if you're testing.
254239

255-
![Screenshot for Virtual server](./media/f5-big-ip-kerberos-easy-button/virtual-server.png)
240+
![Screenshot of Destination Address, Service Port, and Common entries, on Virtual Server Properties.](./media/f5-big-ip-kerberos-easy-button/virtual-server.png)
256241

257242
### Pool Properties
258243

@@ -262,7 +247,7 @@ The **Application Pool** tab shows the services behind a BIG-IP, represented as
262247
2. Choose a **Load Balancing Method**, such as Round Robin.
263248
3. For **Pool Servers** select a server node, or specify an IP and port for the back-end node hosting the header-based application.
264249

265-
![Screenshot for Application pool](./media/f5-big-ip-oracle/application-pool.png)
250+
![Screenshot of IP Address/Node Name, and Port entries on Pool Properties.](./media/f5-big-ip-oracle/application-pool.png)
266251

267252
The back-end application runs on HTTP port 80. You can switch the port to 443, if your application runs on HTTPS.
268253

@@ -276,17 +261,14 @@ Enable **Kerberos** and **Show Advanced Setting** to enter the following:
276261

277262
* **User Realm Source:** Required if the user domain differs from the BIG-IP Kerberos realm. In that case, the APM session variable contains the logged-in user domain. For example,*session.saml.last.attr.name.domain*
278263

279-
![Screenshot for SSO and HTTP headers](./media/f5-big-ip-kerberos-easy-button/sso-headers.png)
280-
281-
* **KDC:** IP of a Domain Controller, or FQDN if DNS is configured and efficient
264+
![Screenshot of the Username Source entry on Single Sign On and HTTP Headers.](./media/f5-big-ip-kerberos-easy-button/sso-headers.png)
282265

266+
* **KDC:** Domain Controller IP, or FQDN if DNS is configured and efficient
283267
* **UPN Support:** Enable this option for the APM to use the UPN for Kerberos ticketing
284-
285268
* **SPN Pattern:** Use HTTP/%h to inform the APM to use the host header of the client request, and build the SPN for which it's requesting a Kerberos token
286-
287269
* **Send Authorization:** Disable for applications that negotiate authentication instead of receiving the kerberos token in the first request. For example, Tomcat.
288270

289-
![Screenshot for SSO method configuration](./media/f5-big-ip-kerberos-easy-button/sso-method-config.png)
271+
![Screenshot of entries for SSO Method Configuration](./media/f5-big-ip-kerberos-easy-button/sso-method-config.png)
290272

291273
### Session Management
292274

@@ -388,7 +370,7 @@ For more information, see [Kerberos Constrained Delegation across domains](/prev
388370

389371
From a browser, connect to the application external URL or select the **application** icon in the [Microsoft MyApps portal](https://myapps.microsoft.com/). After authenticating to Azure AD, you're redirected to the BIG-IP virtual server for the application and signed in through SSO.
390372

391-
![Screenshot for App views](./media/f5-big-ip-kerberos-easy-button/app-view.png)
373+
![Screenshot of the application's external URL](./media/f5-big-ip-kerberos-easy-button/app-view.png)
392374

393375
For increased security, organizations using this pattern can block direct access to the application, thereby forcing a strict path through the BIG-IP.
394376

@@ -404,7 +386,7 @@ Alternatively, in BIG-IP you can disable the Guided Configuration strict managem
404386

405387
You can navigate to **Access > Guided Configuration** and select the small **padlock** icon on the far-right of the row for your applications configs.
406388

407-
![Screenshot for Configure Easy Button - Strict Management](./media/f5-big-ip-oracle/strict-mode-padlock.png)
389+
![Screenshot of the padlock option.](./media/f5-big-ip-oracle/strict-mode-padlock.png)
408390

409391
At this point, changes with the wizard UI aren't possible, but all BIG-IP objects associated with the published instance of the application are unlocked for management.
410392

@@ -443,7 +425,7 @@ If a BIG-IP error appears after Azure AD pre-authentication, the issue might rel
443425

444426
If no error page appears, the issue is probably related to the back-end request, or SSO from the BIG-IP to the application.
445427

446-
1. Navigate to **Access Policy > Overview > Active Sessions**.\
428+
1. Navigate to **Access Policy > Overview > Active Sessions**.
447429
2. Select the link for your active session. The **View Variables** link in this location can help determine root cause KCD issues, particularly if the BIG-IP APM fails to obtain the right user and domain identifiers from session variables.
448430

449431
For more information, see:

0 commit comments

Comments
 (0)