Skip to content

Commit 3746716

Browse files
authored
Merge pull request #170061 from MicrosoftDocs/master
8/23 PM Publish
2 parents 58d8248 + e875f6a commit 3746716

File tree

126 files changed

+1128
-632
lines changed

Some content is hidden

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

126 files changed

+1128
-632
lines changed

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
exempt-pr-labels: keep-open
2121
operations-per-run: 700
2222
ascending: true
23-
start-date: '2020-12-17'
23+
start-date: '2021-04-06'
2424
stale-pr-message: >
2525
This pull request has been inactive for at least 14 days.
2626
If you are finished with your changes, don't forget to sign off. See the [contributor guide](https://review.docs.microsoft.com/help/contribute/contribute-how-to-write-pull-request-automation) for instructions.

articles/active-directory-b2c/partner-akamai.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ ms.subservice: B2C
1818

1919
In this sample tutorial, learn how to enable [Akamai Web Application Firewall (WAF)](https://www.akamai.com/us/en/resources/web-application-firewall.jsp) solution for Azure Active Directory (AD) B2C tenant using custom domains. Akamai WAF helps organization protect their web applications from malicious attacks that aim to exploit vulnerabilities such as SQL injection and Cross site scripting.
2020

21+
>[!NOTE]
22+
>This feature is in public preview.
23+
2124
Benefits of using Akamai WAF solution:
2225

2326
- An edge platform that allows traffic management to your services.
@@ -104,4 +107,4 @@ Check the following to ensure all traffic to Azure AD B2C is now going through t
104107

105108
- [Configure a custom domain in Azure AD B2C](./custom-domain.md?pivots=b2c-user-flow)
106109

107-
- [Get started with custom policies in Azure AD B2C](./tutorial-create-user-flows.md?pivots=b2c-custom-policy&tabs=applications)
110+
- [Get started with custom policies in Azure AD B2C](./tutorial-create-user-flows.md?pivots=b2c-custom-policy&tabs=applications)

articles/active-directory-b2c/partner-azure-web-application-firewall.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ ms.subservice: B2C
1818

1919
In this sample tutorial, learn how to enable [Azure Web Application Firewall (WAF)](https://azure.microsoft.com/services/web-application-firewall/#overview) solution for Azure Active Directory (AD) B2C tenant with custom domain. Azure WAF provides centralized protection of your web applications from common exploits and vulnerabilities.
2020

21+
>[!NOTE]
22+
>This feature is in public preview.
23+
2124
## Prerequisites
2225

2326
To get started, you'll need:

articles/active-directory-b2c/partner-cloudflare.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ ms.subservice: B2C
1818

1919
In this sample tutorial, learn how to enable [Cloudflare Web Application Firewall (WAF)](https://www.cloudflare.com/waf/) solution for Azure Active Directory (AD) B2C tenant with custom domain. Cloudflare WAF helps organization protect against malicious attacks that aim to exploit vulnerabilities such as SQLi, and XSS.
2020

21+
>[!NOTE]
22+
>This feature is in public preview.
23+
2124
## Prerequisites
2225

2326
To get started, you'll need:
83.6 KB
Loading
59.3 KB
Loading
71.6 KB
Loading
13.4 KB
Loading
9.62 KB
Loading

articles/active-directory/app-provisioning/on-premises-application-provisioning-architecture.md

Lines changed: 62 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,67 @@ There are three primary components to provisioning users into an on-premises app
3838

3939
You don't need to open inbound connections to the corporate network. The provisioning agents only use outbound connections to the provisioning service, which means there's no need to open firewall ports for incoming connections. You also don't need a perimeter (DMZ) network because all connections are outbound and take place over a secure channel.
4040

41+
## ECMA Connector Host architecture
42+
The ECMA Connector Host has several areas it uses to achieve on-premises provisioning. The diagram below is a conceptual drawing that presents these individual areas. The table below describes the areas in more detail.
43+
44+
[![ECMA connector host](.\media\on-premises-application-provisioning-architecture\ecma-2.png)](.\media\on-premises-application-provisioning-architecture\ecma-2.png#lightbox)
45+
46+
47+
48+
|Area|Description|
49+
|-----|-----|
50+
|Endpoints|Responsible for communication and data-transfer with the Azure AD provisioning service|
51+
|In-memory cache|Used to store the data imported from the on-premises data source|
52+
|Autosync|Provides asynchronous data synchronization between the ECMA Connector Host and the on-premises data source|
53+
|Business logic|Used to coordinate all of the ECMA Connector Host activities. The Autosync time is configurable in the ECMA host. This is in the properties page.|
54+
55+
### About anchor attributes and distinguished names
56+
The following information is provided to better explain the anchor attributes and the distinguished names, particularly used by the genericSQL connector.
57+
58+
The anchor attribute is a unique attribute of an object type that does not change and represents that object in the ECMA Connector Host in-memory cache.
59+
60+
The distinguished name (DN) is a name that uniquely identifies an object by indicating its current location in the directory hierarchy. Or in the case of SQL, in the partition. The name is formed by concatenating the anchor attribute a the root of the directory partition.
61+
62+
When we think of traditional DNs in a traditional format, for say, Active Directory or LDAP, we think of something similar to:
63+
64+
CN=Lola Jacobson,CN=Users,DC=contoso,DC=com
65+
66+
However, for a data source such as SQL, which is flat, not hierarchical, the DN needs to be either already present in one of the table or created from the information we provide to the ECMA Connector Host.
67+
68+
This can be achieved by checking **Autogenerated** in the checkbox when configuring the genericSQL connector. When you choose DN to be autogenerated, the ECMA host will generate a DN in an LDAP format: CN=<anchorvalue>,OBJECT=<type>. This also assumes that DN is Anchor is **unchecked** in the Connectivity page.
69+
70+
[![DN is Anchor unchecked](.\media\on-premises-application-provisioning-architecture\user-2.png)](.\media\on-premises-application-provisioning-architecture\user-2.png#lightbox)
71+
72+
The genericSQL connector expects the DN to be populated using an LDAP format. The Generic SQL connector is using the LDAP style with the component name "OBJECT=". This allows it to use partitions (each object type is a partition).
73+
74+
Since ECMA Connector Host currently only supports the USER object type, the OBJECT=<type> will be OBJECT=USER. So the DN for a user with an anchorvalue of ljacobson would be:
75+
76+
CN=ljacobson,OBJECT=USER
77+
78+
79+
### User creation workflow
80+
81+
1. The Azure AD provisioning service queries the ECMA Connector Host to see if the user exists. It uses the **matching attribute** as the filter. This attribute is defined in the Azure AD portal under Enterprise applications -> On-premises provisioning -> provisioning -> attribute matching. It is denoted by the 1 for matching precedence.
82+
You can define one or more matching attribute(s) and prioritize them based on the precedence. Should you want to change the matching attribute you can also do so.
83+
[![Matching attribute](.\media\on-premises-application-provisioning-architecture\match-1.png)](.\media\on-premises-application-provisioning-architecture\match-1.png#lightbox)
84+
85+
2. ECMA Connector Host receives the GET request and queries its internal cache to see if the user exists and has based imported. This is done using the **query attribute**. The query attribute is defined in the object types page.
86+
[![Query attribute](.\media\on-premises-application-provisioning-architecture\match-2.png)](.\media\on-premises-application-provisioning-architecture\match-2.png#lightbox)
87+
88+
89+
3. If the user does not exist, Azure AD will make a POST request to create the user. The ECMA Connector Host will respond back to Azure AD with the HTTP 201 and provide an ID for the user. This ID is derived from the anchor value defined in the object types page. This anchor will be used by Azure AD to query the ECMA Connector Host for future and subsequent requests.
90+
4. If a change happens to the user in Azure AD, then Azure AD will make a GET request to retrieve the user using the anchor from the previous step, rather than the matching attribute in step 1. This allows, for example, the UPN to change without breaking the link between the user in Azuer AD and in the app.
91+
92+
4193
## Agent best practices
4294
- Ensure the auto Azure AD Connect Provisioning Agent Auto Update service is running. It's enabled by default when you install the agent. Auto-update is required for Microsoft to support your deployment.
4395
- Avoid all forms of inline inspection on outbound TLS communications between agents and Azure. This type of inline inspection causes degradation to the communication flow.
4496
- The agent must communicate with both Azure and your application, so the placement of the agent affects the latency of those two connections. You can minimize the latency of the end-to-end traffic by optimizing each network connection. Each connection can be optimized by:
4597
- Reducing the distance between the two ends of the hop.
4698
- Choosing the right network to traverse. For example, traversing a private network rather than the public internet might be faster because of dedicated links.
4799

100+
101+
48102
## Provisioning agent questions
49103
Some common questions are answered here.
50104

@@ -55,8 +109,8 @@ For the latest GA version of the provisioning agent, see [Azure AD connect provi
55109
### How do I know the version of my provisioning agent?
56110

57111
1. Sign in to the Windows server where the provisioning agent is installed.
58-
1. Go to **Control Panel** > **Uninstall or Change a Program**.
59-
1. Look for the version that corresponds to the entry for **Microsoft Azure AD Connect Provisioning Agent**.
112+
2. Go to **Control Panel** > **Uninstall or Change a Program**.
113+
3. Look for the version that corresponds to the entry for **Microsoft Azure AD Connect Provisioning Agent**.
60114

61115
### Does Microsoft automatically push provisioning agent updates?
62116

@@ -86,14 +140,17 @@ The provisioning agent supports use of outbound proxy. You can configure it by e
86140
You can also check whether all the required ports are open.
87141

88142
### How do I uninstall the provisioning agent?
89-
1. Sign in to the Windows server where the provisioning agent is installed.
90-
1. Go to **Control Panel** > **Uninstall or Change a Program**.
91-
1. Uninstall the following programs:
143+
1. Sign in to the Windows server where the provisioning agent is installed.
144+
2. Go to **Control Panel** > **Uninstall or Change a Program**.
145+
3. Uninstall the following programs:
92146
- Microsoft Azure AD Connect Provisioning Agent
93147
- Microsoft Azure AD Connect Agent Updater
94148
- Microsoft Azure AD Connect Provisioning Agent Package
95149

96150

151+
152+
153+
97154
## Next steps
98155

99156
- [App provisioning](user-provisioning.md)

0 commit comments

Comments
 (0)