Skip to content

Commit d34c839

Browse files
authored
Merge pull request #250888 from MicrosoftDocs/main
Publish to live, Monday 4 AM PST, 9/11
2 parents 7f66280 + dcc8957 commit d34c839

20 files changed

+295
-155
lines changed

articles/active-directory/develop/migrate-spa-implicit-to-auth-code.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ You can also [create a new app registration](scenario-spa-app-registration.md) i
5454

5555
## Update your code to MSAL.js 2.x
5656

57-
In MSAL 1.x, you created a application instance by initializing a [UserAgentApplication][msal-js-useragentapplication] as follows:
57+
In MSAL 1.x, you created a application instance by initializing a UserAgentApplication as follows:
5858

5959
```javascript
6060
// MSAL 1.x
@@ -91,5 +91,4 @@ To learn more about the authorization code flow, including the differences betwe
9191
If you'd like to dive deeper into JavaScript single-page application development on the Microsoft identity platform, the multi-part [Scenario: Single-page application](scenario-spa-overview.md) series of articles can help you get started.
9292

9393
<!-- LINKS - external -->
94-
[msal-js-useragentapplication]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal.useragentapplication.html
95-
[msal-js-publicclientapplication]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_browser.publicclientapplication.html
94+
[msal-js-publicclientapplication]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.PublicClientApplication.html

articles/active-directory/develop/msal-compare-msal-js-and-adal-js.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ window.config = {
7373
var authContext = new AuthenticationContext(config);
7474
```
7575

