Skip to content

Commit 727f9a1

Browse files
committed
Added Risky SignIns Report
1 parent da668ff commit 727f9a1

File tree

4 files changed

+139
-0
lines changed

4 files changed

+139
-0
lines changed

src/_nav.jsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ const _nav = [
114114
name: 'AAD Connect Report',
115115
to: '/identity/reports/azure-ad-connect-report',
116116
},
117+
{
118+
component: CNavItem,
119+
name: 'Risky Sign-ins',
120+
to: '/identity/reports/risky-signins',
121+
},
117122
],
118123
},
119124
{

src/importsMap.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import React from 'react'
3232
"/identity/reports/inactive-users-report": React.lazy(() => import('./views/identity/reports/InactiveUsers')),
3333
"/identity/reports/Signin-report": React.lazy(() => import('./views/identity/reports/SignIns')),
3434
"/identity/reports/azure-ad-connect-report": React.lazy(() => import('./views/identity/reports/AzureADConnectReport')),
35+
"/identity/reports/risky-signins": React.lazy(() => import('./views/identity/reports/RiskySignIns')),
3536
"/tenant/administration/tenants": React.lazy(() => import('./views/tenant/administration/Tenants')),
3637
"/tenant/administration/tenants/edit": React.lazy(() => import('./views/tenant/administration/EditTenant')),
3738
"/tenant/administration/partner-relationships": React.lazy(() => import('./views/tenant/administration/PartnerRelationships')),

src/routes.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,12 @@
206206
"component": "views/identity/reports/AzureADConnectReport",
207207
"allowedRoles": ["admin", "editor", "readonly"]
208208
},
209+
{
210+
"path": "/identity/reports/risky-signins",
211+
"name": "Risky Sign-Ins",
212+
"component": "views/identity/reports/RiskySignIns",
213+
"allowedRoles": ["admin", "editor", "readonly"]
214+
},
209215
{
210216
"path": "/tenant",
211217
"name": "Tenant",
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
import { useSelector } from 'react-redux'
2+
import { CippPageList } from 'src/components/layout'
3+
import { CellTip } from 'src/components/tables'
4+
5+
const columns = [
6+
{
7+
name: 'Date',
8+
selector: (row) => row['createdDateTime'],
9+
sortable: true,
10+
exportSelector: 'createdDateTime',
11+
},
12+
{
13+
name: 'User Principal Name',
14+
selector: (row) => row['userPrincipalName'],
15+
sortable: true,
16+
exportSelector: 'userPrincipalName',
17+
},
18+
{
19+
name: 'Location',
20+
selector: (row) => row.locationcipp,
21+
sortable: true,
22+
exportSelector: 'locationcipp',
23+
cell: (row) => CellTip(row['locationcipp']),
24+
},
25+
{
26+
name: 'IP Address',
27+
selector: (row) => row['ipAddress'],
28+
sortable: true,
29+
exportSelector: 'ipAddress',
30+
},
31+
{
32+
name: 'Risk State',
33+
selector: (row) => row['riskState'],
34+
sortable: true,
35+
exportSelector: 'riskState',
36+
},
37+
{
38+
name: 'Risk Detail',
39+
selector: (row) => row['riskDetail'],
40+
sortable: true,
41+
exportSelector: 'riskDetail',
42+
},
43+
{
44+
name: 'Risk Level Aggregated',
45+
selector: (row) => row['riskLevelAggregated'],
46+
sortable: true,
47+
exportSelector: 'riskLevelAggregated',
48+
},
49+
{
50+
name: 'Risk Level During Sign-In',
51+
selector: (row) => row['riskLevelDuringSignIn'],
52+
sortable: true,
53+
exportSelector: 'riskLevelDuringSignIn',
54+
},
55+
{
56+
name: 'Risk Event Type',
57+
selector: (row) => row['riskEventTypes_v2'],
58+
sortable: true,
59+
exportSelector: 'riskEventTypes_v2',
60+
},
61+
{
62+
name: 'Application Name',
63+
selector: (row) => row['clientAppUsed'],
64+
sortable: true,
65+
exportSelector: 'clientAppUsed',
66+
},
67+
{
68+
name: 'Authentication Requirements',
69+
selector: (row) => row['authenticationRequirement'],
70+
sortable: true,
71+
exportSelector: 'authenticationRequirement',
72+
},
73+
{
74+
name: 'Additional Details',
75+
selector: (row) => row.additionalDetails,
76+
sortable: true,
77+
exportSelector: 'additionalDetails',
78+
cell: (row) => CellTip(row['additionalDetails']),
79+
},
80+
]
81+
82+
const RiskySignInsReport = () => {
83+
const tenant = useSelector((state) => state.app.currentTenant)
84+
85+
return (
86+
<>
87+
<CippPageList
88+
title="Risky Sign Ins Report"
89+
capabilities={{ allTenants: false, helpContext: 'https://google.com' }}
90+
datatable={{
91+
filterlist: [
92+
{
93+
filterName: 'State: atRisk',
94+
filter: 'Complex: riskState eq atRisk',
95+
},
96+
{
97+
filterName: 'State: confirmedCompromised',
98+
filter: 'Complex: riskState eq confirmedCompromised',
99+
},
100+
{
101+
filterName: 'State: confirmedSafe',
102+
filter: 'Complex: riskState eq confirmedSafe',
103+
},
104+
{
105+
filterName: 'State: dismissed',
106+
filter: 'Complex: riskState eq dismissed',
107+
},
108+
{
109+
filterName: 'State: remediated',
110+
filter: 'Complex: riskState eq remediated',
111+
},
112+
{
113+
filterName: 'State: unknownFutureValue',
114+
filter: 'Complex: riskState eq unknownFutureValue',
115+
},
116+
],
117+
columns: columns,
118+
path: `/api/ListRiskySignIns`,
119+
reportName: `${tenant?.defaultDomainName}-RiskySignIns-Report`,
120+
params: { TenantFilter: tenant?.defaultDomainName },
121+
}}
122+
/>
123+
</>
124+
)
125+
}
126+
127+
export default RiskySignInsReport

0 commit comments

Comments
 (0)