Не получается просто так сделать, и из коробки он тоже не дает таких инструментов.
Тем не менее интересный вариант промежуточный получился:
import { shield } from 'graphql-shield'
import { IRuleFieldMap, ShieldRule } from 'graphql-shield/dist/types'
import { NexusGenObjects } from 'server/nexus/generated/nexus'
type RuleTree = Record<keyof NexusGenObjects, ShieldRule | IRuleFieldMap>
const ruleTree: RuleTree = {
Query: {
// users: rules.users,
},
Mutation: {},
}
export const permissions = shield(ruleTree)
В таком виде он требует описать правила для всех корневых объектов схемы. Это может пригодиться в режиме "Паранойя". Только надо доработать до дженерика, чтобы можно было и дочерние типы хотя бы для Query и Mutation затребовать.