Standards & Best Practices ยท Standard

Resource Naming and Tagging Standard

Defines normalized naming, mandatory metadata, ownership, cost-allocation, data-classification, and lifecycle controls for cloud resources.

Purpose

This standard defines a consistent naming and metadata model for Azure, AWS, GCP, and OCI resources. Names support human recognition and technical integration; tags or labels provide authoritative metadata for ownership, cost allocation, policy, security, operations, and lifecycle management.

Names are not a substitute for tags. Names SHOULD remain concise and stable, while changeable business metadata MUST be stored in tags, labels, or the enterprise resource catalog.

Normative language

The key words MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, and MAY are normative:

  • MUST / MUST NOT: mandatory for in-scope platforms and workloads.
  • SHOULD / SHOULD NOT: expected unless a documented risk-based exception is approved.
  • MAY: optional and selected according to workload requirements.

Where a cloud-provider feature cannot implement a requirement directly, the implementation MUST provide an equivalent control and record the equivalence in the architecture decision record (ADR).

Naming and metadata principles

  1. Stable names, mutable metadata. Do not encode information in a name when it is expected to change.
  2. Provider constraints are authoritative. The normalized model MUST be adapted to service-specific length, character, uniqueness, and immutability rules.
  3. No sensitive data. Names and tags MUST NOT contain secrets, personal data, customer names, or regulated identifiers unless specifically approved.
  4. Metadata has controlled vocabulary. Required keys and enumerated values MUST be centrally defined.
  5. Ownership and cost are mandatory. Every billable resource MUST be attributable to an accountable owner and cost object.

Mandatory requirements

RequirementControl statementMinimum evidence
SBP-04-REQ-001Resource names MUST follow the enterprise pattern unless a provider-generated name or immutable external requirement applies.Policy result and inventory sample
SBP-04-REQ-002Names MUST use only characters valid across the target provider/service and SHOULD use lowercase with hyphens where supported.Naming function and tests
SBP-04-REQ-003Names MUST NOT contain secrets, email addresses, personal names, customer data, or regulated identifiers.Policy scan
SBP-04-REQ-004Globally unique names MUST use a deterministic uniqueness suffix rather than random manual variants.Naming algorithm
SBP-04-REQ-005Environment codes MUST use the approved vocabulary such as dev, test, stage, and prod.Metadata dictionary
SBP-04-REQ-006Every billable resource MUST include owner, cost_center, application, environment, and managed_by metadata where provider support exists.Tag compliance report
SBP-04-REQ-007Production resources MUST include criticality, data_classification, and support_tier metadata.Tag compliance report
SBP-04-REQ-008IaC-managed resources MUST include a repository or deployment-source reference.Tag/label value and repository lookup
SBP-04-REQ-009Tags used for automation MUST use controlled values and MUST NOT rely on free-form capitalization or spelling.Tag dictionary and validation policy
SBP-04-REQ-010Provider tag inheritance MUST NOT be assumed unless verified; required metadata MUST be applied at the effective resource scope.Policy test
SBP-04-REQ-011Tag keys and values MUST remain within provider limits; systems MUST define behavior when service-specific limits prevent all optional tags.Provider constraint test
SBP-04-REQ-012Resource deletion or retirement workflows MUST update the enterprise inventory and cost ownership records.Decommission record
SBP-04-REQ-013Tagging policies MUST prevent or flag creation of resources without required metadata.Preventive or detective policy
SBP-04-REQ-014Tag values representing people SHOULD use stable team identifiers rather than individual names.Tag dictionary
SBP-04-REQ-015Exceptions for untaggable resources MUST be represented through inherited scope metadata or the external resource catalog.Catalog mapping

Metadata flow

flowchart LR A[Approved metadata dictionary] --> B[IaC naming and tagging module] B --> C[Cloud resource deployment] C --> D[Provider inventory] D --> E[Policy compliance] D --> F[Cost allocation] D --> G[Security and data classification] D --> H[Operations and support routing] E --> I[Remediation backlog]

Standard naming model

The preferred logical pattern is:

<organization>-<application>-<component>-<environment>-<region>-<instance>

Not every element belongs in every provider resource name. The implementation MUST define service-specific abbreviations and maximum lengths. Omit elements that are already unambiguous from hierarchy or that cause invalid or unstable names.

Examples:

acme-payments-api-prod-cac-01
acme-data-lake-dev-use1
acme-shared-dns-prod-global

