Skip to main content
Some models are implementation details, meant for reference only within their group of related models. Other models should be accessible through the ref function across groups and projects. Models can set an access modifier to indicate their intended level of accessibility

Configuring model access

You can apply access modifiers in config files, including the dbt_project.yml, or to models one-by-one in properties.yml. Applying access configs to a subfolder modifies the default for all models in that subfolder, so make sure you intend for this behavior. When setting individual model access, a group or subfolder might contain a variety of access levels, so when you designate a model with access: public make sure you intend for this behavior. Use the access configuration to define the access level for a model. There are multiple approaches to configuring access.
models/properties_my_public_model.yml

Access level definition

The access level of the model you are declaring properties for.
By default, all models are protected. This means that other models in the same project can reference them, regardless of their group.
Models with materialized set to ephemeral cannot have the access property set to public.