Skip to content

Commit 607dfe2

Browse files
authored
Merge pull request #101092 from bandersmsft/release-mvc-cost-mgt-billing
cost mgt billing - Dirty PR for release branch merge conflict with upstream master
2 parents 047af74 + 1873d10 commit 607dfe2

File tree

395 files changed

+5930
-3454
lines changed

Some content is hidden

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

395 files changed

+5930
-3454
lines changed

.openpublishing.redirection.json

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44702,6 +44702,11 @@
4470244702
"redirect_url": "/azure/virtual-machines/linux/create-cli-complete",
4470344703
"redirect_document_id": false
4470444704
},
44705+
{
44706+
"source_path": "articles/virtual-machines/workloads/workloads.md",
44707+
"redirect_url": "/azure/virtual-machines/",
44708+
"redirect_document_id": false
44709+
},
4470544710
{
4470644711
"source_path": "articles/virtual-machines/windows/maintenance-and-updates.md",
4470744712
"redirect_url": "/azure/virtual-machines/maintenance-and-updates?toc=/azure/virtual-machines/windows/toc.json&bc=/azure/virtual-machines/windows/breadcrumb/toc.json",
@@ -45237,6 +45242,22 @@
4523745242
"redirect_url": "/azure/machine-learning",
4523845243
"redirect_document_id": false
4523945244
},
45245+
45246+
{
45247+
"source_path": "articles/cognitive-services/QnAMaker/Quickstarts/create-publish-kb-nodejs-sdk.md",
45248+
"redirect_url": "/azure/cognitive-services//QnAMaker/Quickstarts/quickstart-sdk",
45249+
"redirect_document_id": false
45250+
},
45251+
{
45252+
"source_path": "articles/cognitive-services/QnAMaker/Quickstarts/create-publish-kb-csharp-sdk.md",
45253+
"redirect_url": "/azure/cognitive-services//QnAMaker/Quickstarts/quickstart-sdk",
45254+
"redirect_document_id": false
45255+
},
45256+
{
45257+
"source_path": "articles/cognitive-services/QnAMaker/Quickstarts/python-sdk.md",
45258+
"redirect_url": "/azure/cognitive-services//QnAMaker/Quickstarts/quickstart-sdk",
45259+
"redirect_document_id": false
45260+
},
4524045261
{
4524145262
"source_path": "articles/cognitive-services/QnAMaker/Quickstarts/create-knowledge-rest-api-nodejs.md",
4524245263
"redirect_url": "/azure/cognitive-services//QnAMaker/Quickstarts/publish-kb-nodejs",
@@ -57207,6 +57228,11 @@
5720757228
"redirect_url": "/azure/event-hubs/event-hubs-node-get-started-send",
5720857229
"redirect_document_id": false
5720957230
},
57231+
{
57232+
"source_path": "articles/event-hubs/event-hubs-python.md",
57233+
"redirect_url": "/azure/event-hubs/event-hubs-python-get-started-send",
57234+
"redirect_document_id": false
57235+
},
5721057236
{
5721157237
"source_path": "articles/event-hubs/event-hubs-python-get-started-receive.md",
5721257238
"redirect_url": "/azure/event-hubs/event-hubs-python-get-started-send",
@@ -57324,7 +57350,12 @@
5732457350
},
5732557351
{
5732657352
"source_path": "articles/hdinsight/hdinsight-hadoop-create-windows-clusters-dotnet-sdk.md",
57327-
"redirect_url": "/azure/hdinsight/hdinsight-hadoop-create-linux-clusters-dotnet-sdk",
57353+
"redirect_url": "https://docs.microsoft.com/dotnet/api/overview/azure/hdinsight?view=azure-dotnet",
57354+
"redirect_document_id": false
57355+
},
57356+
{
57357+
"source_path": "articles/hdinsight/hdinsight-hadoop-create-linux-clusters-dotnet-sdk.md",
57358+
"redirect_url": "https://docs.microsoft.com/dotnet/api/overview/azure/hdinsight?view=azure-dotnet",
5732857359
"redirect_document_id": false
5732957360
},
5733057361
{
@@ -72869,8 +72900,13 @@
7286972900
},
7287072901
{
7287172902
"source_path": "articles/hdinsight/hdinsight-deep-learning-caffe-spark.md",
72872-
"redirect_url": "/azure/hdinsight/spark/apache-spark-deep-learning-caffe",
72873-
"redirect_document_id": true
72903+
"redirect_url": "/azure/hdinsight/spark/apache-spark-machine-learning-mllib-ipython",
72904+
"redirect_document_id": false
72905+
},
72906+
{
72907+
"source_path": "articles/hdinsight/spark/apache-spark-deep-learning-caffe.md",
72908+
"redirect_url": "/azure/hdinsight/spark/apache-spark-machine-learning-mllib-ipython",
72909+
"redirect_document_id": false
7287472910
},
7287572911
{
7287672912
"source_path": "articles/hdinsight/hdinsight-develop-deploy-java-mapreduce-linux.md",
@@ -85828,7 +85864,12 @@
8582885864
},
8582985865
{
8583085866
"source_path": "articles/hdinsight/hdinsight-hadoop-giraph-install.md",
85831-
"redirect_url": "/azure/hdinsight/hdinsight-hadoop-giraph-install-linux",
85867+
"redirect_url": "/azure/hdinsight/hdinsight-hadoop-hue-linux",
85868+
"redirect_document_id": false
85869+
},
85870+
{
85871+
"source_path": "articles/hdinsight/hdinsight-hadoop-giraph-install-linux.md",
85872+
"redirect_url": "/azure/hdinsight/hdinsight-hadoop-hue-linux",
8583285873
"redirect_document_id": false
8583385874
},
8583485875
{
@@ -90275,6 +90316,21 @@
9027590316
"source_path": "articles/media-services/latest/cae-experimental.md",
9027690317
"redirect_url": "/azure/media-services/latest/content-aware-encoding",
9027790318
"redirect_document_id": true
90319+
},
90320+
{
90321+
"source_path": "articles/virtual-machines/workloads/redhat/redhat-byos.md",
90322+
"redirect_url": "/azure/virtual-machines/workloads/redhat/byos",
90323+
"redirect_document_id": false
90324+
},
90325+
{
90326+
"source_path": "articles/virtual-machines/workloads/redhat/redhat-overview.md",
90327+
"redirect_url": "/azure/virtual-machines/workloads/redhat/overview",
90328+
"redirect_document_id": false
90329+
},
90330+
{
90331+
"source_path": "articles/load-balancer/load-balancer-arm.md",
90332+
"redirect_url": "/azure/load-balancer/load-balancer-overview",
90333+
"redirect_document_id": true
9027890334
}
9027990335
]
9028090336
}

