Skip to content

Commit 6bba99e

Browse files
authored
Merge branch 'main' into fixes-06.2023
2 parents cf6719e + d799da8 commit 6bba99e

File tree

2,240 files changed

+39937
-19814
lines changed

Some content is hidden

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

2,240 files changed

+39937
-19814
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4575,6 +4575,11 @@
45754575
"redirect_url": "/azure/active-directory/reports-monitoring/howto-access-activity-logs",
45764576
"redirect_document_id": true
45774577
},
4578+
{
4579+
"source_path_from_root": "/articles/active-directory/reports-monitoring/overview-sign-in-diagnostics.md",
4580+
"redirect_url": "/azure/active-directory/reports-monitoring/howto-use-sign-in-diagnostics",
4581+
"redirect_document_id": true
4582+
},
45784583
{
45794584
"source_path_from_root": "/articles/active-directory/reports-monitoring/troubleshoot-missing-data-download.md",
45804585
"redirect_url": "/azure/active-directory/reports-monitoring/reports-faq",

.openpublishing.redirection.azure-monitor.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6156,10 +6156,20 @@
61566156
"redirect_url": "/azure/azure-monitor/app/opentelemetry-enable",
61576157
"redirect_document_id": false
61586158
},
6159+
{
6160+
"source_path_from_root": "/articles/azure-monitor/logs/azure-data-explorer-query-storage.md",
6161+
"redirect_url": "/azure/data-explorer/query-exported-azure-monitor-data",
6162+
"redirect_document_id": false
6163+
},
61596164
{
61606165
"source_path_from_root": "/articles/azure-monitor/logs/api/app-insights-azure-ad-api.md",
61616166
"redirect_url": "/azure/azure-monitor/app/app-insights-azure-ad-api",
61626167
"redirect_document_id": false
6168+
},
6169+
{
6170+
"source_path_from_root": "/articles/azure-monitor/app/javascript-sdk-advanced.md",
6171+
"redirect_url": "/azure/azure-monitor/app/javascript-sdk-configuration",
6172+
"redirect_document_id": false
61636173
}
61646174
]
61656175
}

