Skip to content

Commit b146865

Browse files
authored
Merge pull request #184710 from MicrosoftDocs/master
Merge master to live, 4 AM
2 parents e4e0fb4 + baf557b commit b146865

File tree

110 files changed

+2942
-1827
lines changed

Some content is hidden

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

110 files changed

+2942
-1827
lines changed

.openpublishing.redirection.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2463,6 +2463,16 @@
24632463
"redirect_url": "/azure/machine-learning/reference-yaml-overview.md",
24642464
"redirect_document_id": false
24652465
},
2466+
{
2467+
"source_path_from_root": "/articles/machine-learning/tutorial-train-models-with-aml.md",
2468+
"redirect_url": "/azure/machine-learning/tutorial-train-deploy-notebook",
2469+
"redirect_document_id": true
2470+
},
2471+
{
2472+
"source_path_from_root": "/articles/machine-learning/tutorial-deploy-models-with-aml.md",
2473+
"redirect_url": "/azure/machine-learning/tutorial-train-deploy-notebook",
2474+
"redirect_document_id": false
2475+
},
24662476
{
24672477
"source_path_from_root": "/articles/machine-learning/how-to-create-labeling-projects.md",
24682478
"redirect_url": "/azure/machine-learning/how-to-create-image-labeling-projects",

articles/active-directory-b2c/saml-identity-provider-technical-profile.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: CelesteDG
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 09/20/2021
12+
ms.date: 01/11/2022
1313
ms.author: kengaderdus
1414
ms.subservice: B2C
1515
---
@@ -166,6 +166,7 @@ The **OutputClaimsTransformations** element may contain a collection of **Output
166166
| IncludeClaimResolvingInClaimsHandling  | No | For input and output claims, specifies whether [claims resolution](claim-resolver-overview.md) is included in the technical profile. Possible values: `true`, or `false` (default). If you want to use a claims resolver in the technical profile, set this to `true`. |
167167
|SingleLogoutEnabled| No| Indicates whether during sign-in the technical profile attempts to sign out from federated identity providers. For more information, see [Azure AD B2C session sign-out](session-behavior.md#sign-out). Possible values: `true` (default), or `false`.|
168168
|ForceAuthN| No| Passes the ForceAuthN value in the SAML authentication request to determine if the external SAML IDP will be forced to prompt the user for authentication. By default, Azure AD B2C sets the ForceAuthN value to false on initial login. If the session is then reset (for example by using the `prompt=login` in OIDC) then the ForceAuthN value will be set to `true`. Setting the metadata item as shown below will force the value for all requests to the external IDP. Possible values: `true` or `false`.|
169+
|ProviderName| No| Passes the ProviderName value in the SAML authentication request.|
169170

170171

171172
## Cryptographic keys

articles/active-directory/app-provisioning/functions-for-customizing-application-data.md

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,8 @@ Returns a date/time string representing a date to which a specified time interva
274274
| **value** |Required | Number | The number of units you want to add. It can be positive (to get dates in the future) or negative (to get dates in the past). |
275275
| **dateTime** |Required | DateTime | DateTime representing date to which the interval is added. |
276276

277+
When passing a date string as input use [CDate](#cdate) function to wrap the datetime string. To get system time in UTC use the [Now](#now) function.
278+
277279
The **interval** string must have one of the following values:
278280
* yyyy Year
279281
* m Month
@@ -283,30 +285,17 @@ The **interval** string must have one of the following values:
283285
* n Minute
284286
* s Second
285287

286-
**Example 1: Add 7 days to hire date**
288+
**Example 1: Generate a date value based on incoming StatusHireDate from Workday** <br>
287289
`DateAdd("d", 7, CDate([StatusHireDate]))`
288-
* **INPUT** (StatusHireDate): 2012-03-16-07:00
289-
* **OUTPUT**: 3/23/2012 7:00:00 AM
290-
291-
**Example 2: Get a date ten days prior to hire date**
292-
`DateAdd("d", -10, CDate([StatusHireDate]))`
293-
* **INPUT** (StatusHireDate): 2012-03-16-07:00
294-
* **OUTPUT**: 3/6/2012 7:00:00 AM
295-
296-
**Example 3: Add two weeks to hire date**
297-
`DateAdd("ww", 2, CDate([StatusHireDate]))`
298-
* **INPUT** (StatusHireDate): 2012-03-16-07:00
299-
* **OUTPUT**: 3/30/2012 7:00:00 AM
300-
301-
**Example 4: Add ten months to hire date**
302-
`DateAdd("m", 10, CDate([StatusHireDate]))`
303-
* **INPUT** (StatusHireDate): 2012-03-16-07:00
304-
* **OUTPUT**: 1/16/2013 7:00:00 AM
305-
306-
**Example 5: Add two years to hire date**
307-
`DateAdd("yyyy", 2, CDate([StatusHireDate]))`
308-
* **INPUT** (StatusHireDate): 2012-03-16-07:00
309-
* **OUTPUT**: 3/16/2014 7:00:00 AM
290+
291+
| Example | interval | value | dateTime (value of variable StatusHireDate) | output |
292+
| --- | --- | --- | --- | --- |
293+
| Add 7 days to hire date | "d" | 7 | 2012-03-16-07:00 | 3/23/2012 7:00:00 AM |
294+
| Get a date ten days prior to hire date | "d" | -10 | 2012-03-16-07:00 | 3/6/2012 7:00:00 AM |
295+
| Add two weeks to hire date | "ww" | 2 | 2012-03-16-07:00 | 3/30/2012 7:00:00 AM |
296+
| Add ten months to hire date | "m" | 10 | 2012-03-16-07:00 | 1/16/2013 7:00:00 AM |
297+
| Add two years to hire date | "yyyy" | 10 | 2012-03-16-07:00 | 3/16/2014 7:00:00 AM |
298+
310299
---
311300
### DateDiff
312301
**Function:**
@@ -326,6 +315,8 @@ This function uses the *interval* parameter to return a number that indicates th
326315
| **date1** |Required | DateTime | DateTime representing a valid date. |
327316
| **date2** |Required | DateTime | DateTime representing a valid date. |
328317

318+
When passing a date string as input use [CDate](#cdate) function to wrap the datetime string. To get system time in UTC use the [Now](#now) function.
319+
329320
The **interval** string must have one of the following values:
330321
* yyyy Year
331322
* m Month
@@ -464,9 +455,30 @@ The IIF function returns one of a set of possible values based on a specified co
464455
| **valueIfTrue** |Required |Variable or String | If the condition evaluates to true, the returned value. |
465456
| **valueIfFalse** |Required |Variable or String |If the condition evaluates to false, the returned value.|
466457

467-
**Example:**
458+
The following comparison operators can be used in the *condition*:
459+
* Equal to (=) and not equal to (<>)
460+
* Greater than (>) and greater than equal to (>=)
461+
* Less than (<) and less than equal to (<=)
462+
463+
**Example:** Set the target attribute value to source country attribute if country="USA", else set target attribute value to source department attribute.
468464
`IIF([country]="USA",[country],[department])`
469465

466+
#### Known limitations and workarounds for IIF function
467+
* The IIF function currently does not support AND and OR logical operators.
468+
* To implement AND logic, use nested IIF statement chained along the *trueValue* path.
469+
Example: If country="USA" and state="CA", return value "True", else return "False".
470+
`IIF([country]="USA",IIF([state]="CA","True","False"),"False")`
471+
* To implement OR logic, use nested IIF statement chained along the *falseValue* path.
472+
Example: If country="USA" or state="CA", return value "True", else return "False".
473+
`IIF([country]="USA","True",IIF([state]="CA","True","False"))`
474+
* If the source attribute used within the IIF function is empty or null, the condition check fails.
475+
* Unsupported IIF expression examples:
476+
* `IIF([country]="","Other",[country])`
477+
* `IIF(IsNullOrEmpty([country]),"Other",[country])`
478+
* `IIF(IsPresent([country]),[country],"Other")`
479+
* Recommended workaround: Use the [Switch](#switch) function to check for empty/null values. Example: If country attribute is empty, set value "Other". If it is present, pass the country attribute value to target attribute.
480+
* `Switch([country],[country],"","Other")`
481+
<br>
470482
---
471483
### InStr
472484
**Function:**

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: conditional-access
88
ms.topic: conceptual
9-
ms.date: 10/26/2021
9+
ms.date: 01/11/2022
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
@@ -84,7 +84,7 @@ The behavior of the client apps condition was updated in August 2020. If you hav
8484

8585
This control is used to exclude devices that are hybrid Azure AD joined, or marked a compliant in Intune. This exclusion can be done to block unmanaged devices.
8686

87-
#### Filters for devices (preview)
87+
#### Filter for devices
8888

8989
This control allows targeting specific devices based on their attributes in a policy.
9090

articles/active-directory/manage-apps/f5-aad-integration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ The following tutorials provide detailed guidance on implementing some of the mo
136136

137137
The advanced approach provides a more elaborate, yet flexible way of implementing SHA by manually creating all BIG-IP configuration objects. You would use this approach for scenarios not covered by the guided configuration templates.
138138

139-
Refer to the following advanced configuration guides for your integration requirements:
139+
Refer to the following advanced configuration tutorials for your integration requirements:
140140

141141
- [F5 BIG-IP in Azure deployment walk-through](f5-bigip-deployment-guide.md)
142142

@@ -156,7 +156,7 @@ The Guided Configuration wizard, available from BIG-IP version 13.1 aims to mini
156156

157157
The latest version of the Guided Configuration 16.1 now offers an Easy Button feature. With **Easy Button**, admins no longer go back and forth between Azure AD and a BIG-IP to enable services for SHA. The end-to-end deployment and policy management is handled directly between the APM’s Guided Configuration wizard and Microsoft Graph. This rich integration between BIG-IP APM and Azure AD ensures applications can quickly, easily support identity federation, SSO, and Azure AD Conditional Access, without management overhead of having to do so on a per app basis.
158158

159-
Refer to the following guided configuration guides using Easy Button templates for your integration requirements:
159+
Refer to the following guided configuration tutorials using Easy Button templates for your integration requirements:
160160

161161
- [F5 BIG-IP Easy Button for SSO to Kerberos applications](f5-big-ip-kerberos-easy-button.md)
162162

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ In this article, you'll learn to implement Secure Hybrid Access (SHA) with singl
1919

2020
Integrating a BIG-IP with Azure Active Directory (Azure AD) provides many benefits, including:
2121

22-
* Improved zero-trust governance through Azure AD pre-authentication and authorization
22+
* Improved Zero Trust governance through Azure AD pre-authentication and authorization
2323

2424
* Full SSO between Azure AD and BIG-IP published services
2525

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ In this article, you'll learn to implement Secure Hybrid Access (SHA) with singl
1919

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

22-
* Improved zero-trust governance through Azure AD pre-authentication and authorization
22+
* Improved Zero Trust governance through Azure AD pre-authentication and authorization
2323

2424
* Full SSO between Azure AD and BIG-IP published services
2525

articles/active-directory/reports-monitoring/howto-use-azure-monitor-workbooks.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ ms.topic: how-to
1212
ms.tgt_pltfrm:
1313
ms.workload: identity
1414
ms.subservice: report-monitor
15-
ms.date: 12/21/2021
15+
ms.date: 01/10/2022
1616
ms.author: markvi
17-
ms.reviewer: dhanyahk
17+
ms.reviewer: sarbar
1818
---
1919
# How to use Azure Monitor workbooks for Azure Active Directory reports
2020

@@ -329,6 +329,17 @@ You can filter the Risky Users trends by:
329329

330330
If you have a high number of risky users where "no action" has been taken, consider enabling a Conditional Access policy to require secure password change when a user is high risk.
331331

332+
## Best practices
333+
334+
### Query partially succeeded
335+
336+
After running a workbook, you might see the following error: "Query partially succeeded; results may be incomplete or incorrect"
337+
338+
This error means that your query timed out in the database layer. In this case, it still “succeeded” to workbooks (it got results) but the results also contained an error/warning message that some part of the query failed. In this case, you review your query and start troubleshooting by reducing the scope of it.
339+
For example, you could add or rearrange a where condition to reduce the amount of data the query has to process.
340+
341+
342+
332343
## Next steps
333344

334345
* [Create interactive reports by using Monitor workbooks](../../azure-monitor/visualize/workbooks-overview.md).
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
---
2+
title: 'Tutorial: Azure AD SSO integration with Asset Planner'
3+
description: Learn how to configure single sign-on between Azure Active Directory and Asset Planner.
4+
services: active-directory
5+
author: jeevansd
6+
manager: CelesteDG
7+
ms.reviewer: CelesteDG
8+
ms.service: active-directory
9+
ms.subservice: saas-app-tutorial
10+
ms.workload: identity
11+
ms.topic: tutorial
12+
ms.date: 12/20/2021
13+
ms.author: jeedes
14+
15+
---
16+
17+
# Tutorial: Azure AD SSO integration with Asset Planner
18+
19+
In this tutorial, you'll learn how to integrate Asset Planner with Azure Active Directory (Azure AD). When you integrate Asset Planner with Azure AD, you can:
20+
21+
* Control in Azure AD who has access to Asset Planner.
22+
* Enable your users to be automatically signed-in to Asset Planner with their Azure AD accounts.
23+
* Manage your accounts in one central location - the Azure portal.
24+
25+
## Prerequisites
26+
27+
To get started, you need the following items:
28+
29+
* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/).
30+
* Asset Planner single sign-on (SSO) enabled subscription.
31+
32+
## Scenario description
33+
34+
In this tutorial, you configure and test Azure AD SSO in a test environment.
35+
36+
* Asset Planner supports **SP** initiated SSO.
37+
38+
* Asset Planner supports **Just In Time** user provisioning.
39+
40+
## Add Asset Planner from the gallery
41+
42+
To configure the integration of Asset Planner into Azure AD, you need to add Asset Planner from the gallery to your list of managed SaaS apps.
43+
44+
1. Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
45+
1. On the left navigation pane, select the **Azure Active Directory** service.
46+
1. Navigate to **Enterprise Applications** and then select **All Applications**.
47+
1. To add new application, select **New application**.
48+
1. In the **Add from the gallery** section, type **Asset Planner** in the search box.
49+
1. Select **Asset Planner** from results panel and then add the app. Wait a few seconds while the app is added to your tenant.
50+
51+
## Configure and test Azure AD SSO for Asset Planner
52+
53+
Configure and test Azure AD SSO with Asset Planner using a test user called **B.Simon**. For SSO to work, you need to establish a link relationship between an Azure AD user and the related user in Asset Planner.
54+
55+
To configure and test Azure AD SSO with Asset Planner, perform the following steps:
56+
57+
1. **[Configure Azure AD SSO](#configure-azure-ad-sso)** - to enable your users to use this feature.
58+
1. **[Create an Azure AD test user](#create-an-azure-ad-test-user)** - to test Azure AD single sign-on with B.Simon.
59+
1. **[Assign the Azure AD test user](#assign-the-azure-ad-test-user)** - to enable B.Simon to use Azure AD single sign-on.
60+
1. **[Configure Asset Planner SSO](#configure-asset-planner-sso)** - to configure the single sign-on settings on application side.
61+
1. **[Create Asset Planner test user](#create-asset-planner-test-user)** - to have a counterpart of B.Simon in Asset Planner that is linked to the Azure AD representation of user.
62+
1. **[Test SSO](#test-sso)** - to verify whether the configuration works.
63+
64+
## Configure Azure AD SSO
65+
66+
Follow these steps to enable Azure AD SSO in the Azure portal.
67+
68+
1. In the Azure portal, on the **Asset Planner** application integration page, find the **Manage** section and select **single sign-on**.
69+
1. On the **Select a single sign-on method** page, select **SAML**.
70+
1. On the **Set up single sign-on with SAML** page, click the pencil icon for **Basic SAML Configuration** to edit the settings.
71+
72+
![Edit Basic SAML Configuration](common/edit-urls.png)
73+
74+
1. On the **Basic SAML Configuration** section, perform the following steps:
75+
76+
a. In the **Identifier (Entity ID)** text box, type one of the following URLs:
77+
78+
| **Identifier** |
79+
|---------|
80+
| `https://assetplanner.com` |
81+
| `https://us.assetplanner.com` |
82+
| `https://staging.assetplanner.com` |
83+
| `https://training.assetplanner.com` |
84+
85+
b. In the **Reply URL** text box, type a URL using one of the following patterns:
86+
87+
| **Reply URL** |
88+
|------|
89+
| `https://assetplanner.com/saml/ap_acs/<IDPName>` |
90+
| `https://us.assetplanner.com/saml/ap_acs/<IDPName>` |
91+
| `https://staging.assetplanner.com/saml/ap_acs/<IDPName>` |
92+
| `https://training.assetplanner.com/saml/ap_acs/<IDPName>` |
93+
94+
c. In the **Sign on URL** text box, type one of the following URLs:
95+
96+
| **Sign on URL** |
97+
|-----|
98+
| `https://assetplanner.com` |
99+
| `https://us.assetplanner.com` |
100+
| `https://staging.assetplanner.com` |
101+
| `https://training.assetplanner.com` |
102+
103+
1. On the **Set up single sign-on with SAML** page, in the **SAML Signing Certificate** section, find **Certificate (Base64)** and select **Download** to download the certificate and save it on your computer.
104+
105+
![The Certificate download link](common/certificatebase64.png)
106+
107+
1. On the **Set up Asset Planner** section, copy the appropriate URL(s) based on your requirement.
108+
109+
![Copy configuration URLs](common/copy-configuration-urls.png)
110+
111+
### Create an Azure AD test user
112+
113+
In this section, you'll create a test user in the Azure portal called B.Simon.
114+
115+
1. From the left pane in the Azure portal, select **Azure Active Directory**, select **Users**, and then select **All users**.
116+
1. Select **New user** at the top of the screen.
117+
1. In the **User** properties, follow these steps:
118+
1. In the **Name** field, enter `B.Simon`.
119+
1. In the **User name** field, enter the [email protected]. For example, `[email protected]`.
120+
1. Select the **Show password** check box, and then write down the value that's displayed in the **Password** box.
121+
1. Click **Create**.
122+
123+
### Assign the Azure AD test user
124+
125+
In this section, you'll enable B.Simon to use Azure single sign-on by granting access to Asset Planner.
126+
127+
1. In the Azure portal, select **Enterprise Applications**, and then select **All applications**.
128+
1. In the applications list, select **Asset Planner**.
129+
1. In the app's overview page, find the **Manage** section and select **Users and groups**.
130+
1. Select **Add user**, then select **Users and groups** in the **Add Assignment** dialog.
131+
1. In the **Users and groups** dialog, select **B.Simon** from the Users list, then click the **Select** button at the bottom of the screen.
132+
1. If you are expecting a role to be assigned to the users, you can select it from the **Select a role** dropdown. If no role has been set up for this app, you see "Default Access" role selected.
133+
1. In the **Add Assignment** dialog, click the **Assign** button.
134+
135+
## Configure Asset Planner SSO
136+
137+
To configure single sign-on on **Asset Planner** side, you need to send the downloaded **Certificate (Base64)** and appropriate copied URLs from Azure portal to [Asset Planner support team](mailto:[email protected]). They set this setting to have the SAML SSO connection set properly on both sides.
138+
139+
### Create Asset Planner test user
140+
141+
In this section, a user called Britta Simon is created in Asset Planner. Asset Planner supports just-in-time user provisioning, which is enabled by default. There is no action item for you in this section. If a user doesn't already exist in Asset Planner, a new one is created after authentication.
142+
143+
## Test SSO
144+
145+
In this section, you test your Azure AD single sign-on configuration with following options.
146+
147+
* Click on **Test this application** in Azure portal. This will redirect to Asset Planner Sign-on URL where you can initiate the login flow.
148+
149+
* Go to Asset Planner Sign-on URL directly and initiate the login flow from there.
150+
151+
* You can use Microsoft My Apps. When you click the Asset Planner tile in the My Apps, this will redirect to Asset Planner Sign-on URL. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md).
152+
153+
## Next steps
154+
155+
Once you configure Asset Planner you can enforce session control, which protects exfiltration and infiltration of your organization’s sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-aad).

0 commit comments

Comments
 (0)