Skip to content

Commit 4eb8c50

Browse files
committed
Merging changes synced from https://github.com/MicrosoftDocs/azure-docs-pr (branch live)
2 parents 7fcf768 + 390cfe8 commit 4eb8c50

File tree

47 files changed

+951
-268
lines changed

Some content is hidden

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

47 files changed

+951
-268
lines changed

articles/active-directory-b2c/restful-technical-profile.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 02/24/2020
12+
ms.date: 03/02/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -122,6 +122,7 @@ The technical profile also returns claims, that aren't returned by the identity
122122
| --------- | -------- | ----------- |
123123
| ServiceUrl | Yes | The URL of the REST API endpoint. |
124124
| AuthenticationType | Yes | The type of authentication being performed by the RESTful claims provider. Possible values: `None`, `Basic`, `Bearer`, or `ClientCertificate`. The `None` value indicates that the REST API is not anonymous. The `Basic` value indicates that the REST API is secured with HTTP basic authentication. Only verified users, including Azure AD B2C, can access your API. The `ClientCertificate` (recommended) value indicates that the REST API restricts access by using client certificate authentication. Only services that have the appropriate certificates, for example Azure AD B2C, can access your API. The `Bearer` value indicates that the REST API restricts access using client OAuth2 Bearer token. |
125+
| AllowInsecureAuthInProduction| No| Indicates whether the `AuthenticationType` can be set to `none` in production environment (`DeploymentMode` of the [TrustFrameworkPolicy](trustframeworkpolicy.md) is set to `Production`, or not specified). Possible values: true, or false (default). |
125126
| SendClaimsIn | No | Specifies how the input claims are sent to the RESTful claims provider. Possible values: `Body` (default), `Form`, `Header`, or `QueryString`. The `Body` value is the input claim that is sent in the request body in JSON format. The `Form` value is the input claim that is sent in the request body in an ampersand '&' separated key value format. The `Header` value is the input claim that is sent in the request header. The `QueryString` value is the input claim that is sent in the request query string. The HTTP verbs invoked by each are as follows:<br /><ul><li>`Body`: POST</li><li>`Form`: POST</li><li>`Header`: GET</li><li>`QueryString`: GET</li></ul> |
126127
| ClaimsFormat | No | Specifies the format for the output claims. Possible values: `Body` (default), `Form`, `Header`, or `QueryString`. The `Body` value is the output claim that is sent in the request body in JSON format. The `Form` value is the output claim that is sent in the request body in an ampersand '&' separated key value format. The `Header` value is the output claim that is sent in the request header. The `QueryString` value is the output claim that is sent in the request query string. |
127128
| ClaimUsedForRequestPayload| No | Name of a string claim that contains the payload to be sent to the REST API. |

articles/active-directory-b2c/userjourneys.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ The **OrchestrationStep** element contains the following attributes:
6060
| Attribute | Required | Description |
6161
| --------- | -------- | ----------- |
6262
| `Order` | Yes | The order of the orchestration steps. |
63-
| `Type` | Yes | The type of the orchestration step. Possible values: <ul><li>**ClaimsProviderSelection** - Indicates that the orchestration step presents various claims providers to the user to select one.</li><li>**CombinedSignInAndSignUp** - Indicates that the orchestration step presents a combined social provider sign-in and local account sign-up page.</li><li>**ClaimsExchange** - Indicates that the orchestration step exchanges claims with a claims provider.</li><li>**SendClaims** - Indicates that the orchestration step sends the claims to the relying party with a token issued by a claims issuer.</li></ul> |
63+
| `Type` | Yes | The type of the orchestration step. Possible values: <ul><li>**ClaimsProviderSelection** - Indicates that the orchestration step presents various claims providers to the user to select one.</li><li>**CombinedSignInAndSignUp** - Indicates that the orchestration step presents a combined social provider sign-in and local account sign-up page.</li><li>**ClaimsExchange** - Indicates that the orchestration step exchanges claims with a claims provider.</li><li>**GetClaims** - Indicates that the orchestration step reads the input claims.</li><li>**SendClaims** - Indicates that the orchestration step sends the claims to the relying party with a token issued by a claims issuer.</li></ul> |
6464
| ContentDefinitionReferenceId | No | The identifier of the [content definition](contentdefinitions.md) associated with this orchestration step. Usually the content definition reference identifier is defined in the self-asserted technical profile. But, there are some cases when Azure AD B2C needs to display something without a technical profile. There are two examples - if the type of the orchestration step is one of following: `ClaimsProviderSelection` or `CombinedSignInAndSignUp`, Azure AD B2C needs to display the identity provider selection without having a technical profile. |
6565
| CpimIssuerTechnicalProfileReferenceId | No | The type of the orchestration step is `SendClaims`. This property defines the technical profile identifier of the claims provider that issues the token for the relying party. If absent, no relying party token is created. |
6666