.openpublishing.redirection.defender-for-cloud.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,11 @@
740740
"redirect_url": "/azure/defender-for-cloud/enable-pull-request-annotations",
741741
"redirect_document_id": true
742742
},
743+
{
744+
"source_path_from_root": "/articles/defender-for-cloud/devops-faq.md",
745+
"redirect_url": "/azure/defender-for-cloud/faq-defender-for-devops",
746+
"redirect_document_id": true
747+
},
743748
{
744749
"source_path_from_root": "/articles/defender-for-cloud/detect-credential-leaks.md",
745750
"redirect_url": "/azure/defender-for-cloud/detect-exposed-secrets",

.openpublishing.redirection.defender-for-iot.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
{
22
"redirections": [
33
{
4-
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-activate-and-set-up-your-on-premises-management-console.md",
4+
"source_path_from_root": "/articles/defender-for-iot/organizations/best-practices/plan-network-monitoring.md",
5+
"redirect_url": "/azure/defender-for-iot/organizations/best-practices/plan-prepare-deploy",
6+
"redirect_document_id": false
7+
}, {
8+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-activate-and-set-up-your-on-premises-management-console.md",
59
"redirect_url": "/azure/defender-for-iot/organizations/ot-deploy/activate-deploy-management",
610
"redirect_document_id": false
711
}, {

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17508,6 +17508,11 @@
1750817508
"redirect_url": "/azure/virtual-wan/scenario-route-between-vnets-firewall",
1750917509
"redirect_document_id": false
1751017510
},
17511+
{
17512+
"source_path_from_root": "/articles/bastion/connect-native-client-windows.md",
17513+
"redirect_url": "/azure/bastion/native-client",
17514+
"redirect_document_id": false
17515+
},
1751117516
{
1751217517
"source_path_from_root": "/articles/virtual-wan/high-availability-vpn-client.md",
1751317518
"redirect_url": "/azure/virtual-wan/global-hub-profile",

.openpublishing.redirection.virtual-desktop.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,11 @@
189189
"source_path_from_root": "/articles/virtual-desktop/fslogix-office-app-rule-editor.md",
190190
"redirect_url": "/azure/virtual-desktop/install-office-on-wvd-master-image",
191191
"redirect_document_id": false
192+
},
193+
{
194+
"source_path_from_root": "/articles/virtual-desktop/app-attach-glossary.md",
195+
"redirect_url": "/azure/virtual-desktop/what-is-app-attach",
196+
"redirect_document_id": false
192197
}
193198
]
194199
}

articles/active-directory-b2c/partner-xid.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,10 @@ Get the custom policy starter packs from GitHub, then update the XML files in th
122122
<Domain>X-ID</Domain>
123123
<DisplayName>X-ID</DisplayName>
124124
<TechnicalProfiles>
125-
<TechnicalProfile Id="X-ID-Oauth2">
125+
<TechnicalProfile Id="X-ID-OIDC">
126126
<DisplayName>X-ID</DisplayName>
127127
<Description>Login with your X-ID account</Description>
128-
<Protocol Name="OAuth2" />
128+
<Protocol Name="OpenIdConnect" />
129129
<Metadata>
130130
<Item Key="METADATA">https://oidc-uat.x-id.io/.well-known/openid-configuration</Item>
131131
<!-- Update the Client ID below to the X-ID Application ID -->
@@ -227,7 +227,7 @@ Add the new identity provider to the user journey.
227227
3. Set the value of **TargetClaimsExchangeId** to a friendly name.
228228
4. Add a **ClaimsExchange** element.
229229
5. Set the **ID** to the value of the target claims exchange ID. This change links the xID button to `X-IDExchange` action.
230-
6. Update the **TechnicalProfileReferenceId** value to the technical profile ID you created (`X-ID-Oauth2`).
230+
6. Update the **TechnicalProfileReferenceId** value to the technical profile ID you created (`X-ID-OIDC`).
231231
7. Add an Orchestration step to call xID UserInfo endpoint to return claims about the authenticated user `X-ID-Userdata`.
232232

233233
The following XML demonstrates the user journey orchestration with xID identity provider.
@@ -245,7 +245,7 @@ The following XML demonstrates the user journey orchestration with xID identity
245245

246246
<OrchestrationStep Order="2" Type="ClaimsExchange">
247247
<ClaimsExchanges>
248-
<ClaimsExchange Id="X-IDExchange" TechnicalProfileReferenceId="X-ID-Oauth2" />
248+
<ClaimsExchange Id="X-IDExchange" TechnicalProfileReferenceId="X-ID-OIDC" />
249249
</ClaimsExchanges>
250250
</OrchestrationStep>
251251

articles/active-directory/app-provisioning/known-issues.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,7 @@ In addition, users that are enabled for SMS sign-in cannot be synchronized throu
4747

4848
Provisioning manager attributes isn't supported.
4949

50-
### Universal people search
51-
52-
It's possible for synchronized users to appear in the global address list (GAL) of the target tenant for people search scenarios, but it isn't enabled by default. In attribute mappings for a configuration, you must update the value for the **showInAddressList** attribute. Set the mapping type as constant with a default value of `True`. For any newly created B2B collaboration users, the showInAddressList attribute will be set to true and they'll appear in people search scenarios. For more information, see [Configure cross-tenant synchronization](../multi-tenant-organizations/cross-tenant-synchronization-configure.md#step-9-review-attribute-mappings).
50+
### Updating the showInAddressList property fails
5351

5452
For existing B2B collaboration users, the showInAddressList attribute will be updated as long as the B2B collaboration user doesn't have a mailbox enabled in the target tenant. If the mailbox is enabled in the target tenant, use the [Set-MailUser](/powershell/module/exchange/set-mailuser) PowerShell cmdlet to set the HiddenFromAddressListsEnabled property to a value of $false.
5553

articles/active-directory/app-provisioning/sap-successfactors-integration-reference.md

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,28 @@ https://[SuccessFactorsAPIEndpoint]/odata/v2/PerPerson/$count?$format=json&$filt
124124
&$expand=employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav,phoneNav,emailNav,employmentNav/userNav/manager/empInfo,employmentNav/jobInfoNav/companyNav,employmentNav/jobInfoNav/departmentNav,employmentNav/jobInfoNav/locationNav,employmentNav/jobInfoNav/locationNav/addressNavDEFLT,employmentNav/jobInfoNav/locationNav/addressNavDEFLT/stateNav&customPageSize=100
125125
```
126126

127+
## How pre-hire processing works
128+
129+
This section explains how the SAP SuccessFactors connector processes pre-hire records (workers with hire date / start date in future).
130+
Let's say there is a pre-hire with employeeId "1234" in SuccessFactors Employee Central with start date on 1-June-2023. Let's further assume that this pre-hire record was first created either in Employee Central or in the Onboarding module on 15-May-2023. When the provisioning service first observes this record on 15-May-2023 (either as part of full sync or incremental sync), this record is still in pre-hire state. Due to this, SuccessFactors does not send the provisioning service all attributes (example: userNav/username) associated with the user. Only bare minimum data about the user such as `personIdExternal`, `firstname`, `lastname` and `startDate` is available. To process pre-hires successfully, the following pre-requisites must be met:
131+
132+
1) The `personIdExternal` attribute must be set as the primary matching identifier (joining property). If you configure a different attribute (example: userName) as the joining property then the provisioning service will not be able to retrieve the pre-hire information.
133+
2) The `startDate` attribute must be available and it's JSONPath must be set to either `$.employmentNav.results[0].startDate` or `$.employmentNav.results[-1:].startDate`.
134+
3) The pre-hire record must be in one of the following states in Employee Central: 'active' (t), 'inactive' (f), or 'active_external_suite' (e). For details about these states refer to the [SAP support note 2736579](https://launchpad.support.sap.com/#/notes/0002736579).
135+
136+
> [!NOTE]
137+
> For a pre-hire who has no history with the organization, both the [0] and [-1:] index will work for `startDate`. For a pre-hire who is a re-hire or conversion, we cannot deterministically tell the order and this may cause certain rehire/converted workers to get processed on their actual start date. This is a known limitation in the connector.
138+
139+
During full sync or incremental sync or on-demand provisioning, when the provisioning service encounters a pre-hire record, it sends the following OData query to SuccessFactors with "asOfDate" filter set to the startDate of the user (e.g., asOfDate=2023-06-01).
140+
141+
```
142+
https://[SuccessFactorsAPIEndpoint]/odata/v2/PerPerson?$format=json&$
143+
filter=(personIdExternal in '1234' and employmentNav/userNav/status in 't','f','e')&asOfDate=2023-06-01&$
144+
expand=employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav,phoneNav,emailNav,employmentNav/userNav/manager/empInfo,employmentNav/jobInfoNav/companyNav,employmentNav/jobInfoNav/costCenterNav,employmentNav/jobInfoNav/divisionNav,employmentNav/jobInfoNav/departmentNav,employmentNav/
145+
```
146+
147+
If you are observing issues with pre-hire processing, you can use the above OData request format to query your SuccessFactors instance replacing the API endpoint, `personIdExternal` and `asOfDate` filter with values corresponding to your test scenario.
148+
127149
## Reading attribute data
128150

129151
When Azure AD provisioning service queries SuccessFactors, it retrieves a JSON result set. The JSON result set includes many attributes stored in Employee Central. By default, the provisioning schema is configured to retrieve only a subset of those attributes.
@@ -241,8 +263,8 @@ Use the steps to update your mapping to retrieve these codes.
241263

242264
| Provisioning Job | Account status attribute | Mapping expression |
243265
| ---------------------------------------------------- | ------------------------ | ------------------------------------------------------------------------ |
244-
| SuccessFactors to Active Directory User Provisioning | `accountDisabled` | `Switch(\[emplStatus\], "True", "A", "False", "U", "False", "P", "False")` |
245-
| SuccessFactors to Azure AD User Provisioning | `accountEnabled` | `Switch(\[emplStatus\], "False", "A", "True", "U", "True", "P", "True")` |
266+
| SuccessFactors to Active Directory User Provisioning | `accountDisabled` | `Switch([emplStatus], "True", "A", "False", "U", "False", "P", "False")` |
267+
| SuccessFactors to Azure AD User Provisioning | `accountEnabled` | `Switch([emplStatus], "False", "A", "True", "U", "True", "P", "True")` |
246268

247269
1. Save the changes.
248270
1. Test the configuration using [provision on demand](provision-on-demand.md).
@@ -301,9 +323,9 @@ This section describes how you can update the JSONPath settings to definitely re
301323

302324
| **String to find** | **String to use for replace** | **Purpose** |
303325
| ------------------ | ----------------------------- | ------------ |
304-
| `$.employmentNav.results\[0\].<br>jobInfoNav.results\[0\].emplStatus` | `$.employmentNav..jobInfoNav..results\[?(@.emplStatusNav.externalCode == 'A' \|\| @.emplStatusNav.externalCode == 'U' \|\| @.emplStatusNav.externalCode == 'P' )\].emplStatusNav.externalCode` | With this find-replace, we're adding the ability to expand emplStatusNav OData object. |
305-
| `$.employmentNav.results\[0\].<br>jobInfoNav.results\[0\]` | `$.employmentNav..jobInfoNav..results\[?(@.emplStatusNav.externalCode == 'A' \|\| @.emplStatusNav.externalCode == 'U' \|\| @.emplStatusNav.externalCode == 'P')\]` | With this find-replace, we instruct the connector to always retrieve attributes associated with the active SuccessFactors EmpJobInfo record. Attributes associated with terminated/inactive records in SuccessFactors are ignored. |
306-
| `$.employmentNav.results\[0\]` | `$.employmentNav..results\[?(@.jobInfoNav..results\[?(@.emplStatusNav.externalCode == 'A' \|\| @.emplStatusNav.externalCode == 'U' \|\| @.emplStatusNav.externalCode == 'P')\])\]` | With this find-replace, we instruct the connector to always retrieve attributes associated with the active SuccessFactors Employment record. Attributes associated with terminated/inactive records in SuccessFactors are ignored. |
326+
| `$.employmentNav.results[0].<br>jobInfoNav.results[0].emplStatus` | `$.employmentNav..jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P' )].emplStatusNav.externalCode` | With this find-replace, we're adding the ability to expand emplStatusNav OData object. |
327+
| `$.employmentNav.results[0].<br>jobInfoNav.results[0]` | `$.employmentNav..jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P')]` | With this find-replace, we instruct the connector to always retrieve attributes associated with the active SuccessFactors EmpJobInfo record. Attributes associated with terminated/inactive records in SuccessFactors are ignored. |
328+
| `$.employmentNav.results[0]` | `$.employmentNav..results[?(@.jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P')])]` | With this find-replace, we instruct the connector to always retrieve attributes associated with the active SuccessFactors Employment record. Attributes associated with terminated/inactive records in SuccessFactors are ignored. |
307329

308330
1. Save the schema.
309331
1. The above process updates all JSONPath expressions.
@@ -313,8 +335,8 @@ This section describes how you can update the JSONPath settings to definitely re
313335

314336
| Provisioning Job | Account status attribute | Expression to use if account status is based on "activeEmploymentsCount" | Expression to use if account status is based on "emplStatus" value |
315337
| ----------------- | ------------------------ | ----------------------------- | ------------------------------------- |
316-
| SuccessFactors to Active Directory User Provisioning | `accountDisabled` | `Switch(\[activeEmploymentsCount\], "False", "0", "True")` | `Switch(\[emplStatus\], "True", "A", "False", "U", "False", "P", "False")` |
317-
| SuccessFactors to Azure AD User Provisioning | `accountEnabled` | `Switch(\[activeEmploymentsCount\], "True", "0", "False")` | `Switch(\[emplStatus\], "False", "A", "True", "U", "True", "P", "True")` |
338+
| SuccessFactors to Active Directory User Provisioning | `accountDisabled` | `Switch([activeEmploymentsCount], "False", "0", "True")` | `Switch([emplStatus], "True", "A", "False", "U", "False", "P", "False")` |
339+
| SuccessFactors to Azure AD User Provisioning | `accountEnabled` | `Switch([activeEmploymentsCount], "True", "0", "False")` | `Switch([emplStatus], "False", "A", "True", "U", "True", "P", "True")` |
318340

319341
1. Save your changes. 1.
320342
1. Test the configuration using [provision on demand](provision-on-demand.md).

articles/active-directory/authentication/concept-certificate-based-authentication.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ The following scenarios aren't supported:
7272
- Configuring other certificate-to-user account bindings, such as using the **Subject**, **Subject + Issuer** or **Issuer + Serial Number**, aren’t available in this release.
7373
- Password as an authentication method cannot be disabled and the option to sign in using a password is displayed even with Azure AD CBA method available to the user.
7474

75+
## Known Limitation with Windows Hello For Business certificates
76+
77+
- While Windows Hello For Business (WHFB) can be used for multi-factor authentication in Azure AD, WHFB is not supported for fresh MFA. Customers may choose to enroll certificates for your users using the WHFB key pair. When properly configured, these WHFB certificates can be used for multi-factor authentication in Azure AD. WHFB certificates are compatible with Azure AD certificate-based authentication (CBA) in Edge and Chrome browsers; however, at this time WHFB certificates are not compatible with Azure AD CBA in non-browser scenarios (e.g. Office 365 applications). The workaround is to use the "Sign in Windows Hello or security key" option to sign in (when available) as this option does not use certificates for authentication and avoids the issue with Azure AD CBA; however, this option may not be available in some older applications.
78+
7579
## Out of Scope
7680

7781
The following scenarios are out of scope for Azure AD CBA:

0 commit comments

Comments
 (0)