// Module included in the following assemblies:
//
// * storage/dynamic-provisioning.adoc
// * microshift_storage/dynamic-provisioning-microshift.adoc

:_mod-docs-content-type: CONCEPT
[id="dynamic-provisioning-defining-storage-class_{context}"]
= Defining a storage class

[role="_abstract"]
`StorageClass` objects apply cluster-wide and are available to all namespaces. Only users with cluster-admin or storage-admin privileges can create or modify them. This centralized control ensures consistent storage policies across your cluster while requiring application teams to coordinate with administrators for custom storage configurations.

ifndef::microshift,openshift-rosa,openshift-rosa-hcp[]
[IMPORTANT]
====
The Cluster Storage Operator might install a default storage class depending on the platform in use. This storage class is owned and controlled by the Operator. It cannot be deleted or modified beyond defining annotations and labels. If different behavior is required, you must define a custom storage class.
====
endif::microshift,openshift-rosa,openshift-rosa-hcp[]
ifdef::openshift-rosa,openshift-rosa-hcp[]
[IMPORTANT]
====
The Cluster Storage Operator installs a default storage class. This storage class is owned and controlled by the Operator. It cannot be deleted or modified beyond defining annotations and labels. If different behavior is required, you must define a custom storage class.
====
endif::openshift-rosa,openshift-rosa-hcp[]

The following sections describe the basic definition for a `StorageClass` object and specific examples for each of the supported plugin types.
