1+ # Copyright (c) Mondoo, Inc.
2+ # SPDX-License-Identifier: BUSL-1.1
3+
4+ packs :
5+ - uid : mondoo-ms365-inventory
6+ name : Microsoft 365 Inventory Pack
7+ version : 1.0.0
8+ license : BUSL-1.1
9+ authors :
10+ - name : Mondoo, Inc
11+ email : hello@mondoo.com
12+ tags :
13+ mondoo.com/platform : ms365,saas
14+ mondoo.com/category : best-practices
15+ docs :
16+ desc : |
17+ The Microsoft 365 Asset Inventory Pack by Mondoo retrieves data about Microsoft 365 resources for asset inventory.
18+
19+ To run this pack for an Microsoft 365 Tenant:
20+
21+ ```bash
22+ cnspec scan ms365 --certificate-path certificate.combo.pem --tenant-id YOUR-TENANT-ID --client-id YOUR-CLIENT-ID --policy-bundle mondoo-ms365-inventory.mql.yaml
23+ ```
24+
25+ ## Join the community!
26+ Our goal is to build query packs that are simple to deploy and provide accurate and useful data.
27+
28+ If you have any suggestions for improving this query pack, or if you need support, [join the Mondoo community](https://github.com/orgs/mondoohq/discussions) in GitHub Discussions.
29+ groups :
30+ - title : Organization
31+ filters :
32+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
33+ queries :
34+ - uid : mondoo-asset-inventory-ms365-organization-id
35+ title : Organization ID
36+ mql : |
37+ microsoft.organizations.first.id
38+ - uid : mondoo-asset-inventory-ms365-organization-name
39+ title : Organization Name
40+ mql : |
41+ microsoft.organizations.first.name
42+ - uid : mondoo-asset-inventory-ms365-tenant-doamin-name
43+ title : Organization Tenant Domain Name
44+ mql : |
45+ microsoft.tenantDomainName
46+ - uid : mondoo-asset-inventory-ms365-organization-assigned-plans
47+ title : Organization Assigned Plans
48+ mql : |
49+ microsoft.organizations.first.assignedPlans
50+ - uid : mondoo-asset-inventory-ms365-organization-provisioned-plans
51+ title : Organization Provisioned Plans
52+ mql : |
53+ microsoft.organizations.first.provisionedPlans
54+ - uid : mondoo-asset-inventory-ms365-organization-created
55+ title : Organization Created
56+ mql : |
57+ microsoft.organizations.first.createdAt
58+ - uid : mondoo-asset-inventory-ms365-organization-subscriptions
59+ title : Organization Subscriptions
60+ mql : |
61+ microsoft.tenant.subscriptions
62+
63+ - title : Groups
64+ filters :
65+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
66+ queries :
67+ - uid : mondoo-asset-inventory-ms365-groups
68+ title : Groups
69+ mql : |
70+ microsoft.groups
71+ - uid : mondoo-asset-inventory-ms365-groups-public
72+ title : Public Groups and their Members
73+ mql : |
74+ microsoft.groups.where (visibility == "Public") {id displayName securityEnabled members}
75+ - uid : mondoo-asset-inventory-ms365-groups-security-enabled
76+ title : Groups no Security enabled
77+ mql : |
78+ microsoft.groups.where (securityEnabled == false) {id displayName securityEnabled members}
79+
80+ - title : Applications
81+ filters :
82+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
83+ queries :
84+ - uid : mondoo-asset-inventory-ms365-applications
85+ title : Applications
86+ mql : |
87+ microsoft.applications
88+ - uid : mondoo-asset-inventory-ms365-applications-expired-credentials
89+ title : Applications with expired credentials
90+ mql : |
91+ microsoft.applications.where(hasExpiredCredentials == true) {appId displayName owners createdAt servicePrincipal}
92+ - uid : mondoo-asset-inventory-ms365-enterprise-applications
93+ title : Enterprise Applications
94+ mql : |
95+ microsoft.enterpriseApplications
96+
97+ - title : Device Management
98+ filters :
99+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
100+ queries :
101+ - uid : mondoo-asset-inventory-ms365-device-management-device-compliance-policy
102+ title : Device Compliance Policy
103+ mql : |
104+ microsoft.devicemanagement.deviceCompliancePolicies
105+ - uid : mondoo-asset-inventory-ms365-device-management-device-configurations
106+ title : Device Configurations
107+ mql : |
108+ microsoft.devicemanagement.deviceConfigurations
109+
110+ - title : Domains
111+ filters :
112+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
113+ queries :
114+ - uid : mondoo-asset-inventory-ms365-domains
115+ title : Domains
116+ mql : |
117+ microsoft.domains
118+
119+ - title : Users
120+ filters :
121+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
122+ queries :
123+ - uid : mondoo-asset-inventory-ms365-users
124+ title : Users
125+ mql : |
126+ microsoft.users
127+ - uid : mondoo-asset-inventory-ms365-users-account-enabled
128+ title : Users account enabled
129+ mql : |
130+ microsoft.users.where(accountEnabled == true) {id givenName surname userPrincipalName}
131+ - uid : mondoo-asset-inventory-ms365-users-mfa
132+ title : Users with no MFA enabled
133+ mql : |
134+ microsoft.users.where(mfaEnabled == false) {id givenName surname userPrincipalName}
135+
136+ - title : Policies
137+ filters :
138+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
139+ queries :
140+ - uid : mondoo-asset-inventory-ms365-policies-admin-consent-request-policy
141+ title : Admin Consent Request Policy
142+ mql : |
143+ microsoft.policies.adminConsentRequestPolicy
144+ - uid : mondoo-asset-inventory-ms365-policies-authorization-policy
145+ title : Authorization Policy
146+ mql : |
147+ microsoft.policies.authorizationPolicy
148+ - uid : mondoo-asset-inventory-ms365-policies-consent-policy-settings
149+ title : Consent Policy Settings
150+ mql : |
151+ microsoft.policies.consentPolicySettings
152+ - uid : mondoo-asset-inventory-ms365-policies-identity-security-defaults-enforcement-policy
153+ title : Identity Security Defaults Enforcement Policy
154+ mql : |
155+ microsoft.policies.identitySecurityDefaultsEnforcementPolicy
156+ - uid : mondoo-asset-inventory-ms365-policies-permission-grant-policies
157+ title : Permission Grant Policies
158+ mql : |
159+ microsoft.policies.permissionGrantPolicies
160+
161+ - title : Roles
162+ filters :
163+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
164+ queries :
165+ - uid : mondoo-asset-inventory-ms365-roles
166+ title : Roles
167+ mql : |
168+ microsoft.roles
169+
170+ - title : Security
171+ filters :
172+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
173+ queries :
174+ - uid : mondoo-asset-inventory-ms365-security-latest-secure-scores
175+ title : Latest Security Score
176+ mql : |
177+ microsoft.security.latestSecureScores {maxScore currentScore azureTenantId vendorInformation averageComparativeScores activeUserCount}
178+ - uid : mondoo-asset-inventory-ms365-security-risky-users
179+ title : Risky Users
180+ mql : |
181+ microsoft.security.riskyUsers
182+
183+ - title : Service Principals
184+ filters :
185+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
186+ queries :
187+ - uid : mondoo-asset-inventory-ms365-service-principals
188+ title : Service Principals
189+ mql : |
190+ microsoft.serviceprincipals
191+ - uid : mondoo-asset-inventory-ms365-service-principals-enabled
192+ title : Enabled Service Principals
193+ mql : |
194+ microsoft.serviceprincipals.where(enabled == true) {id name servicePrincipalNames assignments signInAudience permissions}
195+
196+ - title : Settings
197+ filters :
198+ - asset.platform == "microsoft365" || asset.runtime == "ms-graph"
199+ queries :
200+ - uid : mondoo-asset-inventory-ms365-settings
201+ title : Settings
202+ mql : |
203+ microsoft.settings
0 commit comments