articles/active-directory-b2c/active-directory-b2c-custom-rest-api-netfw-secure-basic.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -298,17 +298,19 @@ After your RESTful service is protected by the client ID (username) and secret,
298298

299299
## Step 5: Upload the policy to your tenant
300300

301-
1. In the [Azure portal](https://portal.azure.com), switch to the [context of your Azure AD B2C tenant](tutorial-create-tenant.md), and then open **Azure AD B2C**.
301+
1. In the [Azure portal](https://portal.azure.com), select the **Directory + Subscription** icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.
302302
303-
2. Select **Identity Experience Framework**.
303+
1. In the Azure portal, search for and select **Azure AD B2C**.
304304

305-
3. Open **All Policies**.
305+
1. Select **Identity Experience Framework**.
306306

307-
4. Select **Upload Policy**.
307+
1. Open **All Policies**.
308308

309-
5. Select the **Overwrite the policy if it exists** check box.
309+
1. Select **Upload Policy**.
310310

311-
6. Upload the *TrustFrameworkExtensions.xml* file, and then ensure that it passes validation.
311+
1. Select the **Overwrite the policy if it exists** check box.
312+
313+
1. Upload the *TrustFrameworkExtensions.xml* file, and then ensure that it passes validation.
312314

313315
## Step 6: Test the custom policy by using Run Now
314316

articles/active-directory-b2c/active-directory-b2c-custom-rest-api-netfw-secure-cert.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,19 @@ To support client certificate authentication in your custom policy, change the t
9696

9797
## Step 4: Upload the policy to your tenant
9898

99-
1. In the [Azure portal](https://portal.azure.com), switch to the [context of your Azure AD B2C tenant](tutorial-create-tenant.md), and then select **Azure AD B2C**.
99+
1. In the [Azure portal](https://portal.azure.com), select the **Directory + Subscription** icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.
100100

101-
2. Select **Identity Experience Framework**.
101+
1. In the Azure portal, search for and select **Azure AD B2C**.
102102

103-
3. Select **All Policies**.
103+
1. Select **Identity Experience Framework**.
104104

105-
4. Select **Upload Policy**.
105+
1. Select **All Policies**.
106106

107-
5. Select the **Overwrite the policy if it exists** check box.
107+
1. Select **Upload Policy**.
108108

109-
6. Upload the *TrustFrameworkExtensions.xml* file, and then ensure that it passes validation.
109+
1. Select the **Overwrite the policy if it exists** check box.
110+
111+
1. Upload the *TrustFrameworkExtensions.xml* file, and then ensure that it passes validation.
110112

111113
## Step 5: Test the custom policy by using Run Now
112114
1. Open **Azure AD B2C Settings**, and then select **Identity Experience Framework**.

articles/active-directory-b2c/active-directory-b2c-custom-rest-api-netfw.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,9 @@ After you add the new claim, the relying party code looks like this:
333333

334334
## Step 7: Upload the policy to your tenant
335335

336-
1. In the [Azure portal](https://portal.azure.com), switch to the [context of your Azure AD B2C tenant](tutorial-create-tenant.md), and then open **Azure AD B2C**.
336+
1. In the [Azure portal](https://portal.azure.com), Select the **Directory + Subscription** icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.
337+
338+
1. In the Azure portal, search for and select **Azure AD B2C**.
337339

338340
1. Select **Identity Experience Framework**.
339341

articles/active-directory-b2c/active-directory-b2c-ui-customization-custom-dynamic.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -213,17 +213,19 @@ To configure `ContentDefinition`, do the following:
213213
![Example XML snippet with LoadUri element highlighted](media/active-directory-b2c-ui-customization-custom-dynamic/aadb2c-ief-ui-customization-content-definition.png)
214214

215215
## Step 6: Upload the policy to your tenant
216-
1. In the [Azure portal](https://portal.azure.com), switch to the [context of your Azure AD B2C tenant](tutorial-create-tenant.md), and then select **Azure AD B2C**.
216+
1. In the [Azure portal](https://portal.azure.com), select the **Directory + Subscription** icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.
217217
218-
2. Select **Identity Experience Framework**.
218+
1. In the Azure portal, search for and select **Azure AD B2C**.
219219

220-
3. Select **All Policies**.
220+
1. Select **Identity Experience Framework**.
221221

222-
4. Select **Upload Policy**.
222+
1. Select **All Policies**.
223223

224-
5. Select the **Overwrite the policy if it exists** check box.
224+
1. Select **Upload Policy**.
225225

226-
6. Upload the *TrustFrameworkExtensions.xml* file, and ensure that it passes validation.
226+
1. Select the **Overwrite the policy if it exists** check box.
227+
228+
1. Upload the *TrustFrameworkExtensions.xml* file, and ensure that it passes validation.
227229

228230
## Step 7: Test the custom policy by using Run Now
229231
1. Select **Azure AD B2C Settings**, and then select **Identity Experience Framework**.
@@ -341,7 +343,3 @@ If you select the **Sign up now** link on the sign-in page, the browser displays
341343
## (Optional) Download the complete policy files and code
342344
* After you complete the [Get started with custom policies](active-directory-b2c-get-started-custom.md) walkthrough, we recommend that you build your scenario by using your own custom policy files. For your reference, we have provided [Sample policy files](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/scenarios/aadb2c-ief-ui-customization).
343345
* You can download the complete code from [Sample Visual Studio solution for reference](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/scenarios/aadb2c-ief-ui-customization).
344-
345-
346-
347-

articles/active-directory-b2c/cookie-definitions.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,3 @@ The following table lists the cookies used in Azure Active Directory B2C.
2929
| x-ms-cpim-ctx | login.microsoftonline.com, b2clogin.com, branded domain | End of [browser session](session-behavior.md) | Context |
3030
| x-ms-cpim-rp | login.microsoftonline.com, b2clogin.com, branded domain | End of [browser session](session-behavior.md) | Used for storing membership data for the resource provider tenant. |
3131
| x-ms-cpim-rc | login.microsoftonline.com, b2clogin.com, branded domain | End of [browser session](session-behavior.md) | Used for storing the relay cookie. |
32-

articles/active-directory-b2c/relyingparty.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,5 +242,3 @@ The JWT token includes the `sub` claim with the user objectId:
242242
...
243243
}
244244
```
245-
246-

articles/active-directory-domain-services/TOC.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@
4949
href: ../active-directory/fundamentals/active-directory-whatis.md?context=/azure/active-directory-domain-services/context/azure-ad-ds-context
5050
- name: Azure Active Directory architecture
5151
href: ../active-directory/fundamentals/active-directory-architecture.md?context=/azure/active-directory-domain-services/context/azure-ad-ds-context
52-
- name: Implement least-privilege administrative models
53-
href: /windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models?context=/azure/active-directory-domain-services/context/azure-ad-ds-context
5452
- name: How to
5553
items:
5654
- name: Configure common settings

articles/active-directory/governance/access-reviews-overview.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.tgt_pltfrm: na
1212
ms.devlang: na
1313
ms.topic: conceptual
1414
ms.subservice: compliance
15-
ms.date: 08/05/2019
15+
ms.date: 01/10/2020
1616
ms.author: ajburnle
1717
ms.reviewer: mwahl
1818
ms.collection: M365-identity-device-management
@@ -92,27 +92,34 @@ If you are ready to deploy access reviews in your organization, follow these ste
9292

9393
[!INCLUDE [Azure AD Premium P2 license](../../../includes/active-directory-p2-license.md)]
9494

95-
### Which users must have licenses?
95+
### How many licenses must you have?
9696

97-
Each user who interacts with access reviews must have a paid Azure AD Premium P2 license. Examples include:
97+
Ensure that your directory has at least as many Azure AD Premium P2 licenses as you have employees that will be performing the following tasks:
9898

99-
- Administrators who create an access review
99+
- Member and guest users who are assigned as reviewers
100+
- Member and guest users who perform a self-review
100101
- Group owners who perform an access review
101-
- Users assigned as reviewers
102-
- Users who perform a self-review
102+
- Application owners who perform an access review
103103

104-
You can also ask guest users to review their own access. For each paid Azure AD Premium P2 license that you assign to one of your own organization's users, you can use Azure AD business-to-business (B2B) to invite up to five guest users under the External User Allowance. These guest users can also use Azure AD Premium P2 features. For more information, see [Azure AD B2B collaboration licensing guidance](../b2b/licensing-guidance.md).
104+
Azure AD Premium P2 licenses are **not** required for the following tasks:
105105

106-
Here are some example scenarios to help you determine the number of licenses you must have.
106+
- No licenses are required for the users with the Global Administrator or User Administrator roles that set up access reviews, configure settings, or apply the decisions from the reviews.
107107

108-
| Scenario | Calculation | Required number of licenses |
109-
| --- | --- | --- |
110-
| An administrator creates an access review of Group A with 500 users. Assigns 3 group owners as reviewers. | 1 license for the administrator + 3 licenses for each group owner as reviewers. | 4 |
111-
| An administrator creates an access review of Group A with 500 users. Makes it a self-review. | 1 license for the administrator + 500 licenses for each user as self-reviewers. | 501 |
112-
| An administrator creates an access review of Group B with 5 users and 25 guest users. Makes it a self-review. | 1 license for the administrator + 5 licenses for each user as self-reviewers.<br/>(guest users are covered in the required 1:5 ratio) | 6 |
113-
| An administrator creates an access review of Group C with 5 users and 108 guest users. Makes it a self-review. | 1 license for the administrator + 5 licenses for each user as self-reviewers + 16 additional licenses to cover all 108 guest users in the required 1:5 ratio.<br/>1+5=6 licenses, which cover 5\*6=30 guest users. For the remaining (108-5\*6)=78 guest users, 78/5=16 additional licenses are required. Thus in total, 6+16=22 licenses are required. | 22 |
108+
For each paid Azure AD Premium P2 license that you assign to one of your own organization's users, you can use Azure AD business-to-business (B2B) to invite up to five guest users under the External User Allowance. These guest users can also use Azure AD Premium P2 features. For more information, see [Azure AD B2B collaboration licensing guidance](../b2b/licensing-guidance.md).
109+
110+
For more information about licenses, see [Assign or remove licenses using the Azure Active Directory portal](../fundamentals/license-users-groups.md).
111+
112+
### Example license scenarios
114113

115-
For information about how to assign licenses to your uses, see [Assign or remove licenses using the Azure Active Directory portal](../fundamentals/license-users-groups.md).
114+
Here are some example license scenarios to help you determine the number of licenses you must have.
115+
116+
| Scenario | Calculation | Number of licenses |
117+
| --- | --- | --- |
118+
| An administrator creates an access review of Group A with 75 users and 1 group owner, and assigns the group owner as the reviewer. | 1 license for the group owner as reviewer | 1 |
119+
| An administrator creates an access review of Group B with 500 users and 3 group owners, and assigns the 3 group owners as reviewers. | 3 licenses for each group owner as reviewers | 3 |
120+
| An administrator creates an access review of Group B with 500 users. Makes it a self-review. | 500 licenses for each user as self-reviewers | 500 |
121+
| An administrator creates an access review of Group C with 50 member users and 25 guest users. Makes it a self-review. | 50 licenses for each user as self-reviewers.<br/>(guest users are covered in the required 1:5 ratio) | 50 |
122+
| An administrator creates an access review of Group D with 6 member users and 108 guest users. Makes it a self-review. | 6 licenses for each user as self-reviewers + 16 additional licenses to cover all 108 guest users in the required 1:5 ratio. 6 licenses, which cover 6\*5=30 guest users. For the remaining (108-6\*5)=78 guest users, 78/5=16 additional licenses are required. Thus in total, 6+16=22 licenses are required. | 22 |
116123

117124
## Next steps
118125

articles/active-directory/governance/complete-access-review.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ As an administrator, you [create an access review of groups or applications](cre
2929
- Azure AD Premium P2
3030
- Global administrator, User administrator, Security administrator, or Security reader
3131

32-
For more information, see [Which users must have licenses?](access-reviews-overview.md#which-users-must-have-licenses).
32+
For more information, see [License requirements](access-reviews-overview.md#license-requirements).
3333

3434
## View an access review
3535

0 commit comments

Comments
 (0)