Skip to content

Commit a52657c

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into tamram22-1031
2 parents dd09297 + d858bb0 commit a52657c

File tree

93 files changed

+1596
-2017
lines changed

Some content is hidden

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

93 files changed

+1596
-2017
lines changed

.openpublishing.redirection.azure-monitor.json

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -278,12 +278,27 @@
278278
},
279279
{
280280
"source_path_from_root": "/articles/azure-monitor/alerts/itsmc-service-manager-script.md",
281-
"redirect_url": "/azure/azure-monitor/alerts/itsmc-connections",
281+
"redirect_url": "/azure/azure-monitor/alerts/itsmc-overview",
282+
"redirect_document_id": false
283+
},
284+
{
285+
"source_path_from_root": "/articles/azure-monitor/alerts/itsmc-connections.md",
286+
"redirect_url": "/azure/azure-monitor/alerts/itsmc-overview",
287+
"redirect_document_id": false
288+
},
289+
{
290+
"source_path_from_root": "/articles/azure-monitor/alerts/itsmc-connections-cherwell.md",
291+
"redirect_url": "/azure/azure-monitor/alerts/itsmc-overview",
292+
"redirect_document_id": false
293+
},
294+
{
295+
"source_path_from_root": "/articles/azure-monitor/alerts/itsmc-connections-provance.md",
296+
"redirect_url": "/azure/azure-monitor/alerts/itsmc-overview",
282297
"redirect_document_id": false
283298
},
284299
{
285300
"source_path_from_root": "/articles/azure-monitor/alerts/itsmc-connections-scsm.md" ,
286-
"redirect_url": "/azure/azure-monitor/alerts/itsmc-connections",
301+
"redirect_url": "/azure/azure-monitor/alerts/itsmc-overview",
287302
"redirect_document_id": false
288303
},
289304
{
@@ -2908,13 +2923,13 @@
29082923
},
29092924
{
29102925
"source_path_from_root": "/articles/log-analytics/log-analytics-itsmc-connections.md",
2911-
"redirect_url": "/azure/azure-monitor/platform/itsmc-connections",
2926+
"redirect_url": "/azure/azure-monitor/platform/itsmc-overview",
29122927
"redirect_document_id": true
29132928
},
29142929
{
29152930
"source_path_from_root": "/articles/log-analytics/log-analytics-itsmc-overview.md",
29162931
"redirect_url": "/azure/azure-monitor/platform/itsmc-overview",
2917-
"redirect_document_id": true
2932+
"redirect_document_id": false
29182933
},
29192934
{
29202935
"source_path_from_root": "/articles/log-analytics/log-analytics-itsmc-service-manager-script.md",
@@ -3571,6 +3586,12 @@
35713586
"redirect_url": "/azure/service-health/alerts-activity-log-service-notifications",
35723587
"redirect_document_id": false
35733588
},
3589+
{
3590+
"source_path_from_root": "/articles/azure-monitor/logs/azure-data-explorer-monitor-proxy.md",
3591+
"redirect_url": "/azure/data-explorer/query-monitor-data",
3592+
"redirect_document_id": false
3593+
},
3594+
35743595
{
35753596
"source_path_from_root": "/articles/azure-monitor/platform/service-notifications.md",
35763597
"redirect_url": "/azure/service-health/service-notifications",
@@ -5108,17 +5129,17 @@
51085129
},
51095130
{
51105131
"source_path_from_root": "/articles/azure-monitor/platform/itsmc-connections-cherwell.md",
5111-
"redirect_url": "/azure/azure-monitor/alerts/itsmc-connections-cherwell",
5132+
"redirect_url": "/azure/azure-monitor/alerts/itsmc-overview",
51125133
"redirect_document_id": false
51135134
},
51145135
{
51155136
"source_path_from_root": "/articles/azure-monitor/platform/itsmc-connections-provance.md",
5116-
"redirect_url": "/azure/azure-monitor/alerts/itsmc-connections-provance",
5137+
"redirect_url": "/azure/azure-monitor/alerts/itsmc-overview",
51175138
"redirect_document_id": false
51185139
},
51195140
{
51205141
"source_path_from_root": "/articles/azure-monitor/platform/itsmc-connections-scsm.md",
5121-
"redirect_url": "/azure/azure-monitor/alerts/itsmc-connections-scsm",
5142+
"redirect_url": "/azure/azure-monitor/alerts/itsmc-overview",
51225143
"redirect_document_id": false
51235144
},
51245145
{

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -768,6 +768,11 @@
768768
"redirect_url": "/azure/frontdoor/create-front-door-cli",
769769
"redirect_document_id": false
770770
},
771+
{
772+
"source_path_from_root": "/articles/frontdoor/standard-premium/how-to-create-origin.md",
773+
"redirect_url": "/azure/frontdoor/how-to-configure-origin",
774+
"redirect_document_id": false
775+
},
771776
{
772777
"source_path_from_root": "/articles/aks/aks-resource-health.md",
773778
"redirect_url": "/troubleshoot/azure/azure-kubernetes/welcome-azure-kubernetes",

articles/active-directory/develop/msal-logging-dotnet.md

Lines changed: 90 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,38 +23,104 @@ ms.custom: aaddev
2323

2424
In MSAL, logging is set at application creation using the `.WithLogging` builder modifier. This method takes optional parameters:
2525

26+
- `IIdentityLogger` is the logging implementation used by MSAL.NET to produce logs for debugging or health check purposes. Logs are only sent if logging is enabled.
2627
- `Level` enables you to decide which level of logging you want. Setting it to Errors will only get errors
27-
- `PiiLoggingEnabled` enables you to log personal and organizational data (PII) if set to true. By default, this is set to false, so that your application doesn't log personal data.
28+
- `PiiLoggingEnabled` enables you to log personal and organizational data (PII) if set to true. By default, this parameter is set to false, so that your application doesn't log personal data.
2829
- `LogCallback` is set to a delegate that does the logging. If `PiiLoggingEnabled` is true, this method will receive messages that can have PII, in which case the `containsPii` flag will be set to true.
2930
- `DefaultLoggingEnabled` enables the default logging for the platform. By default it's false. If you set it to true it uses Event Tracing in Desktop/UWP applications, NSLog on iOS and logcat on Android.
3031

31-
```csharp
32-
class Program
32+
### IIdentityLogger Interface
33+
```CSharp
34+
namespace Microsoft.IdentityModel.Abstractions
3335
{
34-
private static void Log(LogLevel level, string message, bool containsPii)
35-
{
36-
if (containsPii)
37-
{
38-
Console.ForegroundColor = ConsoleColor.Red;
39-
}
40-
Console.WriteLine($"{level} {message}");
41-
Console.ResetColor();
42-
}
43-
44-
static void Main(string[] args)
45-
{
46-
var scopes = new string[] { "User.Read" };
47-
48-
var application = PublicClientApplicationBuilder.Create("<clientID>")
49-
.WithLogging(Log, LogLevel.Info, true)
50-
.Build();
51-
52-
AuthenticationResult result = application.AcquireTokenInteractive(scopes)
53-
.ExecuteAsync().Result;
54-
}
36+
public interface IIdentityLogger
37+
{
38+
//
39+
// Summary:
40+
// Checks to see if logging is enabled at given eventLogLevel.
41+
//
42+
// Parameters:
43+
// eventLogLevel:
44+
// Log level of a message.
45+
bool IsEnabled(EventLogLevel eventLogLevel);
46+
47+
//
48+
// Summary:
49+
// Writes a log entry.
50+
//
51+
// Parameters:
52+
// entry:
53+
// Defines a structured message to be logged at the provided Microsoft.IdentityModel.Abstractions.LogEntry.EventLogLevel.
54+
void Log(LogEntry entry);
55+
}
5556
}
5657
```
5758

59+
> [!NOTE]
60+
> Partner libraries (`Microsoft.Identity.Web`, `Microsoft.IdentityModel`) provide implementations of this interface already for various environments (in particular ASP.NET Core)
61+
62+
### IIdentityLogger Implementation
63+
64+
The following code snippets are examples of such an implementation. If you use the .NET core configuration, environment variable driven logs levels can be provided for free, in addition to the configuration file based log levels.
65+
66+
#### Log level from configuration file
67+
68+
It's highly recommended to configure your code to use a configuration file in your environment to set the log level as it will enable your code to change the MSAL logging level without needing to rebuild or restart the application. This is critical for diagnostic purposes, enabling us to quickly gather the required logs from the application that is currently deployed and in production. Verbose logging can be costly so it's best to use the *Information* level by default and enable verbose logging when an issue is encountered. [See JSON configuration provider](https://docs.microsoft.com/aspnet/core/fundamentals/configuration#json-configuration-provider) for an example on how to load data from a configuration file without restarting the application.
69+
70+
#### Log Level as Environment Variable
71+
72+
Another option we recommended is to configure your code to use an environment variable on the machine to set the log level as it will enable your code to change the MSAL logging level without needing to rebuild the application. This is critical for diagnostic purposes, enabling us to quickly gather the required logs from the application that is currently deployed and in production.
73+
74+
See [EventLogLevel](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/dev/src/Microsoft.IdentityModel.Abstractions/EventLogLevel.cs) for details on the available log levels.
75+
76+
Example:
77+
78+
```CSharp
79+
class MyIdentityLogger : IIdentityLogger
80+
{
81+
public EventLogLevel MinLogLevel { get; }
82+
83+
public TestIdentityLogger()
84+
{
85+
//Try to pull the log level from an environment variable
86+
var msalEnvLogLevel = Environment.GetEnvironmentVariable("MSAL_LOG_LEVEL");
87+
88+
if (Enum.TryParse(msalEnvLogLevel, out EventLogLevel msalLogLevel))
89+
{
90+
MinLogLevel = msalLogLevel;
91+
}
92+
else
93+
{
94+
//Recommended default log level
95+
MinLogLevel = EventLogLevel.Informational;
96+
}
97+
}
98+
99+
public bool IsEnabled(EventLogLevel eventLogLevel)
100+
{
101+
return eventLogLevel <= MinLogLevel;
102+
}
103+
104+
public void Log(LogEntry entry)
105+
{
106+
//Log Message here:
107+
Console.WriteLine(entry.message);
108+
}
109+
}
110+
```
111+
112+
Using `MyIdentityLogger`:
113+
```CSharp
114+
MyIdentityLogger myLogger = new MyIdentityLogger(logLevel);
115+
116+
var app = ConfidentialClientApplicationBuilder
117+
.Create(TestConstants.ClientId)
118+
.WithClientSecret("secret")
119+
.WithExperimentalFeatures() //Currently an experimental feature, will be removed soon
120+
.WithLogging(myLogger, piiLogging)
121+
.Build();
122+
```
123+
58124
> [!TIP]
59125
> See the [MSAL.NET wiki](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki) for samples of MSAL.NET logging and more.
60126

articles/active-directory/develop/scenario-spa-acquire-token.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ms.custom: aaddev
1717

1818
# Single-page application: Acquire a token to call an API
1919

20-
The pattern for acquiring tokens for APIs with [MSAL.js](https://github.com/AzureAD/microsoft-authentication-library-for-js) is to first attempt a silent token request by using the `acquireTokenSilent` method. When this method is called, the library first checks the cache in browser storage to see if a valid token exists and returns it. When no valid token is in the cache, it attempts to use its refresh token to get the token. If the refresh token's 24-hour lifetime has expired, MSAL.js will open a hidden iframe to silently request a new authorization code, which it will exchange for a new, valid refresh token. For more information about single sign-on (SSO) session and token lifetime values in Azure Active Directory (Azure AD), see [Token lifetimes](active-directory-configurable-token-lifetimes.md).
20+
The pattern for acquiring tokens for APIs with [MSAL.js](https://github.com/AzureAD/microsoft-authentication-library-for-js) is to first attempt a silent token request by using the `acquireTokenSilent` method. When this method is called, the library first checks the cache in browser storage to see if a non-expired access token exists and returns it. If no access token is found for the given parameters, it will throw an `InteractionRequiredAuthError`, which should be handled with an interactive token request method (`acquireTokenPopup` or `acquireTokenRedirect`). If an access token is found but it's expired, it attempts to use its refresh token to get a fresh access token. If the refresh token's 24-hour lifetime has also expired, MSAL.js will open a hidden iframe to silently request a new authorization code by leveraging the existing active session with Azure AD (if any), which will then be exchanged for a fresh set of tokens (access _and_ refresh tokens). For more information about single sign-on (SSO) session and token lifetime values in Azure AD, see [Token lifetimes](active-directory-configurable-token-lifetimes.md). For more information on MSAL.js cache lookup policy, see: [Acquiring an Access Token](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/acquire-token.md#acquiring-an-access-token).
2121

2222
The silent token requests to Azure AD might fail for reasons like a password change or updated conditional access policies. More often, failures are due to the refresh token's 24-hour lifetime expiring and [the browser blocking third party cookies](reference-third-party-cookies-spas.md), which prevents the use of hidden iframes to continue authenticating the user. In these cases, you should invoke one of the interactive methods (which may prompt the user) to acquire tokens:
2323

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "What's new in Azure Active Directory application management"
33
description: "New and updated documentation for the Azure Active Directory application management."
4-
ms.date: 10/03/2022
4+
ms.date: 11/01/2022
55
ms.service: active-directory
66
ms.subservice: app-mgmt
77
ms.topic: reference
@@ -15,6 +15,17 @@ manager: CelesteDG
1515

1616
Welcome to what's new in Azure Active Directory (Azure AD) application management documentation. This article lists new docs that have been added and those that have had significant updates in the last three months. To learn what's new with the application management service, see [What's new in Azure AD](../fundamentals/whats-new.md).
1717

18+
## October 2022
19+
20+
### Updated articles
21+
22+
- [Configure how users consent to applications](configure-user-consent.md)
23+
- [Tutorial: Configure F5 BIG-IP Access Policy Manager for Kerberos authentication](f5-big-ip-kerberos-advanced.md)
24+
- [Tutorial: Configure F5 BIG-IP Easy Button for Kerberos single sign-on](f5-big-ip-kerberos-easy-button.md)
25+
- [Tutorial: Configure F5 BIG-IP Easy Button for header-based and LDAP single sign-on](f5-big-ip-ldap-header-easybutton.md)
26+
- [Tutorial: Migrate your applications from Okta to Azure Active Directory](migrate-applications-from-okta-to-azure-active-directory.md)
27+
- [Tutorial: Configure Secure Hybrid Access with Azure Active Directory and Silverfort](silverfort-azure-ad-integration.md)
28+
1829
## September 2022
1930

2031
### New articles
@@ -32,22 +43,3 @@ Welcome to what's new in Azure Active Directory (Azure AD) application managemen
3243
### Updated articles
3344

3445
- [Hide an enterprise application](hide-application-from-user-portal.md)
35-
36-
## July 2022
37-
38-
### New articles
39-
40-
- [Create an enterprise application from a multi-tenant application in Azure Active Directory](create-service-principal-cross-tenant.md)
41-
- [Deletion and recovery of applications FAQ](delete-recover-faq.yml)
42-
- [Recover deleted applications in Azure Active Directory FAQs](recover-deleted-apps-faq.md)
43-
- [Restore an enterprise application in Azure AD](restore-application.md)
44-
- [SAML Request Signature Verification (Preview)](howto-enforce-signed-saml-authentication.md)
45-
- [Tutorial: Configure Cloudflare with Azure Active Directory for secure hybrid access](cloudflare-azure-ad-integration.md)
46-
- [Tutorial: Configure Datawiza to enable Azure Active Directory Multi-Factor Authentication and single sign-on to Oracle JD Edwards](datawiza-azure-ad-sso-oracle-jde.md)
47-
48-
### Updated articles
49-
50-
- [Delete an enterprise application](delete-application-portal.md)
51-
- [Configure Azure Active Directory SAML token encryption](howto-saml-token-encryption.md)
52-
- [Review permissions granted to applications](manage-application-permissions.md)
53-
- [Tutorial: Configure Secure Hybrid Access with Azure Active Directory and Datawiza](datawiza-with-azure-ad.md)

articles/active-directory/reports-monitoring/reference-audit-activities.md

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,14 @@
33
title: Azure Active Directory (Azure AD) audit activity reference | Microsoft Docs
44
description: Get an overview of the audit activities that can be logged in your audit logs in Azure Active Directory (Azure AD).
55
services: active-directory
6-
documentationcenter: ''
7-
author: MarkusVi
6+
author: shlipsey3
87
manager: amycolannino
9-
editor: ''
10-
11-
ms.assetid: a1f93126-77d1-4345-ab7d-561066041161
128
ms.service: active-directory
139
ms.topic: reference
14-
ms.tgt_pltfrm: na
1510
ms.workload: identity
1611
ms.subservice: report-monitor
17-
ms.date: 08/26/2022
18-
ms.author: markvi
12+
ms.date: 10/28/2022
13+
ms.author: sarahlipsey
1914
ms.reviewer: dhanyahk
2015

2116
ms.collection: M365-identity-device-management
@@ -31,10 +26,10 @@ The reporting architecture in Azure AD consists of the following components:
3126
- [Audit logs](concept-audit-logs.md) - Provides traceability through logs for all changes done by various features within Azure AD.
3227

3328
- **Security reports**
34-
- [Risky sign-ins](../identity-protection/overview-identity-protection.md) - A risky sign-in is an indicator for a sign-in attempt that might have been performed by someone who is not the legitimate owner of a user account.
29+
- [Risky sign-ins](../identity-protection/overview-identity-protection.md) - A risky sign-in is an indicator for a sign-in attempt that might have been performed by someone who isn't the legitimate owner of a user account.
3530
- [Users flagged for risk](../identity-protection/overview-identity-protection.md) - A risky user is an indicator for a user account that might have been compromised.
3631

37-
This articles lists the audit activities that can be logged in your audit logs.
32+
This article lists the audit activities that can be logged in your audit logs.
3833

3934
## Access reviews
4035

@@ -54,7 +49,7 @@ This articles lists the audit activities that can be logged in your audit logs.
5449
|Access Reviews|Remove reviewer from access review|
5550
|Access Reviews|Request Stop Review|
5651
|Access Reviews|Request apply review result|
57-
|Access Reviews|Review Rbac Role membership|
52+
|Access Reviews|Review RBAC Role membership|
5853
|Access Reviews|Review app assignment|
5954
|Access Reviews|Review group membership|
6055
|Access Reviews|Review request approval request|
@@ -135,7 +130,7 @@ This articles lists the audit activities that can be logged in your audit logs.
135130
|Authentication|Create IdentityProvider|
136131
|Authentication|Create V1 application|
137132
|Authentication|Create V2 application|
138-
|Authentication|Create a custom domains in the tenant|
133+
|Authentication|Create a custom domain in the tenant|
139134
|Authorization|Create a new AdminUserJourney|
140135
|Authorization|Create localized resource json|
141136
|Authorization|Create new Custom IDP|
@@ -226,7 +221,7 @@ This articles lists the audit activities that can be logged in your audit logs.
226221
|Authorization|Update policy|
227222
|Authorization|Update user attribute|
228223
|Authorization|Upload a CPIM encrypted key|
229-
|Authorization|User Authorization: API is disabled for tenant featureset|
224+
|Authorization|User Authorization: API is disabled for tenant feature set|
230225
|Authorization|User Authorization: User granted access as 'Tenant Admin'|
231226
|Authorization|User Authorization: User was granted 'Authenticated Users' access rights|
232227
|Authorization|Verify if B2C feature is enabled|
@@ -237,12 +232,12 @@ This articles lists the audit activities that can be logged in your audit logs.
237232
|Authorization|Onboard to Azure AD Access Reviews|
238233
|Authorization|Unlink program control|
239234
|Authorization|Update program|
240-
|Authorization|Disable Desktop Sso|
241-
|Authorization|Disable Desktop Sso for a specific domain|
235+
|Authorization|Disable Desktop SSO|
236+
|Authorization|Disable Desktop SSO for a specific domain|
242237
|Authorization|Disable application proxy|
243238
|Authorization|Disable passthrough authentication|
244-
|Authorization|Enable Desktop Sso|
245-
|Directory Management|Enable Desktop Sso for a specific domain|
239+
|Authorization|Enable Desktop SSO|
240+
|Directory Management|Enable Desktop SSO for a specific domain|
246241
|Directory Management|Enable application proxy|
247242
|Directory Management|Enable passthrough authentication|
248243
|Directory Management|Create a custom domains in the tenant|

0 commit comments

Comments
 (0)