Skip to main content

Smart classes

Smart classes are a mechanism for applying a set of asset filters within a shorthand syntax. JupiterOne administrators can create smart classes in the Assets app by navigating to the smart classes sub section.

Info

For detailed information covering setting up smart classes, see our smart classes page.

Querying Smart Classes

Smart classes should be considered as a subgraph of your entire graph that only contains entities with additional context captured in the smart class. The additional context can be business-related, like asset criticality or owner group, or technical, like whether the assets are EOL or publicly accessible. When building your posture management, vulnerability management, or compliance use cases, you can use the following query patterns to only query for assets that are in your smart class.

Using Smart Class Instance

The first way to query smart classes is by directly referring to the smart class. Smart classes are queryable by using the hash character before the name of the smart class. Some example queries that follow this pattern include:

  • FIND #Sev1
  • FIND Finding THAT HAS #Sev1

Using Smart Classes as a Filter

Beyond directly referencing the smart class as in the above example, it is also possible to use the smart class as a filter. For example, if you are only interested in your DataStores with a certain criticality, you could use the following queries:

  • FIND #Sev1 DataStore
  • FIND AccessRole THAT ALLOWS #Sev1 aws_s3_bucket

Using Smart Class Tags

Finally, smart classes can also be referenced by using tags. This is helpful if you want to find entities that belong to multiple smart classes. For example, if you want to find public entities that belong to a certain severity level, you can run the following queries:

  • FIND DataStore WITH tag.Sev1=true AND tag.Public=true