Skip to content

Commit 106b33e

Browse files
authored
Merge pull request #188990 from MicrosoftGuyJFlo/ExportDataScreenshotUpdate
[Azure AD] Identity Protection - Workload identity risk update
2 parents d28585c + 76a8edb commit 106b33e

File tree

3 files changed

+62
-20
lines changed

3 files changed

+62
-20
lines changed

articles/active-directory/conditional-access/workload-identity.md

Lines changed: 56 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: conditional-access
88
ms.topic: how-to
9-
ms.date: 01/10/2022
9+
ms.date: 02/23/2022
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
@@ -19,31 +19,25 @@ ms.collection: M365-identity-device-management
1919

2020
Previously, Conditional Access policies applied only to users when they access apps and services like SharePoint online or the Azure portal. This preview adds support for Conditional Access policies applied to service principals owned by the organization. We call this capability Conditional Access for workload identities.
2121

22-
A workload identity is an identity that allows an application or service principal access to resources, sometimes in the context of a user. These workload identities differ from traditional user accounts as:
22+
A [workload identity](../develop/workload-identities-overview.md) is an identity that allows an application or service principal access to resources, sometimes in the context of a user. These workload identities differ from traditional user accounts as they:
2323

24-
- They usually have no formal lifecycle process.
24+
- Can’t perform multi-factor authentication.
25+
- Often have no formal lifecycle process.
2526
- Need to store their credentials or secrets somewhere.
26-
- Applications may use multiple identities.
27-
28-
These differences make workload identities difficult to manage, puts them at higher risk for leaks, and reduces the potential for securing access.
27+
28+
These differences make workload identities harder to manage and put them at higher risk for compromise.
2929

3030
> [!IMPORTANT]
3131
> In public preview, you can scope Conditional Access policies to service principals in Azure AD with an Azure Active Directory Premium P2 edition active in your tenant. After general availability, additional licenses might be required.
3232
3333
> [!NOTE]
3434
> Policy can be applied to single tenant service principals that have been registered in your tenant. Third party SaaS and multi-tenanted apps are out of scope. Managed identities are not covered by policy.
3535
36-
This preview enables blocking service principals from outside of trusted IP ranges, such as a corporate network public IP ranges.
36+
This preview enables blocking service principals from outside of trusted public IP ranges, or based on risk detected by Azure AD Identity Protection.
3737

3838
## Implementation
3939

40-
### Step 1: Set up a sample application
41-
42-
If you already have a test application that makes use of a service principal, you can skip this step.
43-
44-
Set up a sample application that, demonstrates how a job or a Windows service can run with an application identity, instead of a user's identity. Follow the instructions in the article [Quickstart: Get a token and call the Microsoft Graph API by using a console app's identity](../develop/quickstart-v2-netcore-daemon.md) to create this application.
45-
46-
### Step 2: Create a Conditional Access policy
40+
### Create a location-based Conditional Access policy
4741

4842
Create a location based Conditional Access policy that applies to service principals.
4943

@@ -60,6 +54,52 @@ Create a location based Conditional Access policy that applies to service princi
6054
1. Your policy can be saved in **Report-only** mode, allowing administrators to estimate the effects, or policy is enforced by turning policy **On**.
6155
1. Select **Create** to complete your policy.
6256

57+
### Create a risk-based Conditional Access policy
58+
59+
Use this sample JSON for a risk-based policy using the [Microsoft Graph beta endpoint](/graph/api/resources/conditionalaccesspolicy?view=graph-rest-1.0&preserve-view=true).
60+
61+
> [!NOTE]
62+
> Report-only mode doesn't report account risk on a risky workload identity.
63+
64+
```json
65+
{
66+
"displayName": "Name",
67+
"state": "enabled OR disabled",
68+
"conditions": {
69+
"applications": {
70+
"includeApplications": [
71+
"All"
72+
],
73+
"excludeApplications": [],
74+
"includeUserActions": [],
75+
"includeAuthenticationContextClassReferences": [],
76+
"applicationFilter": null
77+
},
78+
"userRiskLevels": [],
79+
"signInRiskLevels": [],
80+
"clientApplications": {
81+
"includeServicePrincipals": [
82+
"ServicePrincipalsInMyTenant"
83+
],
84+
"excludeServicePrincipals": []
85+
},
86+
"servicePrincipalRiskLevels": [
87+
"low",
88+
"medium",
89+
"high"
90+
]
91+
},
92+
"grantControls": {
93+
"operator": "and",
94+
"builtInControls": [
95+
"block"
96+
],
97+
"customAuthenticationFactors": [],
98+
"termsOfUse": []
99+
}
100+
}
101+
```
102+
63103
## Roll back
64104

