You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/app-provisioning/customize-application-attributes.md
+9-10Lines changed: 9 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
8
8
ms.subservice: app-provisioning
9
9
ms.workload: identity
10
10
ms.topic: tutorial
11
-
ms.date: 03/23/2023
11
+
ms.date: 03/24/2023
12
12
ms.author: kenwith
13
13
ms.reviewer: arvinh
14
14
---
@@ -58,22 +58,21 @@ There are four different mapping types supported:
58
58
59
59
-**Direct** – the target attribute is populated with the value of an attribute of the linked object in Azure AD.
60
60
-**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).
63
62
-**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.
64
63
65
64
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.
66
65
67
66
### Understanding attribute-mapping properties
68
67
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:
71
70
72
71
-**Source attribute** - The user attribute from the source system (example: Azure Active Directory).
73
72
-**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).
75
74
-**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.
77
76
-**Apply this mapping**
78
77
-**Always** – Apply this mapping on both user creation and update actions.
79
78
-**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
113
112
- ServiceNow
114
113
- Workday to Active Directory / Workday to Azure Active Directory
115
114
- 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).
117
116
- Apps that support [SCIM 2.0](https://tools.ietf.org/html/rfc7643)
118
117
- 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
119
118
@@ -197,7 +196,7 @@ Custom attributes can't be referential attributes, multi-value or complex-typed
197
196
198
197
199
198
## 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.
201
200
202
201
- 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.
203
202
@@ -338,7 +337,7 @@ Selecting this option will effectively force a resynchronization of all users wh
338
337
- 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.
339
338
- The Azure AD provisioning service doesn't support provisioning null values.
340
339
- 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).
342
341
- While you can disable groups from your mappings, disabling users isn't supported.
Copy file name to clipboardExpand all lines: articles/active-directory/conditional-access/concept-token-protection.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: Learn how to use token protection in Conditional Access policies.
4
4
ms.service: active-directory
5
5
ms.subservice: conditional-access
6
6
ms.topic: conceptual
7
-
ms.date: 03/09/2023
7
+
ms.date: 03/24/2023
8
8
9
9
ms.author: joflore
10
10
author: MicrosoftGuyJFlo
@@ -22,7 +22,10 @@ Token protection creates a cryptographically secure tie between the token and th
22
22
> [!IMPORTANT]
23
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
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 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.
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.
26
29
27
30
:::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":::
Copy file name to clipboardExpand all lines: articles/active-directory/develop/multi-service-web-app-access-storage.md
+16-14Lines changed: 16 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ manager: CelesteDG
7
7
ms.service: app-service
8
8
ms.topic: tutorial
9
9
ms.workload: identity
10
-
ms.date: 04/25/2021
10
+
ms.date: 03/24/2023
11
11
ms.author: ryanwi
12
12
ms.reviewer: stsoneff
13
13
ms.devlang: csharp, javascript
@@ -64,7 +64,7 @@ To create a general-purpose v2 storage account in the Azure portal, follow these
64
64
65
65
1. On the Azure portal menu, select **All services**. In the list of resources, enter **Storage Accounts**. As you begin typing, the list filters based on your input. Select **Storage Accounts**.
66
66
67
-
1. In the **Storage Accounts** window that appears, select **Add**.
67
+
1. In the **Storage Accounts** window that appears, select **Create**.
68
68
69
69
1. Select the subscription in which to create the storage account.
70
70
@@ -74,33 +74,27 @@ To create a general-purpose v2 storage account in the Azure portal, follow these
74
74
75
75
1. Select a location for your storage account, or use the default location.
76
76
77
-
1.Leave these fields set to their default values:
77
+
1.For **Performance**, select the **Standard** option.
1. For **Redundancy**, select the **Locally-redundant storage (LRS)** option from the dropdown.
86
80
87
-
1. Select **Review + Create** to review your storage account settings and create the account.
81
+
1. Select **Review** to review your storage account settings and create the account.
88
82
89
83
1. Select **Create**.
90
84
91
85
To create a Blob Storage container in Azure Storage, follow these steps.
92
86
93
87
1. Go to your new storage account in the Azure portal.
94
88
95
-
1. In the left menu for the storage account, scroll to the **Blob service** section, and then select **Containers**.
89
+
1. In the left menu for the storage account, scroll to the **Data storage** section, and then select **Containers**.
96
90
97
91
1. Select the **+ Container** button.
98
92
99
93
1. Type a name for your new container. The container name must be lowercase, must start with a letter or number, and can include only letters, numbers, and the dash (-) character.
100
94
101
95
1. Set the level of public access to the container. The default level is **Private (no anonymous access)**.
102
96
103
-
1. Select **OK** to create the container.
97
+
1. Select **Create** to create the container.
104
98
105
99
# [PowerShell](#tab/azure-powershell)
106
100
@@ -172,7 +166,15 @@ You need to grant your web app access to the storage account before you can crea
172
166
173
167
In the [Azure portal](https://portal.azure.com), go into your storage account to grant your web app access. Select **Access control (IAM)** in the left pane, and then select **Role assignments**. You'll see a list of who has access to the storage account. Now you want to add a role assignment to a robot, the app service that needs access to the storage account. Select **Add** > **Add role assignment** to open the **Add role assignment** page.
174
168
175
-
Assign the **Storage Blob Data Contributor** role to the **App Service** at subscription scope. For detailed steps, see [Assign Azure roles using the Azure portal](../../role-based-access-control/role-assignments-portal.md).
169
+
1. In the **Assignment type** tab, select **Job function type** and then **Next**.
170
+
171
+
1. In the **Role** tab, select **Storage Blob Data Contributor** role from the dropdown and then select **Next**.
172
+
173
+
1. In the **Members** tab, select **Assign access to** -> **Managed identity** and then select **Members** -> **Select members**. In the **Select managed identities** window, find and select the managed identity created for your App Service in the **Managed identity** dropdown. Select the **Select** button.
174
+
175
+
1. Select **Review and assign** and then select **Review and assign** once more.
176
+
177
+
For detailed steps, see [Assign Azure roles using the Azure portal](../../role-based-access-control/role-assignments-portal.md).
176
178
177
179
Your web app now has access to your storage account.
0 commit comments