Abbreviations MUST be centrally published. Teams MUST NOT invent new abbreviations when an approved value exists.

Required metadata dictionary

KeyPurposeExampleRules
ownerAccountable technical teamteam-cloud-platformStable team identifier
cost_centerFinancial allocationcc-10420Approved finance code
applicationService or productpayments-apiEnterprise catalog ID preferred
environmentLifecycle stageprodControlled vocabulary
managed_byManagement authorityterraformterraform, bicep, cloudformation, manual-exception, etc.
repositorySource of truthplatform/payments-infraRepository slug, not a secret URL
criticalityBusiness impacthighControlled tier
data_classificationHighest data class handledconfidentialEnterprise classification vocabulary
support_tierOperational support model24x7Controlled vocabulary
lifecycleCurrent stateactiveplanned, active, deprecated, retire

Optional metadata SHOULD include business_unit, product_owner, expiry_date, backup_policy, patch_group, compliance_scope, and service_level when relevant.

Enforcement hierarchy

  1. Naming and tagging functions in reusable modules.
  2. CI policy-as-code before deployment.
  3. Provider organization policy at deployment time.
  4. Scheduled inventory scans and remediation.
  5. Cost and security reports using the same metadata dictionary.

Automatic inheritance MAY reduce duplication, but the effective metadata on a resource MUST be queryable and reliable for its consumers.

Multi-cloud implementation mapping

CapabilityAzureAWSGCPOCI
Metadata mechanismTags on resources, resource groups, subscriptionsTags on resources/accounts; tag policiesLabels and resource tags; organization policiesDefined and free-form tags; tag defaults
HierarchyManagement group, subscription, resource groupOrganization, OU, accountOrganization, folder, projectTenancy, compartment
Policy enforcementAzure PolicyAWS Organizations tag policies and ConfigOrganization Policy and custom constraintsTag defaults, IAM policy, Cloud Guard
Inventory queryAzure Resource GraphAWS Resource Explorer / Config / Tag EditorCloud Asset InventoryOCI Search
Cost allocationCost Management exports and tagsCost allocation tags and CURCloud Billing export and labelsCost Analysis and defined tags

Provider products are implementation examples, not exemptions from the normative requirements. Equivalent services MAY be used when they satisfy the same control objective.

Validation

MeasureTarget or interpretation
Required-tag compliancePercentage of in-scope resources with valid required metadata; target 100%.
Unknown owner spendCloud cost without a resolvable owner; target zero.
Invalid vocabulary rateResources using unapproved key values.
Naming-policy failuresDeployments blocked by invalid names; trend indicates module or documentation defects.
Retirement hygieneDeprecated resources with an owner and removal date.

Adoption checklist

  • Publish approved name components and abbreviations.
  • Implement provider-specific naming functions.
  • Define controlled metadata vocabulary.
  • Enforce required tags in IaC and policy.
  • Map metadata into cost, security, and support systems.
  • Scan for PII and secrets in names/tags.
  • Report unknown owners and unallocated spend.
  • Integrate decommissioning with inventory updates.

Assurance evidence

Evidence MUST be reproducible and retained according to the enterprise records schedule. Acceptable evidence includes:

  • version-controlled configuration and policy;
  • pipeline logs and approval records;
  • policy evaluation results;
  • configuration snapshots or inventory exports;
  • test and recovery reports;
  • dashboards with query definitions; and
  • approved ADRs and exception records.

Screenshots alone SHOULD NOT be treated as primary evidence when machine-readable evidence is available.

Governance, exceptions, and enforcement

The Cloud Center of Excellence owns this standard. Platform engineering, security, reliability, application, data, and FinOps teams are accountable for implementing controls within their scope.

Exceptions MUST:

  1. identify the unmet requirement ID;
  2. describe business justification and quantified risk;
  3. define compensating controls;
  4. name an accountable owner;
  5. include an expiry date not exceeding 180 days; and
  6. be approved by the control owner and the relevant risk authority.

Expired exceptions are non-compliant. Automated policy checks SHOULD block new non-compliant deployments. Existing non-compliance MUST be tracked through a remediation backlog with owners and due dates.

Review cycle

This document MUST be reviewed at least annually and after a material change to cloud-provider capabilities, regulatory obligations, enterprise risk tolerance, or the operating model. Changes MUST preserve requirement identifiers where the underlying control intent remains unchanged.

References