You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/includes/diagnostic-settings-include.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ ms.custom: include file
13
13
14
14
1. Sign in to the [Azure portal](https://portal.azure.com) as a **Security Administrator**.
15
15
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.
17
17
18
18
1. Select **+ Add diagnostic setting** to create a new integration or select **Edit setting** for an existing integration.
Copy file name to clipboardExpand all lines: articles/active-directory/reports-monitoring/concept-audit-logs.md
+13-45Lines changed: 13 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
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.
5
5
services: active-directory
6
6
author: shlipsey3
7
7
manager: amycolannino
@@ -12,8 +12,9 @@ ms.subservice: report-monitor
12
12
ms.date: 11/04/2022
13
13
ms.author: sarahlipsey
14
14
ms.reviewer: besiler
15
-
ms.collection: M365-identity-device-management
15
+
16
16
---
17
+
17
18
# Audit logs in Azure Active Directory
18
19
19
20
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
25
26
26
27
This article gives you an overview of the audit logs.
27
28
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?
31
30
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.
33
32
34
-
- What types of updates have been applied to users?
33
+
**Users:**
35
34
35
+
- What types of changes were recently applied to users?
36
36
- How many users were changed?
37
-
38
37
- How many passwords were changed?
39
38
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:**
48
40
41
+
- What groups were recently added?
49
42
- Have the owners of group been changed?
50
-
51
43
- What licenses have been assigned to a group or a user?
52
44
45
+
**Applications:**
53
46
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?
60
48
- Has a service principal for an application changed?
61
-
62
49
- Have the names of applications been changed?
63
-
64
-
- Who gave consent to an application?
65
-
66
50
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
-
81
51
## What do the logs show?
82
52
83
53
Audit logs have a default list view that shows:
@@ -87,12 +57,10 @@ Audit logs have a default list view that shows:
87
57
- Category and name of the activity (*what*)
88
58
- Status of the activity (success or failure)
89
59
- Target
90
-
- Initiator / actor of an activity (who)
60
+
- Initiator / actor of an activity (*who*)
91
61
92
62
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.
93
63
94
-

95
-
96
64
### Filtering audit logs
97
65
98
66
You can filter the audit data using the options visible in your list such as date range, service, category, and activity.
Copy file name to clipboardExpand all lines: articles/active-directory/reports-monitoring/concept-provisioning-logs.md
+22-20Lines changed: 22 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,16 @@
1
1
---
2
2
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.
4
4
services: active-directory
5
5
author: shlipsey3
6
6
manager: amycolannino
7
7
ms.service: active-directory
8
8
ms.topic: conceptual
9
9
ms.workload: identity
10
10
ms.subservice: report-monitor
11
-
ms.date: 06/16/2023
11
+
ms.date: 08/24/2023
12
12
ms.author: sarahlipsey
13
13
ms.reviewer: arvinh
14
-
ms.collection: M365-identity-device-management
15
14
---
16
15
# Provisioning logs in Azure Active Directory
17
16
@@ -50,15 +49,18 @@ Application owners can view logs for their own applications. The following roles
50
49
- Global Administrator
51
50
- Users in a custom role with the [provisioningLogs permission](../roles/custom-enterprise-app-permissions.md#full-list-of-permissions)
52
51
53
-
To access the provisioning log data, you have the following options:
52
+
There are several ways to view or analyze the Provisioning logs:
54
53
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.
56
59
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:
58
61
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**.
62
64
63
65
## View the provisioning logs
64
66
@@ -77,7 +79,7 @@ This area enables you to display more fields or remove fields that are already d
77
79
78
80
## Filter the results
79
81
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.
81
83
82
84
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.
83
85
@@ -147,7 +149,7 @@ When you select an item in the provisioning list view, you get more details abou
147
149
148
150
## Download logs as CSV or JSON
149
151
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.
151
153
152
154
The CSV download includes three files:
153
155
@@ -163,7 +165,7 @@ The JSON file is downloaded in minified format to reduce the size of the downloa
163
165
164
166
- Use [Visual Studio Code to format the JSON](https://code.visualstudio.com/docs/languages/json#_formatting).
165
167
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:
167
169
168
170
` $JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON`
169
171
@@ -199,7 +201,7 @@ Here are some tips and considerations for provisioning reports:
199
201
200
202
- You can use the change ID attribute as unique identifier, which can be helpful when you're interacting with product support, for example.
201
203
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.
203
205
204
206
- 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.
205
207
@@ -210,24 +212,24 @@ Use the following table to better understand how to resolve errors that you find
210
212
|Error code|Description|
211
213
|---|---|
212
214
|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.|
215
217
|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).|
216
218
|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.|
219
221
|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). |
220
222
|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.|
221
223
|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.|
223
225
|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.|
225
227
|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.|
226
228
|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).|
227
229
|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).|
228
230
|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.|
229
231
|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.|
231
233
|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).|
232
234
|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.|
0 commit comments