Skip to content

Commit 3eb9ee9

Browse files
Merge pull request #249074 from shlipsey3/reports-bulk-updates-082223
reports-bulk-updates-082223
2 parents 0a05cd3 + 092b0c0 commit 3eb9ee9

18 files changed

+101
-142
lines changed

articles/active-directory/includes/diagnostic-settings-include.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.custom: include file
1313

1414
1. Sign in to the [Azure portal](https://portal.azure.com) as a **Security Administrator**.
1515

16-
1. Go to **Azure Active Directory** > **Diagnostic settings**. You can also select **Export Settings** from either the **Audit Logs** or **Sign-ins** page.
16+
1. Browse to **Azure Active Directory** > **Monitoring** > **Diagnostic settings**. You can also select **Export Settings** from either the **Audit Logs** or **Sign-ins** page.
1717

1818
1. Select **+ Add diagnostic setting** to create a new integration or select **Edit setting** for an existing integration.
1919

articles/active-directory/reports-monitoring/concept-audit-logs.md

Lines changed: 13 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22

3-
title: Audit logs in Azure Active Directory
4-
description: Overview of the audit logs in Azure Active Directory.
3+
title: Learn about the audit logs in Azure Active Directory
4+
description: Overview of the audit logs available in Azure Active Directory.
55
services: active-directory
66
author: shlipsey3
77
manager: amycolannino
@@ -12,8 +12,9 @@ ms.subservice: report-monitor
1212
ms.date: 11/04/2022
1313
ms.author: sarahlipsey
1414
ms.reviewer: besiler
15-
ms.collection: M365-identity-device-management
15+
1616
---
17+
1718
# Audit logs in Azure Active Directory
1819

1920
Azure Active Directory (Azure AD) activity logs include audit logs, which is a comprehensive report on every logged event in Azure AD. Changes to applications, groups, users, and licenses are all captured in the Azure AD audit logs.
@@ -25,59 +26,28 @@ Two other activity logs are also available to help monitor the health of your te
2526

2627
This article gives you an overview of the audit logs.
2728

28-
## What is it?
29-
30-
Audit logs in Azure AD provide access to system activity records, often needed for compliance. This log is categorized by user, group, and application management.
29+
## What can you do with audit logs?
3130

32-
With a user-centric view, you can get answers to questions such as:
31+
Audit logs in Azure AD provide access to system activity records, often needed for compliance. You can get answers to questions related to users, groups, and applications.
3332

34-
- What types of updates have been applied to users?
33+
**Users:**
3534

35+
- What types of changes were recently applied to users?
3636
- How many users were changed?
37-
3837
- How many passwords were changed?
3938

40-
- What has an administrator done in a directory?
41-
42-
43-
With a group-centric view, you can get answers to questions such as:
44-
45-
- What are the groups that have been added?
46-
47-
- Are there groups with membership changes?
39+
**Groups:**
4840

41+
- What groups were recently added?
4942
- Have the owners of group been changed?
50-
5143
- What licenses have been assigned to a group or a user?
5244

45+
**Applications:**
5346

54-
With an application-centric view, you can get answers to questions such as:
55-
56-
- What applications have been added or updated?
57-
58-
- What applications have been removed?
59-
47+
- What applications have been added, updated, or removed?
6048
- Has a service principal for an application changed?
61-
6249
- Have the names of applications been changed?
63-
64-
- Who gave consent to an application?
65-
6650

67-
## How do I access it?
68-
69-
To access the audit log for a tenant, you must have one of the following roles:
70-
71-
- Reports Reader
72-
- Security Reader
73-
- Security Administrator
74-
- Global Reader
75-
- Global Administrator
76-
77-
Sign in to the [Azure portal](https://portal.azure.com) and go to **Azure AD** and select **Audit log** from the **Monitoring** section.
78-
79-
The audit activity report is available in [all editions of Azure AD](reference-reports-data-retention.md#how-long-does-azure-ad-store-the-data). If you have an Azure Active Directory P1 or P2 license, you can access the audit log through the [Microsoft Graph API](/graph/api/resources/azure-ad-auditlog-overview). See [Getting started with Azure Active Directory Premium](../fundamentals/get-started-premium.md) to upgrade your Azure Active Directory edition. It will take a couple of days for the data to show up in Graph after you upgrade to a premium license with no data activities before the upgrade.
80-
8151
## What do the logs show?
8252

8353
Audit logs have a default list view that shows:
@@ -87,12 +57,10 @@ Audit logs have a default list view that shows:
8757
- Category and name of the activity (*what*)
8858
- Status of the activity (success or failure)
8959
- Target
90-
- Initiator / actor of an activity (who)
60+
- Initiator / actor of an activity (*who*)
9161

9262
You can customize and filter the list view by clicking the **Columns** button in the toolbar. Editing the columns enables you to add or remove fields from your view.
9363

94-
![Screenshot of available fields.](./media/concept-audit-logs/columnselect.png "Remove fields")
95-
9664
### Filtering audit logs
9765

9866
You can filter the audit data using the options visible in your list such as date range, service, category, and activity.

articles/active-directory/reports-monitoring/concept-provisioning-logs.md

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
---
22
title: Provisioning logs in Azure Active Directory
3-
description: Overview of the provisioning logs in Azure Active Directory.
3+
description: Learn about the information included in the provisioning logs in Azure Active Directory.
44
services: active-directory
55
author: shlipsey3
66
manager: amycolannino
77
ms.service: active-directory
88
ms.topic: conceptual
99
ms.workload: identity
1010
ms.subservice: report-monitor
11-
ms.date: 06/16/2023
11+
ms.date: 08/24/2023
1212
ms.author: sarahlipsey
1313
ms.reviewer: arvinh
14-
ms.collection: M365-identity-device-management
1514
---
1615
# Provisioning logs in Azure Active Directory
1716

@@ -50,15 +49,18 @@ Application owners can view logs for their own applications. The following roles
5049
- Global Administrator
5150
- Users in a custom role with the [provisioningLogs permission](../roles/custom-enterprise-app-permissions.md#full-list-of-permissions)
5251

53-
To access the provisioning log data, you have the following options:
52+
There are several ways to view or analyze the Provisioning logs:
5453

55-
- Select **Provisioning logs** from the **Monitoring** section of Azure AD.
54+
- View in the Azure portal.
55+
- Stream logs to [Azure Monitor](../app-provisioning/application-provisioning-log-analytics.md) through Diagnostic settings.
56+
- Analyze logs through [Workbook](howto-use-workbooks.md) templates.
57+
- Access logs programmatically through the [Microsoft Graph API](/graph/api/resources/provisioningobjectsummary).
58+
- [Download the logs](howto-download-logs.md) as a CSV or JSON file.
5659

57-
- Stream the provisioning logs into [Azure Monitor](../app-provisioning/application-provisioning-log-analytics.md). This method allows for extended data retention and building custom dashboards, alerts, and queries.
60+
To access the logs in the Azure portal:
5861

59-
- Query the [Microsoft Graph API](/graph/api/resources/provisioningobjectsummary) for the provisioning logs.
60-
61-
- Download the provisioning logs as a CSV or JSON file.
62+
1. Sign in to the [Azure portal](https://portal.azure.com) using the Reports Reader role.
63+
1. Browse to **Azure Active Directory** > **Monitoring** > **Provisioning logs**.
6264

6365
## View the provisioning logs
6466

@@ -77,7 +79,7 @@ This area enables you to display more fields or remove fields that are already d
7779

7880
## Filter the results
7981

80-
When you filter your provisioning data, some filter values are dynamically populated based on your tenant. For example, if you don't have any "create" events in your tenant, there won't be a **Create** filter option.
82+
When you filter your provisioning data, some filter values are dynamically populated based on your tenant. For example, if you don't have any "create" events in your tenant, the\= **Create** filter option isn't available.
8183

8284
The **Identity** filter enables you to specify the name or the identity that you care about. This identity might be a user, group, role, or other object.
8385

@@ -147,7 +149,7 @@ When you select an item in the provisioning list view, you get more details abou
147149

148150
## Download logs as CSV or JSON
149151

150-
You can download the provisioning logs for later use by going to the logs in the Azure portal and selecting **Download**. The file will be filtered based on the filter criteria you've selected. Make the filters as specific as possible to reduce the size and time of the download.
152+
You can download the provisioning logs for later use by going to the logs in the Azure portal and selecting **Download**. The results are filtered based on the filter criteria you've selected. Make the filters as specific as possible to reduce the size and time of the download.
151153

152154
The CSV download includes three files:
153155

@@ -163,7 +165,7 @@ The JSON file is downloaded in minified format to reduce the size of the downloa
163165

164166
- Use [Visual Studio Code to format the JSON](https://code.visualstudio.com/docs/languages/json#_formatting).
165167

166-
- Use PowerShell to format the JSON. This script will output the JSON in a format that includes tabs and spaces:
168+
- Use PowerShell to format the JSON. This script produces a JSON output in a format that includes tabs and spaces:
167169

168170
` $JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON`
169171

@@ -199,7 +201,7 @@ Here are some tips and considerations for provisioning reports:
199201

200202
- You can use the change ID attribute as unique identifier, which can be helpful when you're interacting with product support, for example.
201203

202-
- You might see skipped events for users who aren't in scope. This behavior is expected, especially when the sync scope is set to all users and groups. The service will evaluate all the objects in the tenant, even the ones that are out of scope.
204+
- You might see skipped events for users who aren't in scope. This behavior is expected, especially when the sync scope is set to all users and groups. The service evaluates all the objects in the tenant, even the ones that are out of scope.
203205

204206
- The provisioning logs don't show role imports (applies to AWS, Salesforce, and Zendesk). You can find the logs for role imports in the audit logs.
205207

@@ -210,24 +212,24 @@ Use the following table to better understand how to resolve errors that you find
210212
|Error code|Description|
211213
|---|---|
212214
|Conflict,<br>EntryConflict|Correct the conflicting attribute values in either Azure AD or the application. Or, review your matching attribute configuration if the conflicting user account was supposed to be matched and taken over. Review the [documentation](../app-provisioning/customize-application-attributes.md) for more information on configuring matching attributes.|
213-
|TooManyRequests|The target app rejected this attempt to update the user because it's overloaded and receiving too many requests. There's nothing to do. This attempt will automatically be retired. Microsoft has also been notified of this issue.|
214-
|InternalServerError |The target app returned an unexpected error. A service issue with the target application might be preventing it from working. This attempt will automatically be retried in 40 minutes.|
215+
|TooManyRequests|The target app rejected this attempt to update the user because it's overloaded and receiving too many requests. There's nothing to do. This attempt is automatically retired. Microsoft has also been notified of this issue.|
216+
|InternalServerError |The target app returned an unexpected error. A service issue with the target application might be preventing it from working. This attempt is automatically retried in 40 minutes.|
215217
|InsufficientRights,<br>MethodNotAllowed,<br>NotPermitted,<br>Unauthorized| Azure AD authenticated with the target application but wasn't authorized to perform the update. Review any instructions that the target application has provided, along with the respective application [tutorial](../saas-apps/tutorial-list.md).|
216218
|UnprocessableEntity|The target application returned an unexpected response. The configuration of the target application might not be correct, or a service issue with the target application might be preventing it from working.|
217-
|WebExceptionProtocolError |An HTTP protocol error occurred in connecting to the target application. There's nothing to do. This attempt will automatically be retried in 40 minutes.|
218-
|InvalidAnchor|A user that was previously created or matched by the provisioning service no longer exists. Ensure that the user exists. To force a new matching of all users, use the Microsoft Graph API to [restart the job](/graph/api/synchronization-synchronizationjob-restart?tabs=http&view=graph-rest-beta&preserve-view=true). <br><br>Restarting provisioning will trigger an initial cycle, which can take time to complete. Restarting provisioning also deletes the cache that the provisioning service uses to operate. That means all users and groups in the tenant will have to be evaluated again, and certain provisioning events might be dropped.|
219+
|WebExceptionProtocolError |An HTTP protocol error occurred in connecting to the target application. There's nothing to do. This attempt is automatically retried in 40 minutes.|
220+
|InvalidAnchor|A user that was previously created or matched by the provisioning service no longer exists. Ensure that the user exists. To force a new matching of all users, use the Microsoft Graph API to [restart the job](/graph/api/synchronization-synchronizationjob-restart?tabs=http&view=graph-rest-beta&preserve-view=true). <br><br>Restarting provisioning triggers an initial cycle, which can take time to complete. Restarting provisioning also deletes the cache that the provisioning service uses to operate. That means all users and groups in the tenant must be evaluated again, and certain provisioning events might be dropped.|
219221
|NotImplemented | The target app returned an unexpected response. The configuration of the app might not be correct, or a service issue with the target app might be preventing it from working. Review any instructions that the target application has provided, along with the respective application [tutorial](../saas-apps/tutorial-list.md). |
220222
|MandatoryFieldsMissing,<br>MissingValues |The user couldn't be created because required values are missing. Correct the missing attribute values in the source record, or review your matching attribute configuration to ensure that the required fields aren't omitted. [Learn more](../app-provisioning/customize-application-attributes.md) about configuring matching attributes.|
221223
|SchemaAttributeNotFound |The operation couldn't be performed because an attribute was specified that doesn't exist in the target application. See the [documentation](../app-provisioning/customize-application-attributes.md) on attribute customization and ensure that your configuration is correct.|
222-
|InternalError |An internal service error occurred within the Azure AD provisioning service. There's nothing to do. This attempt will automatically be retried in 40 minutes.|
224+
|InternalError |An internal service error occurred within the Azure AD provisioning service. There's nothing to do. This attempt is automatically retired in 40 minutes.|
223225
|InvalidDomain |The operation couldn't be performed because an attribute value contains an invalid domain name. Update the domain name on the user or add it to the permitted list in the target application. |
224-
|Timeout |The operation couldn't be completed because the target application took too long to respond. There's nothing to do. This attempt will automatically be retried in 40 minutes.|
226+
|Timeout |The operation couldn't be completed because the target application took too long to respond. There's nothing to do. This attempt is automatically retried in 40 minutes.|
225227
|LicenseLimitExceeded|The user couldn't be created in the target application because there are no available licenses for this user. Procure more licenses for the target application. Or, review your user assignments and attribute mapping configuration to ensure that the correct users are assigned with the correct attributes.|
226228
|DuplicateTargetEntries |The operation couldn't be completed because more than one user in the target application was found with the configured matching attributes. Remove the duplicate user from the target application, or [reconfigure your attribute mappings](../app-provisioning/customize-application-attributes.md).|
227229
|DuplicateSourceEntries | The operation couldn't be completed because more than one user was found with the configured matching attributes. Remove the duplicate user, or [reconfigure your attribute mappings](../app-provisioning/customize-application-attributes.md).|
228230
|ImportSkipped | When each user is evaluated, the system tries to import the user from the source system. This error commonly occurs when the user who's being imported is missing the matching property defined in your attribute mappings. Without a value present on the user object for the matching attribute, the system can't evaluate scoping, matching, or export changes. The presence of this error doesn't indicate that the user is in scope, because you haven't yet evaluated scoping for the user.|
229231
|EntrySynchronizationSkipped | The provisioning service has successfully queried the source system and identified the user. No further action was taken on the user and they were skipped. The user might have been out of scope, or the user might have already existed in the target system with no further changes required.|
230-
|SystemForCrossDomainIdentity<br>ManagementMultipleEntriesInResponse| A GET request to retrieve a user or group received multiple users or groups in the response. The system expects to receive only one user or group in the response. For example, if you do a [GET Group request](../app-provisioning/use-scim-to-provision-users-and-groups.md#get-group) to retrieve a group, provide a filter to exclude members, and your System for Cross-Domain Identity Management (SCIM) endpoint returns the members, you'll get this error.|
232+
|SystemForCrossDomainIdentity<br>ManagementMultipleEntriesInResponse| A GET request to retrieve a user or group received multiple users or groups in the response. The system expects to receive only one user or group in the response. For example, if you do a [GET Group request](../app-provisioning/use-scim-to-provision-users-and-groups.md#get-group) to retrieve a group, provide a filter to exclude members, and your System for Cross-Domain Identity Management (SCIM) endpoint returns the members, this error appears.|
231233
|SystemForCrossDomainIdentity<br>ManagementServiceIncompatible|The Azure AD provisioning service is unable to parse the response from the third party application. Work with the application developer to ensure that the SCIM server is compatible with the [Azure AD SCIM client](../app-provisioning/use-scim-to-provision-users-and-groups.md#understand-the-azure-ad-scim-implementation).|
232234
|SchemaPropertyCanOnlyAcceptValue|The property in the target system can only accept one value, but the property in the source system has multiple. Ensure that you either map a single-valued attribute to the property that is throwing an error, update the value in the source to be single-valued, or remove the attribute from the mappings.|
233235

0 commit comments

Comments
 (0)