Skip to content

Commit

Permalink
⭐️ improve microsoft.tenant resource (#4573)
Browse files Browse the repository at this point in the history
* ⭐️ improve microsoft.tenant resource

* 🧹 PR feedback
  • Loading branch information
chris-rock authored Aug 20, 2024
1 parent 54e8063 commit 077e2cc
Show file tree
Hide file tree
Showing 7 changed files with 369 additions and 146 deletions.
30 changes: 0 additions & 30 deletions providers/ms365/resources/microsoft.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,6 @@

package resources

import (
"context"

"github.com/microsoftgraph/msgraph-sdk-go/organization"
"go.mondoo.com/cnquery/v11/providers/ms365/connection"
)

type mqlMicrosoftInternal struct {
// index users by id
idxUsersById map[string]*mqlMicrosoftUser
Expand Down Expand Up @@ -38,26 +31,3 @@ func (a *mqlMicrosoft) userById(id string) (*mqlMicrosoftUser, bool) {
res, ok := a.idxUsersById[id]
return res, ok
}

func (a *mqlMicrosoft) tenantDomainName() (string, error) {
conn := a.MqlRuntime.Connection.(*connection.Ms365Connection)
graphClient, err := conn.GraphClient()
if err != nil {
return "", err
}
ctx := context.Background()
resp, err := graphClient.Organization().Get(ctx, &organization.OrganizationRequestBuilderGetRequestConfiguration{})
if err != nil {
return "", transformError(err)
}
tenantDomainName := ""
for _, org := range resp.GetValue() {
for _, d := range org.GetVerifiedDomains() {
if *d.GetIsInitial() {
tenantDomainName = *d.GetName()
}
}
}

return tenantDomainName, nil
}
26 changes: 19 additions & 7 deletions providers/ms365/resources/ms365.lr
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
option provider = "go.mondoo.com/cnquery/v9/providers/ms365"
option go_package = "go.mondoo.com/cnquery/v11/providers/ms365/resources"

alias microsoft.organization = microsoft.tenant

// Microsoft
microsoft {
// List of organizations
organizations() []microsoft.organization
// Deprecated: use `microsoft.tenant` instead
organizations() []microsoft.tenant
// List of users
users() []microsoft.user
// List of groups
Expand All @@ -28,20 +30,30 @@ microsoft {
tenantDomainName() string
}

// Microsoft organization
private microsoft.organization @defaults("displayName") {
// Microsoft Entra tenant
microsoft.tenant @defaults("name") {
// Organization ID
id string
// Organization assigned plans
// Service plans associated with the tenant
assignedPlans []dict
// Organization creation date
// Provisioned plan
provisionedPlans []dict
// Deprecated: use `createdAt` instead
createdDateTime time
// Organization display name
// Deprecated: use `name` instead
displayName string
// Tenant display name
name string
// Organization verified domains
verifiedDomains []dict
// Whether password hash sync is enabled for hybrid deployments
onPremisesSyncEnabled bool
// Tenant creation date
createdAt time
// Tenant type
type string
// Commercial subscription
subscriptions() []dict
}

// Microsoft Entra ID user
Expand Down
154 changes: 108 additions & 46 deletions providers/ms365/resources/ms365.lr.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 15 additions & 1 deletion providers/ms365/resources/ms365.lr.manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,6 @@ resources:
onPremisesSyncEnabled:
min_mondoo_version: 9.0.0
verifiedDomains: {}
is_private: true
min_mondoo_version: 5.15.0
microsoft.passwordCredential:
fields:
Expand Down Expand Up @@ -362,6 +361,21 @@ resources:
type: {}
is_private: true
min_mondoo_version: latest
microsoft.tenant:
fields:
assignedPlans: {}
createdAt: {}
createdDateTime: {}
displayName: {}
id: {}
name: {}
onPremisesSyncEnabled: {}
provisionedPlans: {}
subscription: {}
subscriptions: {}
type: {}
verifiedDomains: {}
min_mondoo_version: 9.0.0
microsoft.user:
fields:
accountEnabled: {}
Expand Down
Loading

0 comments on commit 077e2cc

Please sign in to comment.