Skip to content

Commit 134d92e

Browse files
Learn Build Service GitHub AppLearn Build Service GitHub App
authored andcommitted
Merging changes synced from https://github.com/MicrosoftDocs/azure-docs-pr (branch live)
2 parents 3991c6c + 0f1c626 commit 134d92e

File tree

116 files changed

+3425
-622
lines changed

Some content is hidden

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

116 files changed

+3425
-622
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2731,7 +2731,7 @@
27312731
},
27322732
{
27332733
"source_path_from_root": "/articles/active-directory/develop/howto-add-branding-in-azure-ad-apps.md",
2734-
"redirect_url": "/azure/active-directory/develop/howto-add-branding-in-apps.md",
2734+
"redirect_url": "/azure/active-directory/develop/howto-add-branding-in-apps",
27352735
"redirect_document_id": false
27362736
},
27372737
{

includes/active-directory-develop-scenarios-call-apis-dotnet.md renamed to articles/active-directory/develop/includes/web-api/scenarios-call-apis-dotnet.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ The methods to acquire tokens return `AuthenticationResult`. For async methods,
2424

2525
In MSAL.NET, `AuthenticationResult` exposes:
2626

27-
- `AccessToken` for the web API to access resources. This parameter is a string, usually a Base-64-encoded JWT. The client should never look inside the access token. The format isn't guaranteed to remain stable, and it can be encrypted for the resource. Writing code that depends on access token content on the client is one of the biggest sources of errors and client logic breaks. For more information, see [Access tokens](../articles/active-directory/develop/access-tokens.md).
28-
- `IdToken` for the user. This parameter is an encoded JWT. For more information, see [ID tokens](../articles/active-directory/develop/id-tokens.md).
27+
- `AccessToken` for the web API to access resources. This parameter is a string, usually a Base-64-encoded JWT. The client should never look inside the access token. The format isn't guaranteed to remain stable, and it can be encrypted for the resource. Writing code that depends on access token content on the client is one of the biggest sources of errors and client logic breaks. For more information, see [Access tokens](../../access-tokens.md).
28+
- `IdToken` for the user. This parameter is an encoded JWT. For more information, see [ID tokens](../../id-tokens.md).
2929
- `ExpiresOn` tells the date and time when the token expires.
3030
- `TenantId` contains the tenant in which the user was found. For guest users in Azure Active Directory (Azure AD) B2B scenarios, the tenant ID is the guest tenant, not the unique tenant.
3131
When the token is delivered for a user, `AuthenticationResult` also contains information about this user. For confidential client flows where tokens are requested with no user for the application, this user information is null.

articles/active-directory/develop/scenario-daemon-call-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ data = requests.get(endpoint, headers=http_headers, stream=False).json()
124124

125125
# [.NET low level](#tab/dotnet)
126126

127-
[!INCLUDE [Call web API in .NET](../../../includes/active-directory-develop-scenarios-call-apis-dotnet.md)]
127+
[!INCLUDE [Call web API in .NET](./includes/web-api/scenarios-call-apis-dotnet.md)]
128128

129129
---
130130

articles/active-directory/develop/scenario-desktop-call-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Now that you have a token, you can call a protected web API.
2424

2525
# [.NET](#tab/dotnet)
2626

27-
[!INCLUDE [Call web API in .NET](../../../includes/active-directory-develop-scenarios-call-apis-dotnet.md)]
27+
[!INCLUDE [Call web API in .NET](./includes/web-api/scenarios-call-apis-dotnet.md)]
2828

2929
# [Java](#tab/java)
3030

articles/active-directory/develop/scenario-mobile-call-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ task.resume()
109109

110110
### Xamarin
111111

112-
[!INCLUDE [Call web API in .NET](../../../includes/active-directory-develop-scenarios-call-apis-dotnet.md)]
112+
[!INCLUDE [Call web API in .NET](./includes/web-api/scenarios-call-apis-dotnet.md)]
113113

114114
## Make several API requests
115115

articles/active-directory/roles/view-assignments.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ This section describes how to list role assignments with organization-wide scope
138138
Use the [List unifiedRoleAssignments](/graph/api/rbacapplication-list-roleassignments) API to get the role assignments for a specific role definition. The following example shows how to list the role assignments for a specific role definition with the ID `3671d40a-1aac-426c-a0c1-a3821ebd8218`.
139139

140140
```http
141-
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments&$filter=roleDefinitionId eq ‘<template-id-of-role-definition>’
141+
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=roleDefinitionId eq ‘<template-id-of-role-definition>’
142142
```
143143

144144
Response
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
---
2+
title: 'Tutorial: Configure Albert for automatic user provisioning with Azure Active Directory'
3+
description: Learn how to automatically provision and de-provision user accounts from Azure AD to Albert.
4+
services: active-directory
5+
author: twimmers
6+
writer: twimmers
7+
manager: jeedes
8+
ms.assetid: b5672366-08ad-40ba-9cdf-7a24feff6c66
9+
ms.service: active-directory
10+
ms.subservice: saas-app-tutorial
11+
ms.workload: identity
12+
ms.topic: tutorial
13+
ms.date: 07/05/2023
14+
ms.author: thwimmer
15+
---
16+
17+
# Tutorial: Configure Albert for automatic user provisioning
18+
19+
This tutorial describes the steps you need to perform in both Albert and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users to [Albert](https://www.albertinvent.com/) using the Azure AD 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 Azure Active Directory](../app-provisioning/user-provisioning.md).
20+
21+
22+
## Supported capabilities
23+
> [!div class="checklist"]
24+
> * Create users in Albert.
25+
> * Remove users in Albert when they do not require access anymore.
26+
> * Keep user attributes synchronized between Azure AD and Albert.
27+
> * [Single sign-on](../manage-apps/add-application-portal-setup-oidc-sso.md) to Albert (recommended).
28+
29+
## Prerequisites
30+
31+
The scenario outlined in this tutorial assumes that you already have the following prerequisites:
32+
33+
* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
34+
* A user account in Azure AD 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 Albert 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 Azure AD and Albert](../app-provisioning/customize-application-attributes.md).
41+
42+
## Step 2. Configure Albert to support provisioning with Azure AD
43+
Contact Albert support to configure Albert to support provisioning with Azure AD.
44+
45+
## Step 3. Add Albert from the Azure AD application gallery
46+
47+
Add Albert from the Azure AD application gallery to start managing provisioning to Albert. If you have previously setup Albert 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).
48+
49+
## Step 4. Define who will be in scope for provisioning
50+
51+
The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user. 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 to the application. If you choose to scope who will be provisioned based solely on attributes of the user, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
52+
53+
* Start small. Test with a small set of users before rolling out to everyone. When scope for provisioning is set to assigned users, you can control this by assigning one or two users to the app. When scope is set to all users, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
54+
55+
* 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.
56+
57+
58+
## Step 5. Configure automatic user provisioning to Albert
59+
60+
This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users in TestApp based on user assignments in Azure AD.
61+
62+
### To configure automatic user provisioning for Albert in Azure AD:
63+
64+
1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
65+
66+
![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
67+
68+
1. In the applications list, select **Albert**.
69+
70+
![Screenshot of the Albert link in the Applications list.](common/all-applications.png)
71+
72+
1. Select the **Provisioning** tab.
73+
74+
![Screenshot of Provisioning tab.](common/provisioning.png)
75+
76+
1. Set the **Provisioning Mode** to **Automatic**.
77+
78+
![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
79+
80+
1. Under the **Admin Credentials** section, input your Albert Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to Albert. If the connection fails, ensure your Albert account has Admin permissions and try again.
81+
82+
![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
83+
84+
1. In the **Notification Email** field, enter the email address of a person who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
85+
86+
![Screenshot of Notification Email.](common/provisioning-notification-email.png)
87+
88+
1. Select **Save**.
89+
90+
1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Albert**.
91+
92+
1. Review the user attributes that are synchronized from Azure AD to Albert in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Albert 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 Albert API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
93+
94+
|Attribute|Type|Supported for filtering|Required by Albert|
95+
|---|---|---|---|
96+
|userName|String|&check;|&check;
97+
|active|Boolean||&check;
98+
|externalId|String||&check;
99+
100+
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).
101+
102+
1. To enable the Azure AD provisioning service for Albert, change the **Provisioning Status** to **On** in the **Settings** section.
103+
104+
![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
105+
106+
1. Define the users that you would like to provision to Albert by choosing the desired values in **Scope** in the **Settings** section.
107+
108+
![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
109+
110+
1. When you're ready to provision, click **Save**.
111+
112+
![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
113+
114+
This operation starts the initial synchronization cycle of all users 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 Azure AD provisioning service is running.
115+
116+
## Step 6. Monitor your deployment
117+
Once you've configured provisioning, use the following resources to monitor your deployment:
118+
119+
* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
120+
* 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
121+
* 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).
122+
123+
## More resources
124+
125+
* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
126+
* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
127+
128+
## Next steps
129+
130+
* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
195 KB
Loading
65.3 KB
Loading
102 KB
Loading

0 commit comments

Comments
 (0)