76-
In MSAL.js, you instantiate the [PublicClientApplication](https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_browser.publicclientapplication.html) class instead. Like ADAL.js, the constructor expects a [configuration object](#configure-msal) that contains the `clientId` parameter at minimum. See for more: [Initialize MSAL.js](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md)
76+
In MSAL.js, you instantiate the [PublicClientApplication](https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.PublicClientApplication.html) class instead. Like ADAL.js, the constructor expects a [configuration object](#configure-msal) that contains the `clientId` parameter at minimum. See for more: [Initialize MSAL.js](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md)
7777

7878
```javascript
7979
const msalConfig = {

articles/active-directory/develop/msal-js-initializing-client-applications.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ Three outcomes are possible from the promise:
116116

117117
## Initialize MSAL.js 1.x apps
118118

119-
Initialize the MSAL 1.x authentication context by instantiating a [UserAgentApplication][msal-js-useragentapplication] with a configuration object. The minimum required configuration property is the `clientID` of your application, shown as **Application (client) ID** on the **Overview** page of the app registration in the Azure portal.
119+
Initialize the MSAL 1.x authentication context by instantiating a UserAgentApplication with a configuration object. The minimum required configuration property is the `clientID` of your application, shown as **Application (client) ID** on the **Overview** page of the app registration in the Azure portal.
120120

121-
For authentication methods with redirect flows ([loginRedirect][msal-js-loginredirect] and [acquireTokenRedirect][msal-js-acquiretokenredirect]) in MSAL.js 1.2.x or earlier, you must explicitly register a callback for success or error through the `handleRedirectCallback()` method. Explicitly registering the callback is required in MSAL.js 1.2.x and earlier because redirect flows don't return promises like the methods with a pop-up experience do. Registering the callback is _optional_ in MSAL.js version 1.3.x and later.
121+
For authentication methods with redirect flows (loginRedirect and acquireTokenRedirect) in MSAL.js 1.2.x or earlier, you must explicitly register a callback for success or error through the `handleRedirectCallback()` method. Explicitly registering the callback is required in MSAL.js 1.2.x and earlier because redirect flows don't return promises like the methods with a pop-up experience do. Registering the callback is _optional_ in MSAL.js version 1.3.x and later.
122122

123123
```javascript
124124
// Configuration object constructed
@@ -157,9 +157,6 @@ The MSAL.js 2.x code sample on GitHub demonstrates instantiation of a [PublicCli
157157

158158
[msal-browser]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/msal-browser/
159159
[msal-core]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/msal-core/
160-
[msal-js-acquiretokenredirect]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal.useragentapplication.html#acquiretokenredirect
161-
[msal-js-configuration]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal.html#configuration
162-
[msal-js-handleredirectpromise]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_browser.publicclientapplication.html#handleredirectpromise
163-
[msal-js-loginredirect]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal.useragentapplication.html#loginredirect
164-
[msal-js-publicclientapplication]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_browser.publicclientapplication.html
165-
[msal-js-useragentapplication]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal.useragentapplication.html
160+
[msal-js-configuration]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_browser.PublicClientApplication.html#constructor
161+
[msal-js-handleredirectpromise]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.PublicClientApplication.html#handleredirectpromise
162+
[msal-js-publicclientapplication]: https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.PublicClientApplication.html

articles/active-directory/includes/automatic-redemption-include.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ The following table shows the consent prompt behavior for source tenant users wh
5252
| ![Icon for clear check mark.](../media/automatic-redemption-include/icon-check-mark-clear.png) | ![Icon for check mark.](../media/automatic-redemption-include/icon-check-mark.png) | Not suppressed |
5353
| ![Icon for clear check mark.](../media/automatic-redemption-include/icon-check-mark-clear.png) | ![Icon for clear check mark.](../media/automatic-redemption-include/icon-check-mark-clear.png) | Not suppressed |
5454
| **Inbound** | **Outbound** | |
55-
| ![Icon for check mark.](../media/automatic-redemption-include/icon-check-mark.png) | ![Icon for check mark.](../media/automatic-redemption-include/icon-check-mark.png) | Suppressed |
55+
| ![Icon for check mark.](../media/automatic-redemption-include/icon-check-mark.png) | ![Icon for check mark.](../media/automatic-redemption-include/icon-check-mark.png) | Not suppressed |
5656
| ![Icon for check mark.](../media/automatic-redemption-include/icon-check-mark.png) | ![Icon for clear check mark.](../media/automatic-redemption-include/icon-check-mark-clear.png) | Not suppressed |
5757
| ![Icon for clear check mark.](../media/automatic-redemption-include/icon-check-mark-clear.png) | ![Icon for check mark.](../media/automatic-redemption-include/icon-check-mark.png) | Not suppressed |
5858
| ![Icon for clear check mark.](../media/automatic-redemption-include/icon-check-mark-clear.png) | ![Icon for clear check mark.](../media/automatic-redemption-include/icon-check-mark-clear.png) | Not suppressed |
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
title: 'Tutorial: Configure Amazon Business for automatic user provisioning with Azure Active Directory'
3+
description: Learn how to automatically provision and de-provision user accounts from Azure AD to Amazon Business.
4+
services: active-directory
5+
author: twimmers
6+
writer: twimmers
7+
manager: jeedes
8+
ms.assetid: 48a929c5-6cfa-44ca-8471-641fa5a35ee0
9+
ms.service: active-directory
10+
ms.subservice: saas-app-tutorial
11+
ms.workload: identity
12+
ms.topic: tutorial
13+
ms.date: 09/08/2023
14+
ms.author: thwimmer
15+
---
16+
17+
# Tutorial: Configure Amazon Business for automatic user provisioning
18+
19+
This tutorial describes the steps you need to perform in both Amazon Business and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users and groups to [Amazon Business](https://www.amazon.com/b2b/info/amazon-business?layout=landing) 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 Amazon Business.
25+
> * Remove users in Amazon Business when they do not require access anymore.
26+
> * Keep user attributes synchronized between Azure AD and Amazon Business.
27+
> * Provision groups and group memberships in Amazon Business.
28+
> * [Single sign-on](amazon-business-tutorial.md) to Amazon Business (recommended).
29+
30+
## Prerequisites
31+
32+
The scenario outlined in this tutorial assumes that you already have the following prerequisites:
33+
34+
* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md).
35+
* 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).
36+
* An Amazon Business tenant.
37+
* A user account in Amazon Business with Admin permissions.
38+
39+
## Step 1. Plan your provisioning deployment
40+
1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
41+
1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
42+
1. Determine what data to [map between Azure AD and Amazon Business](../app-provisioning/customize-application-attributes.md).
43+
44+
## Step 2. Configure Amazon Business to support provisioning with Azure AD
45+
Contact Amazon Business support to configure Amazon Business to support provisioning with Azure AD.
46+
47+
## Step 3. Add Amazon Business from the Azure AD application gallery
48+
49+
Add Amazon Business from the Azure AD application gallery to start managing provisioning to Amazon Business. If you have previously setup Amazon Business 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).
50+
51+
## Step 4. Define who will be in scope for provisioning
52+
53+
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 / 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).
54+
55+
* When assigning users and groups to Amazon Business, you must select a role other than **Default Access**. Users with the Default Access role are excluded from provisioning and will be marked as not effectively entitled in the provisioning logs. If the only role available on the application is the default access role, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add additional roles.
56+
* Start small. Test with a small set of users and groups before rolling out to everyone. When 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 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).
57+
58+
59+
## Step 5. Configure automatic user provisioning to Amazon Business
60+
61+
This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users and/or groups in Amazon Business based on user and/or group assignments in Azure AD.
62+
63+
### To configure automatic user provisioning for Amazon Business in Azure AD:
64+
65+
1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
66+
67+
![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
68+
69+
1. In the applications list, select **Amazon Business**.
70+
71+
![Screenshot of the Amazon Business link in the Applications list.](common/all-applications.png)
72+
73+
1. Select the **Provisioning** tab.
74+
75+
![Screenshot of Provisioning tab.](common/provisioning.png)
76+
77+
1. Set the **Provisioning Mode** to **Automatic**.
78+
79+
![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
80+
81+
1. Under the **Admin Credentials** section, input your Amazon Business Tenant URL, Authorization Endpoint and Token Endpoint. Click **Test Connection** to ensure Azure AD can connect to Amazon Business. If the connection fails, ensure your Amazon Business account has Admin permissions and try again.
82+
83+
![Screenshot of Token.](media/amazon-business-provisioning-tutorial/test-connection.png)
84+
85+
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.
86+
87+
![Screenshot of Notification Email.](common/provisioning-notification-email.png)
88+
89+
1. Select **Save**.
90+
91+
1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Amazon Business**.
92+
93+
1. Review the user attributes that are synchronized from Azure AD to Amazon Business in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Amazon Business 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 Amazon Business API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
94+
95+
|Attribute|Type|Supported for filtering|Required by Amazon Business|
96+
|---|---|---|---|
97+
|userName|String|&check;|&check;
98+
|active|Boolean||
99+
|emails[type eq "work"].value|String||
100+
|name.givenName|String||
101+
|name.givenName|String||
102+
|externalId|String||
103+
|externalId|String||
104+
105+
1. Under the **Mappings** section, select **Synchronize Azure Active Directory Groups to Amazon Business**.
106+
107+
1. Review the group attributes that are synchronized from Azure AD to Amazon Business in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Amazon Business for update operations. Select the **Save** button to commit any changes.
108+
109+
|Attribute|Type|Supported for filtering|Required by Amazon Business|
110+
|---|---|---|---|
111+
|displayName|String|&check;|&check;
112+
|members|Reference||
113+
114+
115+
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).
116+
117+
1. To enable the Azure AD provisioning service for Amazon Business, change the **Provisioning Status** to **On** in the **Settings** section.
118+
119+
![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
120+
121+
1. Define the users and/or groups that you would like to provision to Amazon Business by choosing the desired values in **Scope** in the **Settings** section.
122+
123+
![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
124+
125+
1. When you're ready to provision, click **Save**.
126+
127+
![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
128+
129+
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 Azure AD provisioning service is running.
130+
131+
## Step 6. Monitor your deployment
132+
Once you've configured provisioning, use the following resources to monitor your deployment:
133+
134+
* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
135+
* 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
136+
* 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).
137+
138+
## More resources
139+
140+
* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
141+
* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
142+
143+
## Next steps
144+
145+
* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
20 KB
Loading

articles/active-directory/saas-apps/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3006,6 +3006,8 @@
30063006
href: alinto-protect-provisioning-tutorial.md
30073007
- name: ALVAO
30083008
href: alvao-provisioning-tutorial.md
3009+
- name: Amazon Business
3010+
href: amazon-business-provisioning-tutorial.md
30093011
- name: Amazon Web Services (AWS) - Role Provisioning
30103012
href: amazon-web-service-tutorial.md#configure-azure-ad-sso
30113013
- name: Appaegis Isolation Access Cloud

articles/azure-monitor/alerts/alerts-processing-rules.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Severity | The rule applies only to alerts with the selected severities. |
7676
* If you define multiple filters in a rule, all the rules apply. There's a logical AND between all filters.
7777
For example, if you set both `resource type = "Virtual Machines"` and `severity = "Sev0"`, then the rule applies only for `Sev0` alerts on virtual machines in the scope.
7878
* Each filter can include up to five values. There's a logical OR between the values.
79-
For example, if you set `description contains ["this", "that"]`, then the rule applies only to alerts whose description contains either `this` or `that`.
79+
For example, if you set `description contains "this, that" (in the field there is no need to write the apostrophes), then the rule applies only to alerts whose description contains either `this` or `that`.
8080

8181
### What should this rule do?
8282

0 commit comments

Comments
 (0)