To manage your cloud resources effectively and securely, you need to consistently tag assets across all your cloud platforms. Here we explain tagging’s main benefits, as well as proven strategies and best practices for tagging success.
The first step in securing a cloud environment is understanding where your assets are running. This can pose huge problems for security teams and business leaders, especially in large organizations where various application teams are using multiple services and providers. By tagging assets appropriately, you can identify ownership, implement effective controls and provide visibility into the organization, allowing technical staff and business leaders to make informed decisions, improve efficiency and effectively manage risk.
In this blog post we’ll explore these challenges and provide practical guidance for implementing successful tagging strategies that protect sensitive workloads and enable technical teams and business leaders to manage cloud risk effectively, which we covered in the on-demand webinar “Tag, You're IT! Best Practices for Optimizing Your Cloud Tagging Strategy.”
As we increase our reliance on public cloud providers like AWS, Azure and Google Cloud to host a wide array of resources, we reap numerous benefits, such as scalability and elasticity of infrastructure. However, we also must tackle new and unique challenges, one of which is the implementation of consistent asset tagging across a multitude of resources and platforms.
Tagging is a critical component of effective cloud resource management because it allows organizations to categorize infrastructure based on various parameters such as ownership, purpose or cost center. However, maintaining a consistent tagging strategy can be a painful task due to our vast and expanding number of cloud resources, human error, lack of effective enforcement and evolving organizational needs.
The implications of inconsistent tagging are far-reaching, including difficulties identifying resource ownership; inflated costs due to unidentified and therefore unused resources; and potential security risks from stale, unpatched workloads or misconfigured infrastructure.
Poor tagging has undoubtedly contributed to high-profile data breaches that result from misconfigured resources, such as AWS S3 storage buckets, that could have been discovered and remediated with proper cloud security controls in place. The first step to mitigating these risks is to ensure deep visibility and contextual awareness of our cloud infrastructure. Implementing robust and consistent tagging policies can help us achieve this goal.
Public cloud providers offer a vast array of services, each with its own unique set of features and tagging requirements. For instance, an Amazon EC2 instance might have different tagging capabilities compared to an Azure Blob storage instance or a Google Cloud Function. This diversity makes it challenging to implement a universal tagging strategy that works seamlessly across all resource types.
Tagging, when done manually, can result in inconsistencies and errors. This could be due to simple oversights, misunderstanding of tagging conventions or even typos. These inconsistencies can lead to mislabeled or unlabeled resources, making it difficult to manage and track these resources effectively.
Without strict enforcement mechanisms, it's easy for teams to neglect tagging or use it inconsistently. This is especially true in large organizations where multiple teams or departments are using the same cloud account. Each team might have its own tagging conventions, leading to a lack of standardization across the organization.
As organizations grow and evolve, so do their tagging needs. What worked for a small startup might not work for a large enterprise with multiple departments and projects. Maintaining consistent tagging standards over time can be challenging, especially when dealing with legacy resources that were tagged according to outdated conventions.
A key benefit of tagging is the ability to track resource usage and associated costs. However, when resources are not consistently tagged, they can often go unnoticed and continue to generate costs when they are no longer needed.
Unidentified resources can pose a significant security risk. If you don't know what a resource is for or who owns it, you can't be sure it's configured correctly or whether it’s exposing your organization to unnecessary risk. For example, an untagged storage bucket might be inadvertently left open to the public, leading to potential data leaks. Similarly, unidentified compute instances could be running outdated software, leaving them vulnerable to attacks.
“We don’t know what it does, so we don’t want to delete it in case it causes a serious problem.” This is all too often the sentiment of cloud teams trying to reconcile and organize the sheer amount of data in their cloud environments.
Without clearly defined ownership of cloud resources, it can be challenging to determine who should be notified in case of an incident or who should approve changes to a resource.
Inconsistent tagging can have far-reaching implications for your organization. However, these challenges can be addressed through strategic use of policy-as-code and automation. By understanding the implications of inconsistent tagging, you can better appreciate the value of a robust and consistent tagging strategy.
If security cannot identify and quantify the risk of removing non-compliant resources, insecure configurations go unnoticed and unattended, and leave organizations exposed to the risk of data breaches, reputational damage and compliance failure.
Policy-as-code is the process of translating human language-based policies into code that can be run by a computer. A policy framework is based upon a specific programming language like YAML or Rego, is human readable, and makes it easier for non-developers to create and edit the code that implements policies.
The benefits of policy-as-code are numerous. It not only ensures consistency and reduces human error but also allows for scalability, repeatability, and transparency. With policy-as-code, you can easily scale your tagging strategy as your organization grows, repeat the same standards across different projects or teams, and provide transparency into your tagging policies. Compared to manually managing rules and procedures, policy-as-code offers several critical benefits. These include:
Continuous compliance involves regularly checking your cloud resources to ensure they comply with your tagging policies. This is achieved by running automated checks that flag or correct non-compliant resources.
Continuous compliance offers several benefits. It ensures that your resources are always in line with your tagging policies; helps identify and rectify non-compliance issues promptly; and provides ongoing visibility into your compliance status. This leads to improved resource management, cost control and security.
In summary, automated compliance allows us to:
It’s expensive and time-consuming to design unique tagging policies from scratch. Plenty of tagging standards and templates exist already. Cloud application teams should use these tried and tested methods to ensure that they can quickly and easily implement and maintain compliance with their policies.
Cloud security vendors should offer multiple predefined tagging policies that are standardized across multiple cloud resources and providers. As your organization grows or your requirements evolve, you can easily customize these policies or use a new standard that meets your organization’s needs.
Identify untagged resources using automated cloud security tooling. Advanced tooling can automatically discover untagged resources in your cloud environment and suggest appropriate tags based on metadata and permissions. Some tooling can even create pull requests, highlighting missing tags and suggesting code snippets for remediation. This allows you to create actionable tickets and quickly integrate these tasks into your development pipeline.
The most common use of policy-as-code is to automate the enforcement of compliance policies. Start with enforcing tagging standards using pre-existing templates and policies to start you on your policy-as-code journey.
To learn more about cloud-tagging best practices and policies, watch our on-demand webinar “Tag, You're IT! Best Practices for Optimizing Your Cloud Tagging Strategy” and visit our Tenable Cloud Security home page.
Tom Croll is a former Gartner analyst and co-author of the original research on cloud native application protection platforms (CNAPP), defining the requirements for effective application security in public cloud. With over 20 years of industry experience, he was also one of the earliest pioneers of DevSecOps methodologies. His current expertise and skills center on advising in cloud application and infrastructure security (IaaS, PaaS and SaaS), security service edge (SSE) and secure access service edge (SASE), with deep knowledge of the SaaS security posture management (SSPM) market. In previous positions, he worked as a lead cloud security architect for multiple financial and government organizations, including most recently the U.K.'s Financial Conduct Authority. Tom has led agile development teams to develop cloud security best practices across multiple industry sectors. He is a consultant for Tenable.