Skip to content

Commit bac7ab8

Browse files
authored
Merge pull request #184426 from MicrosoftDocs/master
Merge Master to Live, 4 AM
2 parents 7eb0c06 + 11be9ef commit bac7ab8

File tree

44 files changed

+4554
-3565
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+4554
-3565
lines changed

articles/active-directory/manage-apps/f5-big-ip-header-advanced.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
title: Configure F5 BIG-IP Access Policy Manager for header-based SSO
33
description: Learn how to configure F5's BIG-IP Access Policy Manager (APM) and Azure Active Directory SSO for header-based authentication
44
services: active-directory
5-
author: gargi-sinha
5+
author: NishthaBabith-V
66
manager: martinco
77
ms.service: active-directory
88
ms.subservice: app-mgmt
99
ms.topic: how-to
1010
ms.workload: identity
1111
ms.date: 11/10/2021
12-
ms.author: gasinh
12+
ms.author: v-nisba
1313
ms.collection: M365-identity-device-management
1414
---
1515

1616
# Tutorial: Configure F5 BIG-IP’s Access Policy Manager for header-based SSO
1717

18-
In this tutorial, you'll learn how to configure F5's BIG-IP Access Policy Manager (APM) and Azure Active Directory (Azure AD) for secure hybrid access to header-based applications.
18+
In this article, youll learn to implement Secure Hybrid Access (SHA) with single sign-on (SSO) to header-based applications using F5’s BIG-IP advanced configuration.
1919

2020
Configuring BIG-IP published applications with Azure AD provides many benefits, including:
2121