65105
If you wish to roll back this feature, you can delete or disable any created policies.
@@ -77,14 +117,14 @@ Failure reason when Service Principal is blocked by Conditional Access: “Acces
77117

78118
### Finding the objectID
79119

80-
You can get the objectID of the service principal from Azure AD Enterprise Applications. The Object ID in Azure AD App registrations cannot be used. This identifier is the Object ID of the app registration, not of the service principal.
120+
You can get the objectID of the service principal from Azure AD Enterprise Applications. The Object ID in Azure AD App registrations can’t be used. This identifier is the Object ID of the app registration, not of the service principal.
81121

82122
1. Browse to the **Azure portal** > **Azure Active Directory** > **Enterprise Applications**, find the application you registered.
83123
1. From the **Overview** tab, copy the **Object ID** of the application. This identifier is the unique to the service principal, used by Conditional Access policy to find the calling app.
84124

85125
### Microsoft Graph
86126

87-
Sample JSON for configuration using the Microsoft Graph beta endpoint.
127+
Sample JSON for location-based configuration using the Microsoft Graph beta endpoint.
88128

89129
```json
90130
{

articles/active-directory/identity-protection/howto-export-risk-data.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: identity-protection
88
ms.topic: how-to
9-
ms.date: 07/30/2021
9+
ms.date: 02/18/2022
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
1313
manager: karenhoran
14-
ms.reviewer: sahandle
14+
ms.reviewer: sahandle, etbasser
1515

1616
ms.collection: M365-identity-device-management
1717
---
@@ -26,18 +26,20 @@ Azure AD stores reports and security signals for a defined period of time. When
2626
| Azure AD MFA usage | 30 days | 30 days | 30 days |
2727
| Risky sign-ins | 7 days | 30 days | 30 days |
2828

29-
Organizations can choose to store data for longer periods by changing diagnostic settings in Azure AD to send **RiskyUsers** and **UserRiskEvents** data to a Log Analytics workspace, archive data to a storage account, stream data to an Event Hub, or send data to a partner solution. Find these options in the **Azure portal** > **Azure Active Directory**, **Diagnostic settings** > **Edit setting**. If you don't have a diagnostic setting, follow the instructions in the article [Create diagnostic settings to send platform logs and metrics to different destinations](../../azure-monitor/essentials/diagnostic-settings.md) to create one.
29+
Organizations can choose to store data for longer periods by changing diagnostic settings in Azure AD to send **RiskyUsers**, **UserRiskEvents**, **RiskyServicePrincipals**, and **ServicePrincipalRiskEvents** data to a Log Analytics workspace, archive data to a storage account, stream data to an event hub, or send data to a partner solution. Find these options in the **Azure portal** > **Azure Active Directory**, **Diagnostic settings** > **Edit setting**. If you don't have a diagnostic setting, follow the instructions in the article [Create diagnostic settings to send platform logs and metrics to different destinations](../../azure-monitor/essentials/diagnostic-settings.md) to create one.
3030

3131
[ ![Diagnostic settings screen in Azure AD showing existing configuration](./media/howto-export-risk-data/change-diagnostic-setting-in-portal.png) ](./media/howto-export-risk-data/change-diagnostic-setting-in-portal.png#lightbox)
3232

3333
## Log Analytics
3434

3535
Log Analytics allows organizations to query data using built in queries or custom created Kusto queries, for more information, see [Get started with log queries in Azure Monitor](../../azure-monitor/logs/get-started-queries.md).
3636

37-
Once enabled you will find access to Log Analytics in the **Azure portal** > **Azure AD** > **Log Analytics**. The tables of most interest to Identity Protection administrators are **AADRiskyUsers** and **AADUserRiskEvents**.
37+
Once enabled you'll find access to Log Analytics in the **Azure portal** > **Azure AD** > **Log Analytics**. The following tables are of most interest to Identity Protection administrators:
3838

3939
- AADRiskyUsers - Provides data like the **Risky users** report in Identity Protection.
4040
- AADUserRiskEvents - Provides data like the **Risk detections** report in Identity Protection.
41+
- RiskyServicePrincipals - Provides data like the **Risky workload identities** report in Identity Protection.
42+
- ServicePrincipalRiskEvents - Provides data like the **Workload identity detections** report in Identity Protection.
4143

4244
[ ![Log Analytics view showing a query against the AADUserRiskEvents table showing the top 5 events](./media/howto-export-risk-data/log-analytics-view-query-user-risk-events.png) ](./media/howto-export-risk-data/log-analytics-view-query-user-risk-events.png#lightbox)
4345

15.2 KB
Loading

0 commit comments

Comments
 (0)