Skip to content

Commit 9f0f77b

Browse files
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into pauljewell-list-blobs
2 parents 217c910 + c11f38a commit 9f0f77b

File tree

459 files changed

+5343
-4154
lines changed

Some content is hidden

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

459 files changed

+5343
-4154
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5265,6 +5265,61 @@
52655265
"redirect_url": "/azure/active-directory/fundamentals/concept-fundamentals-security-defaults",
52665266
"redirect_document_id": true
52675267
},
5268+
{
5269+
"source_path_from_root": "/articles/active-directory/reports-monitoring/howto-use-azure-monitor-workbooks.md",
5270+
"redirect_url": "/azure/active-directory/reports-monitoring/howto-use-workbooks",
5271+
"redirect_document_id": true
5272+
},
5273+
{
5274+
"source_path_from_root": "/articles/active-directory/reports-monitoring/concept-activity-logs-azure-monitor.md",
5275+
"redirect_url": "/azure/active-directory/reports-monitoring/concept-log-monitoring-integration-options-considerations",
5276+
"redirect_document_id": true
5277+
},
5278+
{
5279+
"source_path_from_root": "/articles/active-directory/reports-monitoring/tutorial-log-analytics-wizard.md",
5280+
"redirect_url": "/azure/active-directory/reports-monitoring/tutorial-configure-log-analytics-workspace",
5281+
"redirect_document_id": true
5282+
},
5283+
{
5284+
"source_path_from_root": "/articles/active-directory/reports-monitoring/quickstart-azure-monitor-route-logs-to-storage-account.md",
5285+
"redirect_url": "/azure/active-directory/reports-monitoring/howto-archive-logs-to-storage-account",
5286+
"redirect_document_id": true
5287+
},
5288+
{
5289+
"source_path_from_root": "/articles/active-directory/reports-monitoring/overview-monitoring.md",
5290+
"redirect_url": "/azure/active-directory/reports-monitoring/overview-monitoring-health",
5291+
"redirect_document_id": false
5292+
},
5293+
{
5294+
"source_path_from_root": "/articles/active-directory/reports-monitoring/overview-reports.md",
5295+
"redirect_url": "/azure/active-directory/reports-monitoring/overview-monitoring-health",
5296+
"redirect_document_id": true
5297+
},
5298+
{
5299+
"source_path_from_root": "/articles/active-directory/reports-monitoring/howto-integrate-activity-logs-with-sumologic.md",
5300+
"redirect_url": "/azure/active-directory/reports-monitoring/howto-stream-logs-to-event-hub",
5301+
"redirect_document_id": true
5302+
},
5303+
{
5304+
"source_path_from_root": "/articles/active-directory/reports-monitoring/howto-integrate-activity-logs-with-splunk.md",
5305+
"redirect_url": "/azure/active-directory/reports-monitoring/howto-stream-logs-to-event-hub",
5306+
"redirect_document_id": false
5307+
},
5308+
{
5309+
"source_path_from_root": "/articles/active-directory/reports-monitoring/howto-integrate-activity-logs-with-arcsight.md",
5310+
"redirect_url": "/azure/active-directory/reports-monitoring/howto-stream-logs-to-event-hub",
5311+
"redirect_document_id": false
5312+
},
5313+
{
5314+
"source_path_from_root": "/articles/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics.md",
5315+
"redirect_url": "/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-azure-monitor-logs",
5316+
"redirect_document_id": true
5317+
},
5318+
{
5319+
"source_path_from_root": "/articles/active-directory/reports-monitoring/overview-service-health-notifications.md",
5320+
"redirect_url": "/azure/service-health/service-health-portal-update",
5321+
"redirect_document_id": true
5322+
},
52685323
{
52695324
"source_path_from_root": "/articles/active-directory/reports-monitoring/quickstart-configure-named-locations.md",
52705325
"redirect_url": "/azure/active-directory/conditional-access/location-condition",

CODEOWNERS

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@
44
# Background: https://github.blog/2017-07-06-introducing-code-owners/
55
# NOTE: The people you choose as code owners must have _write_ permissions for the repository. When the code owner is a team, that team must be _visible_ and it must have _write_ permissions, even if all the individual members of the team already have write permissions directly, through organization membership, or through another team membership.
66

7-
# Azure Policy: Samples and Compliance Controls
8-
/articles/**/policy-reference.md @davidsmatlak
9-
/articles/**/security-controls-policy.md @davidsmatlak
10-
/includes/policy/ @davidsmatlak
11-
127
# Azure Monitor
138
articles/azure-monitor/* @bwren
149
articles/azure-monitor/agents @guywi-ms @bwren
@@ -56,10 +51,6 @@ articles/service-health @rboucher
5651
/articles/container-instances/ @macolso @mimckitt
5752
/articles/container-registry/ @dlepow @mimckitt
5853

59-
# Governance
60-
/articles/governance/policy @davidsmatlak
61-
/articles/governance/resource-graph @davidsmatlak
62-
6354
# Security
6455
/articles/security/fundamentals/feature-availability.md @msmbaldwin @terrylanfear
6556

articles/active-directory/app-provisioning/customize-application-attributes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ Applications and systems that support customization of the attribute list includ
123123
> Editing the list of supported attributes is only recommended for administrators who have customized the schema of their applications and systems, and have first-hand knowledge of how their custom attributes have been defined or if a source attribute isn't automatically displayed in the Azure portal UI. This sometimes requires familiarity with the APIs and developer tools provided by an application or system. The ability to edit the list of supported attributes is locked down by default, but customers can enable the capability by navigating to the following URL: https://portal.azure.com/?Microsoft_AAD_Connect_Provisioning_forceSchemaEditorEnabled=true . You can then navigate to your application to view the [attribute list](#editing-the-list-of-supported-attributes).
124124
125125
> [!NOTE]
126-
> When a directory extension attribute in Azure AD doesn't show up automatically in your attribute mapping drop-down, you can manually add it to the "Azure AD attribute list". When manually adding Azure AD directory extension attributes to your provisioning app, note that directory extension attribute names are case-sensitive. For example: If you have a directory extension attribute named `extension_53c9e2c0exxxxxxxxxxxxxxxx_acmeCostCenter`, make sure you enter it in the same format as defined in the directory.
126+
> When a directory extension attribute in Azure AD doesn't show up automatically in your attribute mapping drop-down, you can manually add it to the "Azure AD attribute list". When manually adding Azure AD directory extension attributes to your provisioning app, note that directory extension attribute names are case-sensitive. For example: If you have a directory extension attribute named `extension_53c9e2c0exxxxxxxxxxxxxxxx_acmeCostCenter`, make sure you enter it in the same format as defined in the directory. Provisioning multi-valued directory extension attributes is not supported.
127127
128128
When you're editing the list of supported attributes, the following properties are provided:
129129

articles/active-directory/app-proxy/application-proxy-add-on-premises-application.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,15 @@ To use Application Proxy, you need a Windows server running Windows Server 2012
4949
For high availability in your production environment, we recommend having more than one Windows server. For this tutorial, one Windows server is sufficient.
5050

5151
> [!IMPORTANT]
52-
> If you are installing the connector on Windows Server 2019, you must disable HTTP2 protocol support in the WinHttp component for Kerberos Constrained Delegation to properly work. This is disabled by default in earlier versions of supported operating systems. Adding the following registry key and restarting the server disables it on Windows Server 2019. Note that this is a machine-wide registry key.
52+
> **.NET Framework**
53+
>
54+
> You must have .NET version 4.7.1 or higher to install, or upgrade, Application Proxy version 1.5.3437.0 or later. Windows Server 2012 R2 and Windows Server 2016 may not have this by default.
55+
>
56+
> See [How to: Determine which .NET Framework versions are installed](/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed) for more information.
57+
>
58+
> **HTTP 2.0**
59+
>
60+
> If you are installing the connector on Windows Server 2019, you must disable HTTP2 protocol support in the WinHttp component for Kerberos Constrained Delegation to properly work. This is disabled by default in earlier versions of supported operating systems. Adding the following registry key and restarting the server disables it on Windows Server 2019. Note that this is a machine-wide registry key.
5361
>
5462
> ```
5563
> Windows Registry Editor Version 5.00

articles/active-directory/app-proxy/application-proxy-configure-complex-application.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ This article provides you with the information you need to configure wildcard ap
5151

5252
## Pre-requisites
5353
Before you get started with Application Proxy Complex application scenario apps, make sure your environment is ready with the following settings and configurations:
54-
- You need to enable Application Proxy and install a connector that has line of site to your applications. See the tutorial [Add an on-premises application for remote access through Application Proxy](application-proxy-add-on-premises-application.md#add-an-on-premises-app-to-azure-ad) to learn how to prepare your on-premises environment, install and register a connector, and test the connector.
54+
- You need to enable Application Proxy and install a connector that has line of sight to your applications. See the tutorial [Add an on-premises application for remote access through Application Proxy](application-proxy-add-on-premises-application.md#add-an-on-premises-app-to-azure-ad) to learn how to prepare your on-premises environment, install and register a connector, and test the connector.
5555

5656

5757
## Configure application segment(s) for complex application.

articles/active-directory/architecture/deployment-plans.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Azure Active Directory deployment plans
33
description: Guidance on Azure Active Directory deployment, such as authentication, devices, hybrid scenarios, governance, and more.
44
services: active-directory
5-
author: gargisinha
5+
author: gargi-sinha
66
manager: martinco
77
ms.service: active-directory
88
ms.subservice: fundamentals

articles/active-directory/authentication/concepts-azure-multi-factor-authentication-prompts-session-lifetime.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: multi-factor-authentication
66
ms.service: active-directory
77
ms.subservice: authentication
88
ms.topic: conceptual
9-
ms.date: 03/28/2023
9+
ms.date: 08/15/2023
1010

1111
ms.author: justinha
1212
author: justinha
@@ -20,7 +20,7 @@ Azure Active Directory (Azure AD) has multiple settings that determine how often
2020

2121
The Azure AD default configuration for user sign-in frequency is a rolling window of 90 days. Asking users for credentials often seems like a sensible thing to do, but it can backfire. If users are trained to enter their credentials without thinking, they can unintentionally supply them to a malicious credential prompt.
2222

23-
It might sound alarming to not ask for a user to sign back in, though any violation of IT policies revokes the session. Some examples include a password change, an incompliant device, or an account disable operation. You can also explicitly [revoke users' sessions using PowerShell](/powershell/module/azuread/revoke-azureaduserallrefreshtoken).
23+
It might sound alarming to not ask for a user to sign back in, though any violation of IT policies revokes the session. Some examples include a password change, an incompliant device, or an account disable operation. You can also explicitly [revoke users' sessions by using Microsoft Graph PowerShell](/powershell/module/microsoft.graph.users.actions/revoke-mgusersigninsession).
2424

2525
This article details recommended configurations and how different settings work and interact with each other.
2626

articles/active-directory/cloud-infrastructure-entitlement-management/onboard-gcp.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,12 @@ To enable Controller mode **On** for any projects, add these roles to the specif
8181
- Role Administrators
8282
- Security Admin
8383

84-
The required commands to run in Google Cloud Shell are listed in the Manage Authorization screen for each scope of a project, folder or organization. This is also configured in the GPC console.
84+
The required commands to run in Google Cloud Shell are listed in the Manage Authorization screen for each scope of a project, folder or organization. This is also configured in the GCP console.
8585

8686
3. Select **Next**.
8787

8888
#### Option 2: Enter authorization systems
89-
You have the ability to specify only certain GCP member projects to manage and monitor with MEPM (up to 100 per collector). Follow the steps to configure these GCP member projects to be monitored:
89+
You have the ability to specify only certain GCP member projects to manage and monitor with Permissions Management (up to 100 per collector). Follow the steps to configure these GCP member projects to be monitored:
9090
1. In the **Permissions Management Onboarding - GCP Project Ids** page, enter the **Project IDs**.
9191

9292
You can enter up to comma separated 100 GCP project IDs.
@@ -109,7 +109,7 @@ To enable Controller mode **On** for any projects, add these roles to the specif
109109
- Role Administrators
110110
- Security Admin
111111

112-
The required commands to run in Google Cloud Shell are listed in the Manage Authorization screen for each scope of a project, folder or organization. This is also configured in the GPC console.
112+
The required commands to run in Google Cloud Shell are listed in the Manage Authorization screen for each scope of a project, folder or organization. This is also configured in the GCP console.
113113

114114
3. Select **Next**.
115115

articles/active-directory/develop/access-tokens.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,34 @@ The Azure AD middleware has built-in capabilities for validating access tokens,
9797
9898
The following examples suppose that your application is validating a v2.0 access token (and therefore reference the v2.0 versions of the OIDC metadata documents and keys). Just remove the "/v2.0" in the URL if you validate v1.0 tokens.
9999
100+
### Validate the issuer
101+
102+
[OpenID Connect Core](https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation) says "The Issuer Identifier \[...\] MUST exactly match the value of the iss (issuer) Claim." For applications which use a tenant-specific metadata endpoint (like [https://login.microsoftonline.com/8eaef023-2b34-4da1-9baa-8bc8c9d6a490/v2.0/.well-known/openid-configuration](https://login.microsoftonline.com/8eaef023-2b34-4da1-9baa-8bc8c9d6a490/v2.0/.well-known/openid-configuration) or [https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration](https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration)), this is all that is needed.
103+
104+
Azure AD makes available a tenant-independent version of the document at [https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration](https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration). This endpoint returns an issuer value `https://login.microsoftonline.com/{tenantid}/v2.0`. Applications may use this tenant-independent endpoint to validate tokens from every tenant with the following modifications:
105+
106+
1. Instead of expecting the issuer claim in the token to exactly match the issuer value from metadata, the application should replace the `{tenantid}` value in the issuer metadata with the tenantid that is the target of the current request, and then check the exact match.
107+
2. The application should use the `issuer` property returned from the keys endpoint to restrict the scope of keys.
108+
- Keys that have an issuer value like `https://login.microsoftonline.com/{tenantid}/v2.0` may be used with any matching token issuer.
109+
- Keys that have an issuer value like `https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0` should only be used with exact match.
110+
111+
Azure AD's tenant-independent key endpoint ([https://login.microsoftonline.com/common/discovery/v2.0/keys](https://login.microsoftonline.com/common/discovery/v2.0/keys)) returns a document like:
112+
```
113+
{
114+
"keys":[
115+
{"kty":"RSA","use":"sig","kid":"jS1Xo1OWDj_52vbwGNgvQO2VzMc","x5t":"jS1Xo1OWDj_52vbwGNgvQO2VzMc","n":"spv...","e":"AQAB","x5c":["MIID..."],"issuer":"https://login.microsoftonline.com/{tenantid}/v2.0"},
116+
{"kty":"RSA","use":"sig","kid":"2ZQpJ3UpbjAYXYGaXEJl8lV0TOI","x5t":"2ZQpJ3UpbjAYXYGaXEJl8lV0TOI","n":"wEM...","e":"AQAB","x5c":["MIID..."],"issuer":"https://login.microsoftonline.com/{tenantid}/v2.0"},
117+
{"kty":"RSA","use":"sig","kid":"yreX2PsLi-qkbR8QDOmB_ySxp8Q","x5t":"yreX2PsLi-qkbR8QDOmB_ySxp8Q","n":"rv0...","e":"AQAB","x5c":["MIID..."],"issuer":"https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0"}
118+
]
119+
}
120+
```
121+
3. Applications that use Azure AD's tenantid (`tid`) claim as a trust boundary instead of the standard issuer claim should ensure that the tenant-id claim is a guid and that the issuer and tenantid match.
122+
123+
Using tenant-independent metadata is more efficient for applications which accept tokens from many tenants.
124+
125+
> [!NOTE]
126+
> With Azure AD tenant-independent metadata, claims should be interpreted within the tenant, just as under standard OpenID Connect, claims are interpreted within the issuer. That is, `{"sub":"ABC123","iss":"https://login.microsoftonline.com/8eaef023-2b34-4da1-9baa-8bc8c9d6a490/v2.0","tid":"8eaef023-2b34-4da1-9baa-8bc8c9d6a490"}` and `{"sub":"ABC123","iss":"https://login.microsoftonline.com/82229342-1101-4ab6-817b-70c0747630f3/v2.0","tid":"82229342-1101-4ab6-817b-70c0747630f3"}` describe different users, even though the `sub` is the same, because claims like `sub` are interpreted within the context of the issuer/tenant.
127+
100128
### Validate the signature
101129
102130
A JWT contains three segments separated by the `.` character. The first segment is the **header**, the second is the **body**, and the third is the **signature**. Use the signature segment to evaluate the authenticity of the token.

articles/active-directory/develop/authorization-basics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Authorization by using access control lists (ACLs) involves maintaining explicit
3939

4040
Role-based access control (RBAC) is possibly the most common approach to enforcing authorization in applications. When using RBAC, roles are defined to describe the kinds of activities an entity may perform. An application developer grants access to roles rather than to individual entities. An administrator can then assign roles to different entities to control which ones have access to what resources and functionality.
4141

42-
In advanced RBAC implementations, roles may be mapped to collections of permissions, where a permission describes a granular action or activity that can be performed. Roles are then configured as combinations of permissions. Compute the overall permission set for an entity by intersecting the permissions granted to the various roles the entity is assigned. A good example of this approach is the RBAC implementation that governs access to resources in Azure subscriptions.
42+
In advanced RBAC implementations, roles may be mapped to collections of permissions, where a permission describes a granular action or activity that can be performed. Roles are then configured as combinations of permissions. Compute the overall permission set for an entity by combining the permissions granted to the various roles the entity is assigned. A good example of this approach is the RBAC implementation that governs access to resources in Azure subscriptions.
4343

4444
> [!NOTE]
4545
> [Application RBAC](./custom-rbac-for-developers.md) differs from [Azure RBAC](../../role-based-access-control/overview.md) and [Azure AD RBAC](../roles/custom-overview.md#understand-azure-ad-role-based-access-control). Azure custom roles and built-in roles are both part of Azure RBAC, which helps manage Azure resources. Azure AD RBAC allows management of Azure AD resources.

0 commit comments

Comments
 (0)