Skip to content

Commit d3fb5da

Browse files
committed
Merge branch 'main' into szuber/update-content-diagrams-zerto-disaster-recovery
2 parents d5c3d23 + 09825b6 commit d3fb5da

File tree

373 files changed

+7218
-2697
lines changed

Some content is hidden

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

373 files changed

+7218
-2697
lines changed

.openpublishing.publish.config.json

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,13 @@
233233
{
234234
"path_to_root": "azure-functions-durable-js",
235235
"url": "https://github.com/Azure/azure-functions-durable-js",
236-
"branch": "main",
236+
"branch": "v2.x",
237+
"branch_mapping": {}
238+
},
239+
{
240+
"path_to_root": "azure-functions-durable-js-v3",
241+
"url": "https://github.com/Azure/azure-functions-durable-js",
242+
"branch": "v3.x",
237243
"branch_mapping": {}
238244
},
239245
{
@@ -536,6 +542,12 @@
536542
"branch": "main",
537543
"branch_mapping": {}
538544
},
545+
{
546+
"path_to_root": "azure-cosmos-db-mongodb-mern-web-app",
547+
"url": "https://github.com/Azure-samples/msdocs-azure-cosmos-db-mongodb-mern-web-app/",
548+
"branch": "main",
549+
"branch_mapping": {}
550+
},
539551
{
540552
"path_to_root": "azure-cosmos-spark",
541553
"url": "https://github.com/Azure/azure-cosmosdb-spark",

.openpublishing.redirection.active-directory.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7274,6 +7274,11 @@
72747274
{
72757275
"source_path_from_root": "/articles/active-directory/active-directory-privileged-identity-management-how-to-require-mfa.md",
72767276
"redirect_url": "/azure/active-directory/privileged-identity-management/pim-how-to-require-mfa",
7277+
"redirect_document_id": false
7278+
},
7279+
{
7280+
"source_path_from_root": "/articles/active-directory/privileged-identity-management/pim-how-to-require-mfa.md",
7281+
"redirect_url": "/azure/active-directory/authentication/howto-mfa-getstarted",
72777282
"redirect_document_id": true
72787283
},
72797284
{

.openpublishing.redirection.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
"source_path": "articles/storage/tables/table-storage-design-encrypt-data.md",
55
"redirect_url": "/previous-versions/azure/storage/tables/table-storage-design-encrypt-data",
66
"redirect_document_id": false
7+
},
8+
{
9+
"source_path": "articles/active-directory/external-identities/configure-saas-apps.md",
10+
"redirect_url": "/azure/active-directory/saas-apps/dropboxforbusiness-tutorial",
11+
"redirect_document_id": false
712
},
813
{
914
"source_path": "articles/databox-online/azure-stack-edge-zero-touch-provisioning.md",
@@ -11503,6 +11508,11 @@
1150311508
"redirect_url": "/azure/firewall/ftp-support",
1150411509
"redirect_document_id": false
1150511510
},
11511+
{
11512+
"source_path_from_root": "/articles/firewall/firewall-network-rule-logging.md",
11513+
"redirect_url": "/azure/firewall/firewall-diagnostics",
11514+
"redirect_document_id": false
11515+
},
1150611516
{
1150711517
"source_path_from_root": "/articles/security/governance-in-azure.md",
1150811518
"redirect_url": "/azure/governance/",

articles/active-directory/app-provisioning/customize-application-attributes.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.subservice: app-provisioning
99
ms.workload: identity
1010
ms.topic: tutorial
11-
ms.date: 03/23/2023
11+
ms.date: 03/24/2023
1212
ms.author: kenwith
1313
ms.reviewer: arvinh
1414
---
@@ -58,22 +58,21 @@ There are four different mapping types supported:
5858

5959
- **Direct** – the target attribute is populated with the value of an attribute of the linked object in Azure AD.
6060
- **Constant** – the target attribute is populated with a specific string you specified.
61-
- **Expression** - the target attribute is populated based on the result of a script-like expression.
62-
For more information, see [Writing Expressions for Attribute-Mappings in Azure Active Directory](../app-provisioning/functions-for-customizing-application-data.md).
61+
- **Expression** - the target attribute is populated based on the result of a script-like expression. For more information about expressions, see [Writing Expressions for Attribute-Mappings in Azure Active Directory](../app-provisioning/functions-for-customizing-application-data.md).
6362
- **None** - the target attribute is left unmodified. However, if the target attribute is ever empty, it's populated with the Default value that you specify.
6463

6564
Along with these four basic types, custom attribute-mappings support the concept of an optional **default** value assignment. The default value assignment ensures that a target attribute is populated with a value if there's not a value in Azure AD or on the target object. The most common configuration is to leave this blank.
6665

6766
### Understanding attribute-mapping properties
6867

69-
In the previous section, you were already introduced to the attribute-mapping type property.
70-
Along with this property, attribute-mappings also support the following attributes:
68+
In the previous section, you were introduced to the attribute-mapping type property.
69+
Along with this property, attribute-mappings also supports the attributes:
7170

7271
- **Source attribute** - The user attribute from the source system (example: Azure Active Directory).
7372
- **Target attribute** – The user attribute in the target system (example: ServiceNow).
74-
- **Default value if null (optional)** - The value that is passed to the target system if the source attribute is null. This value is only provisioned when a user is created. The "default value when null" won't be provisioned when updating an existing user. If for example, you provision all existing users in the target system with a particular Job Title (when it's null in the source system), you'll use the following [expression](../app-provisioning/functions-for-customizing-application-data.md): Switch(IsPresent([jobTitle]), "DefaultValue", "True", [jobTitle]). Make sure to replace the "Default Value" with the value to provision when null in the source system.
73+
- **Default value if null (optional)** - The value that is passed to the target system if the source attribute is null. This value is only provisioned when a user is created. The "default value when null" isn't provisioned when updating an existing user. For example, add a default value for job title, when creating a user, with the expression: `Switch(IsPresent([jobTitle]), "DefaultValue", "True", [jobTitle])`. For more information about expressions, see [Reference for writing expressions for attribute mappings in Azure Active Directory](../app-provisioning/functions-for-customizing-application-data.md).
7574
- **Match objects using this attribute** – Whether this mapping should be used to uniquely identify users between the source and target systems. It's typically set on the userPrincipalName or mail attribute in Azure AD, which is typically mapped to a username field in a target application.
76-
- **Matching precedence** – Multiple matching attributes can be set. When there are multiple, they're evaluated in the order defined by this field. As soon as a match is found, no further matching attributes are evaluated. While you can set as many matching attributes as you would like, consider whether the attributes you're using as matching attributes are truly unique and need to be matching attributes. Generally customers have 1 or 2 matching attributes in their configuration.
75+
- **Matching precedence** – Multiple matching attributes can be set. When there are multiple, they're evaluated in the order defined by this field. As soon as a match is found, no further matching attributes are evaluated. While you can set as many matching attributes as you would like, consider whether the attributes you're using as matching attributes are truly unique and need to be matching attributes. Generally customers have one or two matching attributes in their configuration.
7776
- **Apply this mapping**
7877
- **Always** – Apply this mapping on both user creation and update actions.
7978
- **Only during creation** - Apply this mapping only on user creation actions.
@@ -113,7 +112,7 @@ Applications and systems that support customization of the attribute list includ
113112
- ServiceNow
114113
- Workday to Active Directory / Workday to Azure Active Directory
115114
- SuccessFactors to Active Directory / SuccessFactors to Azure Active Directory
116-
- Azure Active Directory ([Azure AD Graph API default attributes](/previous-versions/azure/ad/graph/api/entity-and-complex-type-reference#user-entity) and custom directory extensions are supported). Learn more about [creating extensions](./user-provisioning-sync-attributes-for-mapping.md) and [known limitations](./known-issues.md).
115+
- Azure Active Directory ([Azure AD Graph API default attributes](/previous-versions/azure/ad/graph/api/entity-and-complex-type-reference#user-entity) and custom directory extensions are supported). For more information about creating extensions, see [Syncing extension attributes for Azure Active Directory Application Provisioning](./user-provisioning-sync-attributes-for-mapping.md) and [Known issues for provisioning in Azure Active Directory](./known-issues.md).
117116
- Apps that support [SCIM 2.0](https://tools.ietf.org/html/rfc7643)
118117
- For Azure Active Directory writeback to Workday or SuccessFactors, it's supported to update relevant metadata for supported attributes (XPATH and JSONPath), but isn't supported to add new Workday or SuccessFactors attributes beyond those included in the default schema
119118

@@ -197,7 +196,7 @@ Custom attributes can't be referential attributes, multi-value or complex-typed
197196

198197

199198
## Provisioning a role to a SCIM app
200-
Use the steps below to provision roles for a user to your application. Note that the description below is specific to custom SCIM applications. For gallery applications such as Salesforce and ServiceNow, use the pre-defined role mappings. The bullets below describe how to transform the AppRoleAssignments attribute to the format your application expects.
199+
Use the steps below to provision roles for a user to your application. Note that the description below is specific to custom SCIM applications. For gallery applications such as Salesforce and ServiceNow, use the predefined role mappings. The bullets below describe how to transform the AppRoleAssignments attribute to the format your application expects.
201200

202201
- Mapping an appRoleAssignment in Azure AD to a role in your application requires that you transform the attribute using an [expression](../app-provisioning/functions-for-customizing-application-data.md). The appRoleAssignment attribute **shouldn't be mapped directly** to a role attribute without using an expression to parse the role details.
203202

@@ -338,7 +337,7 @@ Selecting this option will effectively force a resynchronization of all users wh
338337
- The attribute IsSoftDeleted is often part of the default mappings for an application. IsSoftdeleted can be true in one of four scenarios (the user is out of scope due to being unassigned from the application, the user is out of scope due to not meeting a scoping filter, the user has been soft deleted in Azure AD, or the property AccountEnabled is set to false on the user). It's not recommended to remove the IsSoftDeleted attribute from your attribute mappings.
339338
- The Azure AD provisioning service doesn't support provisioning null values.
340339
- They primary key, typically "ID", shouldn't be included as a target attribute in your attribute mappings.
341-
- The role attribute typically needs to be mapped using an expression, rather than a direct mapping. See section above for more details on role mapping.
340+
- The role attribute typically needs to be mapped using an expression, rather than a direct mapping. For more information about role mapping, see [Provisioning a role to a SCIM app](#Provisioning a role to a SCIM app).
342341
- While you can disable groups from your mappings, disabling users isn't supported.
343342

344343
## Next steps

articles/active-directory/authentication/how-to-mfa-authenticator-lite.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@ If enabled for Authenticator Lite, users are prompted to register their account
103103

104104
:::image type="content" border="true" source="./media/how-to-mfa-authenticator-lite/registration.png" alt-text="Screenshot of how to register Authenticator Lite.":::
105105

106+
>[!NOTE]
107+
>Users with no MFA methods registered will be prompted to download the Authenticator App when they begin registration flow. For the most seamless Authenticator Lite registration experience, [provision your users a TAP](https://learn.microsoft.com/azure/active-directory/authentication/howto-authentication-temporary-access-pass) (temporary access pass) which they can use during registration.
108+
109+
106110
## Monitoring Authenticator Lite usage
107111
[Sign-in logs](/graph/api/signin-list) can show which app was used to complete user authentication. To view the latest sign-ins, use the following call on the beta API endpoint:
108112

@@ -151,6 +155,16 @@ Users can only register for Authenticator Lite from mobile Outlook. Authenticato
151155

152156
Users that have Microsoft Authenticator on their device can't register Authenticator Lite. If a user has an Authenticator Lite registration and then later downloads Microsoft Authenticator, they can register both. If a user has two devices, they can register Authenticator Lite on one and Microsoft Authenticator on the other.
153157

158+
159+
## Known Issues (Public preview)
160+
161+
### SSPR Notifications
162+
TOTP codes from Outlook will work for SSPR, but the push notification will not work and will return an error.
163+
164+
### Conditional Access Registration Policies
165+
CA policies for registration do not currently apply in Outlook registration flows.
166+
167+
154168
## Next steps
155169

156170
[Authentication methods in Azure Active Directory](concept-authentication-authenticator-app.md)

articles/active-directory/conditional-access/concept-conditional-access-conditions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ By selecting **Other clients**, you can specify a condition that affects apps th
190190

191191
## Device state (deprecated)
192192

193-
**This preview feature has been deprecated.** Customers should use the **Filter for devices** condition in the Conditional Access policy, to satisfy scenarios previously achieved using device state (preview) condition.
193+
**This preview feature has been deprecated.** Customers should use the **Filter for devices** condition in the Conditional Access policy, to satisfy scenarios previously achieved using device state (deprecated) condition.
194194

195195

196196
The device state condition was used to exclude devices that are hybrid Azure AD joined and/or devices marked as compliant with a Microsoft Intune compliance policy from an organization's Conditional Access policies.
@@ -206,7 +206,7 @@ The above scenario, can be configured using *All users* accessing the *Microsoft
206206
207207
## Filter for devices
208208

209-
There’s a new optional condition in Conditional Access called filter for devices. When configuring filter for devices as a condition, organizations can choose to include or exclude devices based on a filter using a rule expression on device properties. The rule expression for filter for devices can be authored using rule builder or rule syntax. This experience is similar to the one used for dynamic membership rules for groups. For more information, see the article [Conditional Access: Filter for devices (preview)](concept-condition-filters-for-devices.md).
209+
There’s a new optional condition in Conditional Access called filter for devices. When configuring filter for devices as a condition, organizations can choose to include or exclude devices based on a filter using a rule expression on device properties. The rule expression for filter for devices can be authored using rule builder or rule syntax. This experience is similar to the one used for dynamic membership rules for groups. For more information, see the article [Conditional Access: Filter for devices](concept-condition-filters-for-devices.md).
210210

211211
## Next steps
212212

articles/active-directory/conditional-access/concept-token-protection.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to use token protection in Conditional Access policies.
44
ms.service: active-directory
55
ms.subservice: conditional-access
66
ms.topic: conceptual
7-
ms.date: 03/09/2023
7+
ms.date: 03/24/2023
88

99
ms.author: joflore
1010
author: MicrosoftGuyJFlo
@@ -19,7 +19,13 @@ Token protection (sometimes referred to as token binding in the industry) attemp
1919

2020
Token protection creates a cryptographically secure tie between the token and the device (client secret) it's issued to. Without the client secret, the bound token is useless. When a user registers a Windows 10 or newer device in Azure AD, their primary identity is [bound to the device](../devices/concept-primary-refresh-token.md#how-is-the-prt-protected). This connection means that any issued sign-in token is tied to the device significantly reducing the chance of theft and replay attacks.
2121

22-
With this preview, we're giving you the ability to create a Conditional Access policy to require token protection for sign-in tokens for specific services. We support token protection for sign-in tokens in Conditional Access for desktop applications accessing Exchange Online and SharePoint Online on Windows devices.
22+
> [!IMPORTANT]
23+
> Token protection is currently in public preview. For more information about previews, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
24+
25+
With this preview, we're giving you the ability to create a Conditional Access policy to require token protection for sign-in tokens (refresh tokens) for specific services. We support token protection for sign-in tokens in Conditional Access for desktop applications accessing Exchange Online and SharePoint Online on Windows devices.
26+
27+
> [!NOTE]
28+
> We may interchange sign in tokens and refresh tokens in this content. This preview doesn't currently support access tokens or web cookies.
2329
2430
:::image type="content" source="media/concept-token-protection/complete-policy-components-session.png" alt-text="Screenshot showing a Conditional Access policy requiring token protection as the session control":::
2531

articles/active-directory/develop/active-directory-configurable-token-lifetimes.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@ A token's validity is evaluated at the time the token is used. The policy with t
117117

118118
All timespans used here are formatted according to the C# [TimeSpan](/dotnet/api/system.timespan) object - D.HH:MM:SS. So 80 days and 30 minutes would be `80.00:30:00`. The leading D can be dropped if zero, so 90 minutes would be `00:90:00`.
119119

120+
## REST API reference
121+
122+
You can configure token lifetime policies and assign them to apps and service principals using Microsoft Graph. For more information, see the [tokenLifetimePolicy resource type](/graph/api/resources/tokenlifetimepolicy) and its associated methods.
123+
120124
## Cmdlet reference
121125

122126
These are the cmdlets in the [Azure Active Directory PowerShell for Graph Preview module](/powershell/module/azuread/?view=azureadps-2.0-preview&preserve-view=true#service-principals).

articles/active-directory/develop/msal-client-application-configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Using MSAL in your code, you specify the audience by using one of the following
8787

8888
MSAL will throw a meaningful exception if you specify both the Azure AD authority audience and the tenant ID.
8989

90-
If you don't specify an audience, your app will target Azure AD and personal Microsoft accounts as an audience. (That is, it will behave as though `common` were specified.)
90+
It is recommended to specify an audience, as many tenants, and the applications deployed in them will have guest users. If your application will have external users, the endpoints of `common` and `organization` are best avoided. If you don't specify an audience, your app will target Azure AD and personal Microsoft accounts as an audience and will behave as though `common` were specified.
9191

9292
### Effective audience
9393

0 commit comments

Comments
 (0)