Skip to main content

What are Tag Group Bindings?

Tag group bindings control which types of entities can be tagged with tags from a specific group. For example, you might want “Departments” tags to apply to both users and documents, but “Sensitivity” tags to only apply to documents.

Binding Properties

Model Types

The TagAssociationModelTypeEnum defines what a group can be bound to. Bindings are by type, not individual instances:
This is distinct from tag assignment, whose targetType uses TaggableModelTypeEnum (scope / resource / subject / role / membership)—you assign a tag to a specific instance, but you bind a tag group to a type.

Creating Bindings

Bind to a Resource Type

Allow resources of a type to use tags from this group (omit modelId to apply to resource types generally):

Bind to Specific Resource Type

Only documents can have sensitivity tags:

Bind to a Subject Type

Subjects can be tagged with departments:

Common Binding Patterns

Department Tags for Users and Documents

Sensitivity Only for Documents

Skills for Users Only

Labor Classes for Workers and Jobs

Validation

When you try to assign a tag, Bedrock validates:
  1. The tag group has a binding for the target’s model type
  2. If modelId is specified, the target matches that specific model
  3. The maxAppliedPerTarget constraint is not exceeded

Querying Bindings

Use Cases

Access Control by Department

Bind departments to both users and documents, then use in permissions:

Compliance Classification

Only certain resource types need compliance tags:

Best Practices

Don’t bind tag groups to everything. Only bind to model types where the tags make sense.
When only certain resource types should have a tag group, bind to specific types rather than all resources.
Keep a record of which tag groups are bound to which models for your team’s reference.
If you’re using tags for access control, ensure both subjects and resources have the necessary bindings.

Next Steps

Tag-Based Access

Learn how to use tags in permission conditions