articles/active-directory/authentication/howto-password-ban-bad-on-premises-deploy.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ There are two required installers for Azure AD password protection. They're avai
103103
* Each such service can only provide password policies for a single forest. The host machine must be joined to a domain in that forest. Root and child domains are both supported. You need network connectivity between at least one DC in each domain of the forest and the password protection machine.
104104
* You can run the proxy service on a domain controller for testing. But that domain controller then requires internet connectivity, which can be a security concern. We recommend this configuration for testing only.
105105
* We recommend at least two proxy servers for redundancy. See [High availability](howto-password-ban-bad-on-premises-deploy.md#high-availability).
106+
* It is not supported to run the proxy service on a read-only domain controller.
106107

107108
1. Install the Azure AD Password Protection Proxy service using the `AzureADPasswordProtectionProxySetup.exe` software installer.
108109
* The software installation does not require a reboot. The software installation may be automated using standard MSI procedures, for example:
@@ -130,11 +131,11 @@ There are two required installers for Azure AD password protection. They're avai
130131
131132
`Register-AzureADPasswordProtectionProxy`
132133
133-
This cmdlet requires global administrator credentials for your Azure tenant. You also need on-premises Active Directory domain administrator privileges in the forest root domain. You must also run this cmdlet using an account with local administrator privileges.
134+
This cmdlet requires global administrator credentials for your Azure tenant. You also need on-premises Active Directory domain administrator privileges in the forest root domain. This cmdlet must also be run using an account with local administrator privileges.
134135
135136
After this command succeeds once for a proxy service, additional invocations of it will succeed but are unnecessary.
136137
137-
The `Register-AzureADPasswordProtectionProxy` cmdlet supports the following three authentication modes. The first two modes support Azure Multi-Factor Authentication but the third mode does not. Please see comments below for more details.
138+
The `Register-AzureADPasswordProtectionProxy` cmdlet supports the following three authentication modes. The first two modes support Azure Multi-Factor Authentication but the third mode does not. See comments below for more details.
138139
139140
* Interactive authentication mode:
140141
@@ -176,11 +177,11 @@ There are two required installers for Azure AD password protection. They're avai
176177
> There might be a noticeable delay before completion the first time that this cmdlet is run for a specific Azure tenant. Unless a failure is reported, don't worry about this delay.
177178
178179
1. Register the forest.
179-
* You must initialize the on-premises Active Directory forest with the necessary credentials to communicate with Azure by using the `Register-AzureADPasswordProtectionForest` PowerShell cmdlet.
180+
* Initialize the on-premises Active Directory forest with the necessary credentials to communicate with Azure by using the `Register-AzureADPasswordProtectionForest` PowerShell cmdlet.
180181
181182
The cmdlet requires global administrator credentials for your Azure tenant. You must also run this cmdlet using an account with local administrator privileges. It also requires on-premises Active Directory Enterprise Administrator privileges. This step is run once per forest.
182183
183-
The `Register-AzureADPasswordProtectionForest` cmdlet supports the following three authentication modes. The first two modes support Azure Multi-Factor Authentication but the third mode does not. Please see comments below for more details.
184+
The `Register-AzureADPasswordProtectionForest` cmdlet supports the following three authentication modes. The first two modes support Azure Multi-Factor Authentication but the third mode does not. See comments below for more details.
184185
185186
* Interactive authentication mode:
186187
@@ -263,7 +264,7 @@ There are two required installers for Azure AD password protection. They're avai
263264
The proxy service doesn't support the use of specific credentials for connecting to an HTTP proxy.
264265
265266
1. Optional: Configure the proxy service for password protection to listen on a specific port.
266-
* The DC Agent software for password protection on the domain controllers uses RPC over TCP to communicate with the proxy service. By default, the proxy service listens on any available dynamic RPC endpoint. But you can configure the service to listen on a specific TCP port, if this is necessary because of networking topology or firewall requirements in your environment.
267+
* The DC Agent software for password protection on the domain controllers uses RPC over TCP to communicate with the proxy service. By default, the proxy service listens on any available dynamic RPC endpoint. You can configure the service to listen on a specific TCP port, if necessary due to networking topology or firewall requirements in your environment.
267268
* <a id="static" /></a>To configure the service to run under a static port, use the `Set-AzureADPasswordProtectionProxyConfiguration` cmdlet.
268269
269270
```powershell
@@ -341,6 +342,8 @@ There are no additional requirements to deploy Azure AD password protection acro
341342
342343
Password changes/sets are not processed and persisted on read-only domain controllers (RODCs). They are forwarded to writable domain controllers. So, you don't have to install the DC Agent software on RODCs.
343344
345+
It is not supported to run the proxy service on a read-only domain controller.
346+
344347
## High availability
345348
346349
The main availability concern for password protection is the availability of proxy servers when the domain controllers in a forest try to download new policies or other data from Azure. Each DC Agent uses a simple round-robin-style algorithm when deciding which proxy server to call. The Agent skips proxy servers that aren't responding. For most fully connected Active Directory deployments that have healthy replication of both directory and sysvol folder state, two proxy servers is enough to ensure availability. This results in timely download of new policies and other data. But you can deploy additional proxy servers.
29.2 KB
Loading
25.2 KB
Loading
32.7 KB
Loading
Binary file not shown.
Binary file not shown.
Binary file not shown.

articles/active-directory/b2b/use-dynamic-groups.md

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: B2B
88
ms.topic: conceptual
9-
ms.date: 12/14/2017
9+
ms.date: 02/28/2020
1010

1111
ms.author: mimart
1212
author: msmimart
@@ -23,21 +23,51 @@ Dynamic configuration of security group membership for Azure Active Directory (A
2323

2424
The appropriate [Azure AD Premium P1 or P2 licensing](https://azure.microsoft.com/pricing/details/active-directory/) is required to create and use dynamic groups. Learn more in the article [Create attribute-based rules for dynamic group membership in Azure Active Directory](../users-groups-roles/groups-dynamic-membership.md).
2525

26-
## What are the built-in dynamic groups?
27-
The **All users** dynamic group enables tenant admins to create a group containing all users in the tenant with a single click. By default, the **All users** group includes all users in the directory, including Members and Guests.
28-
Within the new Azure Active Directory admin portal, you can choose to enable the **All users** group in the Group Settings view.
26+
## Creating an "all users" dynamic group
27+
You can create a group containing all users within a tenant using a membership rule. When users are added or removed from the tenant in the future, the group's membership is adjusted automatically.
2928

30-
![Shows enable the All Users group set to Yes](media/use-dynamic-groups/enable-all-users-group.png)
29+
1. Sign in to the [Azure portal](https://portal.azure.com) with an account that is assigned the Global administrator or User administrator role in the tenant.
30+
1. Select **Azure Active Directory**.
31+
2. Under **Manage**, select **Groups**, and then select **New group**.
32+
1. On the **New Group** page, under **Group type**, select **Security**. Enter a **Group name** and **Group description** for the new group.
33+
2. Under **Membership type**, select **Dynamic User**, and then select **Add dynamic query**.
34+
4. Above the **Rule syntax** text box, select **Edit**. On the **Edit rule syntax** page, type the following expression in the text box:
3135

32-
## Hardening the All users dynamic group
33-
By default, the **All users** group contains your B2B collaboration (guest) users as well. You can further secure your **All users** group by using a rule to remove guest users. The following illustration shows the **All users** group modified to exclude guests.
36+
```
37+
user.objectId -ne null
38+
```
39+
1. Select **OK**. The rule appears in the Rule syntax box:
3440

35-
![Shows rule where user type not equals guest](media/use-dynamic-groups/exclude-guest-users.png)
41+
![Rule syntax for all users dynamic group](media/use-dynamic-groups/all-user-rule-syntax.png)
3642

37-
You might also find it useful to create a new dynamic group that contains only guest users, so that you can apply policies (such as Azure AD Conditional Access policies) to them.
38-
What such a group might look like:
43+
1. Select **Save**. The new dynamic group will now include B2B guest users as well as member users.
3944

40-
![Shows rule where user type equals guest](media/use-dynamic-groups/only-guest-users.png)
45+
46+
1. Select **Create** on the **New group** page to create the group.
47+
48+
## Creating a group of members only
49+
50+
If you want your group to exclude guest users and include only members of your tenant, create a dynamic group as described above, but in the **Rule syntax** box, enter the following expression:
51+
52+
```
53+
(user.objectId -ne null) and (user.userType -eq "Member")
54+
```
55+
56+
The following image shows the rule syntax for a dynamic group modified to include members only and exclude guests.
57+
58+
![Shows rule where user type equals member](media/use-dynamic-groups/all-member-user-rule-syntax.png)
59+
60+
## Creating a group of guests only
61+
62+
You might also find it useful to create a new dynamic group that contains only guest users, so that you can apply policies (such as Azure AD Conditional Access policies) to them. Create a dynamic group as described above, but in the **Rule syntax** box, enter the following expression:
63+
64+
```
65+
(user.objectId -ne null) and (user.userType -eq "Guest")
66+
```
67+
68+
The following image shows the rule syntax for a dynamic group modified to include guests only and exclude member users.
69+
70+
![Shows rule where user type equals guest](media/use-dynamic-groups/all-guest-user-rule-syntax.png)
4171

4272
## Next steps
4373

0 commit comments

Comments
 (0)