Skip to content

Commit 50808fd

Browse files
authored
Merge branch 'main' into creator-index
2 parents 3155dd5 + f7bb1f2 commit 50808fd

File tree

1,262 files changed

+17806
-10780
lines changed

Some content is hidden

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

1,262 files changed

+17806
-10780
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.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22203,6 +22203,16 @@
2220322203
"redirect_url": "/azure/active-directory/develop/zero-trust-for-developers",
2220422204
"redirect_document_id": false
2220522205
},
22206+
{
22207+
"source_path_from_root": "/articles/active-directory/develop/active-directory-v2-protocols.md",
22208+
"redirect_url": "/azure/active-directory/develop/v2-protocols",
22209+
"redirect_document_id": false
22210+
},
22211+
{
22212+
"source_path_from_root": "/articles/active-directory/develop/msal-net-aad-b2c-considerations.md",
22213+
"redirect_url": "/azure/active-directory/develop/msal-net-b2c-considerations",
22214+
"redirect_document_id": false
22215+
},
2220622216
{
2220722217
"source_path_from_root": "/articles/active-directory/develop/active-directory-how-applications-are-added.md",
2220822218
"redirect_url": "/azure/active-directory/develop/how-applications-are-added",

.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/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:

articles/active-directory/authentication/howto-authentication-passwordless-faqs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ For a full list of endpoints needed to use Microsoft online products, see [Offic
106106
To check if the Windows 10 client device has the right domain join type, use the following command:
107107

108108
```console
109-
Dsregcmd/status
109+
Dsregcmd /status
110110
```
111111

112112
The following sample output shows that the device is Azure AD joined as *AzureADJoined* is set to *YES*:

articles/active-directory/authentication/howto-authentication-passwordless-phone.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,17 @@ Users can register for passwordless phone sign-in directly within the Microsoft
8787
6. Once signed-in, continue following the additional steps to set up phone sign-in.
8888

8989
### Guided registration with My Sign-ins
90+
> [!NOTE]
91+
> Users will only be able to register Microsoft Authenticator via combined registration if the Microsoft Authenticator authentication mode is to Any or Push.
92+
9093
To register the Microsoft Authenticator app, follow these steps:
9194

9295
1. Browse to [https://aka.ms/mysecurityinfo](https://aka.ms/mysecurityinfo).
9396
1. Sign in, then select **Add method** > **Authenticator app** > **Add** to add Microsoft Authenticator.
9497
1. Follow the instructions to install and configure the Microsoft Authenticator app on your device.
9598
1. Select **Done** to complete Microsoft Authenticator configuration.
9699

97-
### Enable phone sign-in
100+
#### Enable phone sign-in
98101

99102
After users registered themselves for the Microsoft Authenticator app, they need to enable phone sign-in:
100103

articles/active-directory/azuread-dev/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
- name: Add app roles in your application
127127
href: ../develop/howto-add-app-roles-in-azure-ad-apps.md?toc=/azure/active-directory/azuread-dev/toc.json&bc=/azure/active-directory/azuread-dev/breadcrumb/toc.json
128128
- name: Branding guidelines
129-
href: ../develop/howto-add-branding-in-azure-ad-apps.md?toc=/azure/active-directory/azuread-dev/toc.json&bc=/azure/active-directory/azuread-dev/breadcrumb/toc.json
129+
href: /azure/active-directory/develop/howto-add-branding-in-apps
130130
- name: Terms of Service and Privacy Statement
131131
href: ../develop/howto-add-terms-of-service-privacy-statement.md?toc=/azure/active-directory/azuread-dev/toc.json&bc=/azure/active-directory/azuread-dev/breadcrumb/toc.json
132132
- name: Bring an app to market

0 commit comments

Comments
 (0)