diff --git a/pkg/connector/group.go b/pkg/connector/group.go index 3d1bafac..0a079033 100644 --- a/pkg/connector/group.go +++ b/pkg/connector/group.go @@ -133,23 +133,15 @@ func (g *groupResourceType) Grants(ctx context.Context, resource *v2.Resource, p } memberIDs := mapGroupMembers(groupMembers) - targetMembers, _, err := g.client.GetUsers( - ctx, - servicenow.PaginationVars{ - Limit: len(memberIDs), - }, - memberIDs, - ) - if err != nil { - return nil, "", nil, fmt.Errorf("servicenow-connector: failed to list members under group %s: %w", resource.Id.Resource, err) + if len(memberIDs) == 0 { + return []*v2.Grant{}, nextPageToken, nil, nil } var rv []*v2.Grant - for _, member := range targetMembers { - memberCopy := member - ur, err := userResource(&memberCopy) + for _, member := range memberIDs { + rID, err := rs.NewResourceID(resourceTypeUser, member) if err != nil { - return nil, "", nil, err + return nil, "", nil, fmt.Errorf("baton-servicenow: error creating principal id") } // grant group membership @@ -158,7 +150,7 @@ func (g *groupResourceType) Grants(ctx context.Context, resource *v2.Resource, p grant.NewGrant( resource, groupMembership, - ur.Id, + rID, ), ) }