@@ -30,20 +30,20 @@ To learn about all of the benefits, see the article on [F5 BIG-IP and Azure AD i
3030

3131
## Scenario description
3232

33-
For this scenario, we have an internal application whose access relies on receiving HTTP authorization headers from a legacy broker system. This enables users to be directed to their respective areas of content.
33+
For this scenario, we have a legacy application using HTTP authorization headers to control access to protected content.
3434

35-
The ideal scenario is to have the application managed and governed directly through Azure AD. However, as it lacks any form of modern protocol interop, it would take considerable effort and time to modernize, introducing inevitable costs and risks of potential downtime.
35+
Ideally, application access should be managed directly by Azure AD but being legacy it lacks any form of modern authentication protocol. Modernization would take considerable effort and time, introducing inevitable costs and risk of potential downtime. Instead, a BIG-IP deployed between the public internet and the internal application will be used to gate inbound access to the application.
3636

37-
Instead, a BIG-IP Virtual Edition (VE) deployed between the public internet and the internal Azure VNet the application is connected to will be used. It will enable to gate inbound access, with Azure AD for its extensive choice of authentication and authorization capabilities.
37+
Having a BIG-IP in front of the application enables us to overlay the service with Azure AD pre-authentication and header-based SSO, significantly improving the overall security posture of the application.
3838

39-
Having a BIG-IP in front of the application enables to overlay the service with Azure AD pre-authentication and header-based SSO. It significantly improves the overall security posture of the application, allowing the business to continue operating at pace, without interruption.
4039

41-
The secure hybrid access solution for this scenario is made up of the following components:
40+
## Scenario architecture
4241

43-
- **Application**: Backend service to be protected by Azure AD and BIG-IP secure hybrid access
42+
The secure hybrid access solution for this scenario is made up of:
4443

45-
- **Azure AD**: The SAML Identity Provider (IdP), responsible for
46-
verification of user credentials, Conditional Access (CA), and SSO to the BIG-IP APM.
44+
- **Application**: BIG-IP published service to be protected by and Azure AD SHA.
45+
46+
- **Azure AD**: Security Assertion Markup Language (SAML) Identity Provider (IdP) responsible for verification of user credentials, Conditional Access (CA), and SSO to the BIG-IP. Through SSO, Azure AD provides the BIG-IP with any required session attributes including user identifiers.
4747

4848
- **BIG-IP**: Reverse proxy and SAML service provider (SP) to the application, delegating authentication to the SAML IdP, before
4949
performing header-based SSO to the backend application.
@@ -52,13 +52,13 @@ performing header-based SSO to the backend application.
5252

5353
| Step | Description |
5454
|:-------|:-----------|
55-
| 1. | User connects to application's SAML SP endpoint (BIG-IP APM). |
56-
| 2. | APM access policy redirects user to SAML IdP (Azure AD) for pre-authentication.|
57-
| 3. | SAML IdP authenticates user and applies any enforced CA policies. |
58-
| 4. | Azure AD redirects user back to SAML SP with issued token and claims. |
59-
| 5. | BIG-IP APM grants user access and injects headers in the request to the application. |
55+
| 1. | User connects to application's SAML SP endpoint (BIG-IP). |
56+
| 2. | BIG-IP APM access policy redirects user to Azure AD (SAML IdP).|
57+
| 3. | Azure AD pre-authenticates user and applies any enforced CA policies. |
58+
| 4. | User is redirected to BIG-IP (SAML SP) and SSO is performed using issued SAML token. |
59+
| 5. | BIG-IP injects Azure AD attributes as headers in request to the application. |
60+
| 6. | Application authorizes request and returns payload. |
6061

61-
For increased security, organizations using this pattern could also consider blocking all direct access to the application, in that way, forcing a strict path through the BIG-IP.
6262

6363
## Prerequisites
6464

@@ -398,7 +398,6 @@ This last step provides break down of all applied settings before they are commi
398398

399399
Your application is now published and accessible via Secure Hybrid Access, either directly via its URL or through Microsoft's application portals.
400400

401-
For increased security, organizations using this pattern could also consider blocking all direct access to the application, in that way forcing a strict path through the BIG-IP.
402401

403402
## Next steps
404403

@@ -407,6 +406,8 @@ The output of the injected headers displayed by our headers-based application is
407406

408407
![Screenshot shows the output](./media/f5-big-ip-header-advanced/mytravel-example.png)
409408

409+
For increased security, organizations using this pattern could also consider blocking all direct access to the application, in that way forcing a strict path through the BIG-IP.
410+
410411
## Troubleshooting
411412

412413
Failure to access the secure hybrid access protected application could be down to any number of potential factors, including a

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ If the **web_svc_account** service runs in context of a computer account, use th
235235

236236
For more information, see [Kerberos Constrained Delegation across domains](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831477(v=ws.11)).
237237

238-
## Make BIG-IP advanced configurations
238+
## BIG-IP advanced configuration
239239

240240
Now you can proceed with setting up the BIG-IP configurations.
241241

@@ -348,7 +348,7 @@ An *access profile* binds many APM elements that manage access to BIG-IP virtual
348348

349349
![Screenshot that shows the list box for configuring an A A A server.](./media/f5-big-ip-kerberos-advanced/configure-aaa-server.png)
350350

351-
6. Select the link in the upper **Deny** box to change the **Successful** branch to **Allow**.
351+
6. Select the link in the upper **Deny** box to change the **Successful** branch to **Allow**, and then select **Save**.
352352

353353
![Screenshot that shows changing the successful branch to Allow.](./media/f5-big-ip-kerberos-advanced/select-allow-successful-branch.png)
354354

articles/aks/tutorial-kubernetes-upgrade-cluster.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,31 @@ Tags : {}
185185

186186
---
187187

188+
## View the upgrade events
189+
190+
When you upgrade your cluster, the following Kubenetes events may occur on each node:
191+
192+
* Surge – Create surge node.
193+
* Drain – Pods are being evicted from the node. Each pod has a 30 minute timeout to complete the eviction.
194+
* Update – Update of a node has succeeded or failed.
195+
* Delete – Deleted a surge node.
196+
197+
Use `kubectl get events` to show events in the default namespaces while running an upgrade. For example:
198+
199+
```azurecli-interactive
200+
kubectl get events
201+
```
202+
203+
The following example output shows some of the above events listed during an upgrade.
204+
205+
```output
206+
...
207+
default 2m1s Normal Drain node/aks-nodepool1-96663640-vmss000001 Draining node: [aks-nodepool1-96663640-vmss000001]
208+
...
209+
default 9m22s Normal Surge node/aks-nodepool1-96663640-vmss000002 Created a surge node [aks-nodepool1-96663640-vmss000002 nodepool1] for agentpool %!s(MISSING)
210+
...
211+
```
212+
188213
## Validate an upgrade
189214

190215
### [Azure CLI](#tab/azure-cli)

articles/aks/upgrade-cluster.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,31 @@ Name Location ResourceGroup KubernetesVersion ProvisioningStat
112112
myAKSCluster eastus myResourceGroup 1.18.10 Succeeded myakscluster-dns-379cbbb9.hcp.eastus.azmk8s.io
113113
```
114114

115+
## View the upgrade events
116+
117+
When you upgrade your cluster, the following Kubenetes events may occur on each node:
118+
119+
- Surge – Create surge node.
120+
- Drain – Pods are being evicted from the node. Each pod has a 30 minute timeout to complete the eviction.
121+
- Update – Update of a node has succeeded or failed.
122+
- Delete – Deleted a surge node.
123+
124+
Use `kubectl get events` to show events in the default namespaces while running an upgrade. For example:
125+
126+
```azurecli-interactive
127+
kubectl get events
128+
```
129+
130+
The following example output shows some of the above events listed during an upgrade.
131+
132+
```output
133+
...
134+
default 2m1s Normal Drain node/aks-nodepool1-96663640-vmss000001 Draining node: [aks-nodepool1-96663640-vmss000001]
135+
...
136+
default 9m22s Normal Surge node/aks-nodepool1-96663640-vmss000002 Created a surge node [aks-nodepool1-96663640-vmss000002 nodepool1] for agentpool %!s(MISSING)
137+
...
138+
```
139+
115140
## Set auto-upgrade channel
116141

117142
In addition to manually upgrading a cluster, you can set an auto-upgrade channel on your cluster. The following upgrade channels are available:

articles/app-service/webjobs-sdk-get-started.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,9 @@ In this section, you create a function triggered by messages in an Azure Storage
163163

164164
Starting with version 3 of the WebJobs SDK, to connect to Azure Storage services you must install a separate Storage binding extension package.
165165

166+
>[!NOTE]
167+
> Beginning with 5.x, Microsoft.Azure.WebJobs.Extensions.Storage has been [split by storage service](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage/CHANGELOG.md#major-changes-and-features) and has migrated the `AddAzureStorage()` extension method by service type.
168+
166169
1. Get the latest stable version of the [Microsoft.Azure.WebJobs.Extensions.Storage](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage) NuGet package, version 3.x.
167170
168171
1. In the following command, replace `<3_X_VERSION>` with the current version number you found in step 1. Each type of NuGet Package has a unique version number.

articles/applied-ai-services/immersive-reader/how-to-configure-translation.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ manager: guillasi
88
ms.service: applied-ai-services
99
ms.subservice: immersive-reader
1010
ms.topic: how-to
11-
ms.date: 06/29/2020
11+
ms.date: 01/06/2022
1212
ms.author: metang
1313
---
1414

15-
# How to configure translation
15+
# How to configure Translation
1616

17-
This article demonstrates how to configure the various options for translation in the Immersive Reader.
17+
This article demonstrates how to configure the various options for Translation in the Immersive Reader.
1818

19-
## Configure translation language
19+
## Configure Translation language
2020

21-
The `options` parameter contains all of the flags that can be used to configure translation. Set the `language` parameter to the language you wish to translate to. See the [Language Support](./language-support.md) for the full list of supported languages.
21+
The `options` parameter contains all of the flags that can be used to configure Translation. Set the `language` parameter to the language you wish to translate to. See the [Language Support](./language-support.md) for the full list of supported languages.
2222

2323
```typescript
2424
const options = {

articles/applied-ai-services/immersive-reader/how-to-create-immersive-reader.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: guillasi
99
ms.service: applied-ai-services
1010
ms.subservice: immersive-reader
1111
ms.topic: how-to
12-
ms.date: 07/22/2019
12+
ms.date: 11/11/2021
1313
ms.author: rwaller
1414
---
1515

@@ -117,7 +117,7 @@ The script is designed to be flexible. It will first look for existing Immersive
117117
Start-Sleep -Seconds 5
118118
119119
Write-Host "Granting service principal access to the newly created Immersive Reader resource"
120-
$accessResult = az role assignment create --assignee $principalId --scope $resourceId --role "Cognitive Services User"
120+
$accessResult = az role assignment create --assignee $principalId --scope $resourceId --role "Cognitive Services Immersive Reader User"
121121
if (-not $accessResult) {
122122
throw "Error: Failed to grant service principal access"
123123
}

articles/applied-ai-services/immersive-reader/index.yml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ metadata:
1515
ms.author: dapine
1616
ms.date: 11/15/2021
1717

18+
1819
# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new
1920

2021
landingContent:
@@ -51,31 +52,32 @@ landingContent:
5152
links:
5253
- text: Create an Immersive Reader Resource
5354
url: how-to-create-immersive-reader.md
54-
- text: Use multiple Immersive Reader resources
55-
url: how-to-multiple-resources.md
5655
- text: Launch the Immersive Reader
5756
url: how-to-launch-immersive-reader.md
57+
- text: Prepare HTML content
58+
url: how-to-prepare-html.md
59+
- text: Customize the launch button
60+
url: how-to-customize-launch-button.md
5861
- text: Set the cookie policy
5962
url: how-to/set-cookie-policy.md
6063
- text: Display math
6164
url: how-to/display-math.md
62-
- text: Customize Immersive Reader button
63-
url: how-to-customize-launch-button.md
64-
- text: Cache the authentication token
65-
url: how-to-cache-token.md
6665
- text: Configure Read Aloud
6766
url: how-to-configure-read-aloud.md
68-
- text: Configure translation
69-
url: how-to-configure-translation.md
70-
- text: Store user preferences
71-
url: how-to-store-user-preferences.md
67+
- text: Configure Translation
68+
url: how-to-configure-translation.md
69+
- text: Use multiple Immersive Reader resources
70+
url: how-to-multiple-resources.md
71+
- text: Cache the authentication token
72+
url: how-to-cache-token.md
7273
- linkListType: reference
7374
links:
7475
- text: JavaScript SDK
7576
url: reference.md
77+
- text: Security Advisory - Update Role Assignment for Azure Active Directory authentication
78+
url: security-how-to-update-role-assignment.md
7679
- text: Release notes
7780
url: release-notes.md
78-
7981
- title: Help and feedback
8082
linkLists:
8183
- linkListType: reference

0 commit comments

Comments
 (0)