|
| 1 | +--- |
| 2 | +title: 'Tutorial: Configure M-Files for automatic user provisioning with Microsoft Entra ID' |
| 3 | +description: Learn how to automatically provision and deprovision user accounts from Microsoft Entra ID to M-Files. |
| 4 | +services: active-directory |
| 5 | +author: twimmers |
| 6 | +writer: twimmers |
| 7 | +manager: jeedes |
| 8 | +ms.assetid: 52b0484b-2a13-403b-9d2e-e99d2da5880f |
| 9 | +ms.service: active-directory |
| 10 | +ms.subservice: saas-app-tutorial |
| 11 | +ms.workload: identity |
| 12 | +ms.topic: tutorial |
| 13 | +ms.date: 09/27/2023 |
| 14 | +ms.author: thwimmer |
| 15 | +--- |
| 16 | + |
| 17 | +# Tutorial: Configure M-Files for automatic user provisioning |
| 18 | + |
| 19 | +This tutorial describes the steps you need to perform in both M-Files and Microsoft Entra ID to configure automatic user provisioning. When configured, Microsoft Entra ID automatically provisions and deprovisions users and groups to [M-Files](https://www.m-files.com/) using the Microsoft Entra provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Microsoft Entra ID](../app-provisioning/user-provisioning.md). |
| 20 | + |
| 21 | +## Supported capabilities |
| 22 | +> [!div class="checklist"] |
| 23 | +> * Create users in M-Files. |
| 24 | +> * Remove users in M-Files when they do not require access anymore. |
| 25 | +> * Keep user attributes synchronized between Microsoft Entra ID and M-Files. |
| 26 | +> * Provision groups and group memberships in M-Files. |
| 27 | +> * [Single sign-on](m-files-tutorial.md) to M-Files (recommended). |
| 28 | +
|
| 29 | +## Prerequisites |
| 30 | + |
| 31 | +The scenario outlined in this tutorial assumes that you already have the following prerequisites: |
| 32 | + |
| 33 | +* [A Microsoft Entra tenant](../develop/quickstart-create-new-tenant.md) |
| 34 | +* A user account in Microsoft Entra ID with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator). |
| 35 | +* A user account in M-Files with Admin permissions. |
| 36 | + |
| 37 | +## Step 1: Plan your provisioning deployment |
| 38 | +1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md). |
| 39 | +1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md). |
| 40 | +1. Determine what data to [map between Microsoft Entra ID and M-Files](../app-provisioning/customize-application-attributes.md). |
| 41 | + |
| 42 | +<a name='step-2-configure-M-Files-to-support-provisioning-with-azure-ad'></a> |
| 43 | + |
| 44 | +## Step 2: Configure M-Files to support provisioning with Microsoft Entra ID |
| 45 | +Contact M-Files support to configure M-Files to support provisioning with Microsoft Entra ID. |
| 46 | + |
| 47 | +<a name='step-3-add-M-Files-from-the-azure-ad-application-gallery'></a> |
| 48 | + |
| 49 | +## Step 3: Add M-Files from the Microsoft Entra application gallery |
| 50 | + |
| 51 | +Add M-Files from the Microsoft Entra application gallery to start managing provisioning to M-Files. If you have previously set up M-Files for SSO you can use the same application. However, it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md). |
| 52 | + |
| 53 | +## Step 4: Define who will be in scope for provisioning |
| 54 | + |
| 55 | +The Microsoft Entra provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user / group. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users and groups to the application. If you choose to scope who will be provisioned based solely on attributes of the user or group, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md). |
| 56 | + |
| 57 | +* Start small. Test with a small set of users and groups before rolling out to everyone. When the scope for provisioning is set to assigned users and groups, you can control this by assigning one or two users or groups to the app. When the scope is set to all users and groups, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md). |
| 58 | + |
| 59 | +* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles. |
| 60 | + |
| 61 | +## Step 5: Configure automatic user provisioning to M-Files |
| 62 | + |
| 63 | +This section guides you through the steps to configure the Microsoft Entra provisioning service to create, update, and disable users and/or groups in TestApp based on user and/or group assignments in Microsoft Entra ID. |
| 64 | + |
| 65 | +<a name='to-configure-automatic-user-provisioning-for-M-Files-in-azure-ad'></a> |
| 66 | + |
| 67 | +### To configure automatic user provisioning for M-Files in Microsoft Entra ID: |
| 68 | + |
| 69 | +1. Sign in to the [Microsoft Entra admin center](https://entra.microsoft.com) as at least a [Cloud Application Administrator](../roles/permissions-reference.md#cloud-application-administrator). |
| 70 | +1. Browse to **Identity** > **Applications** > **Enterprise applications** |
| 71 | + |
| 72 | +  |
| 73 | + |
| 74 | +1. In the applications list, select **M-Files**. |
| 75 | + |
| 76 | +  |
| 77 | + |
| 78 | +1. Select the **Provisioning** tab. |
| 79 | + |
| 80 | +  |
| 81 | + |
| 82 | +1. Set the **Provisioning Mode** to **Automatic**. |
| 83 | + |
| 84 | +  |
| 85 | + |
| 86 | +1. Under the **Admin Credentials** section, input `https://api.getM-Files.com/scim/v2/` as your M-Files Tenant URL and your [SCIM API key](https://learning.M-Files.com/docs/administration/scim-provisioning/scim-provisioning-overview/#generating-scim-api-key) as the Secret Token. Click **Test Connection** to ensure Microsoft Entra ID can connect to M-Files. If the connection fails, ensure your M-Files account has Admin permissions and try again. |
| 87 | + |
| 88 | +  |
| 89 | + |
| 90 | +1. In the **Notification Email** field, enter the email address of a person or group who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box. |
| 91 | + |
| 92 | +  |
| 93 | + |
| 94 | +1. Select **Save**. |
| 95 | + |
| 96 | +1. Under the **Mappings** section, select **Synchronize Microsoft Entra users to M-Files**. |
| 97 | + |
| 98 | +1. Review the user attributes that are synchronized from Microsoft Entra ID to M-Files in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in M-Files for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you'll need to ensure that the M-Files API supports filtering users based on that attribute. Select the **Save** button to commit any changes. |
| 99 | + |
| 100 | + |Attribute|Type|Supported for filtering|Required by M-Files| |
| 101 | + |---|---|---|---| |
| 102 | + |userName|String|✓|✓ |
| 103 | + |active|Boolean|| |
| 104 | + |emails[type eq "work"].value|String| |
| 105 | + |name.givenName|String|| |
| 106 | + |name.familyName|String|| |
| 107 | + |name.formatted|String|| |
| 108 | + |externalId|String|| |
| 109 | + |urn:ietf:params:scim:schemas:extension:info:2.0:User:info1|String|| |
| 110 | + |urn:ietf:params:scim:schemas:extension:info:2.0:User:info2|String|| |
| 111 | + |
| 112 | +1. Under the **Mappings** section, select **Synchronize Microsoft Entra groups to M-Files**. |
| 113 | + |
| 114 | +1. Review the group attributes that are synchronized from Microsoft Entra ID to M-Files in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the groups in M-Files for update operations. Select the **Save** button to commit any changes. |
| 115 | + |
| 116 | + |Attribute|Type|Supported for filtering|Required by M-Files| |
| 117 | + |---|---|---|---| |
| 118 | + |displayName|String|✓|✓ |
| 119 | + |members|Reference|| |
| 120 | + |externalId|String|| |
| 121 | + |
| 122 | +1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md). |
| 123 | + |
| 124 | +1. To enable the Microsoft Entra provisioning service for M-Files, change the **Provisioning Status** to **On** in the **Settings** section. |
| 125 | + |
| 126 | +  |
| 127 | + |
| 128 | +1. Define the users and/or groups that you would like to provision to M-Files by choosing the desired values in **Scope** in the **Settings** section. |
| 129 | + |
| 130 | +  |
| 131 | + |
| 132 | +1. When you're ready to provision, click **Save**. |
| 133 | + |
| 134 | +  |
| 135 | + |
| 136 | +This operation starts the initial synchronization cycle of all users and groups defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Microsoft Entra provisioning service is running. |
| 137 | + |
| 138 | +## Step 6: Monitor your deployment |
| 139 | +Once you've configured provisioning, use the following resources to monitor your deployment: |
| 140 | + |
| 141 | +* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully. |
| 142 | +* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion. |
| 143 | +* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md). |
| 144 | + |
| 145 | +## More resources |
| 146 | + |
| 147 | +* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md). |
| 148 | +* [What is application access and single sign-on with Microsoft Entra ID?](../manage-apps/what-is-single-sign-on.md). |
| 149 | + |
| 150 | +## Next steps |
| 151 | + |
| 152 | +* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md). |
0 commit comments