Asset Management (AM) - Microsoft Cloud Security Benchmark

Asset Management Overview

Purpose of Asset Management

Asset Management in cloud security is foundational for maintaining operational efficiency, regulatory compliance, and a strong security posture. It involves the systematic tracking, management, and governance of cloud resources to ensure authorized use, eliminate risks associated with unauthorized assets, and maintain visibility over the cloud environment. By implementing asset management best practices, organizations can secure their cloud resources throughout their lifecycle, enhancing both security and compliance.

Core Objectives

Comprehensive Resource Tracking: Keeping an up-to-date inventory of all cloud assets, such as virtual machines, databases, and network components, to maintain visibility and control.

Utilization of Approved Assets: Ensuring only vetted services and applications are deployed, thereby minimizing security risks from unauthorized resources.

Risk Mitigation: Identifying and addressing unmanaged or unauthorized resources that could expose vulnerabilities or lead to compliance violations.

Core Objectives

Visibility: Ongoing monitoring and documentation of all resources in the cloud environment.

Policy Enforcement: Applying and upholding policies that govern resource deployment and management.

Access Control: Implementing access restrictions to limit resource management to authorized personnel.

Compliance: Ensuring only approved applications and services are used within the cloud environment.

Control Descriptions

AM-1: Track Asset Inventory and Their Risks
Maintain an up-to-date inventory of all cloud resources to ensure complete visibility and risk monitoring, enabling rapid response to changes in asset status or security posture.

AM-2: Use Only Approved Services
Enforce policies that restrict cloud usage to approved services, preventing unauthorized or unapproved applications from being used, which helps maintain compliance and minimize risk.

AM-3: Ensure Security of Asset Lifecycle Management
Manage the security of resources throughout their lifecycle by establishing controls for asset creation, modification, and decommissioning to minimize exposure to potential threats.

AM-4: Limit Access to Asset Management
Control who has access to asset management capabilities to prevent unauthorized modifications, which helps safeguard sensitive resources from unintended or malicious changes.

AM-5: Use Only Approved Applications in Virtual Machines
Ensure only vetted software is installed on VMs, reducing the risk posed by unauthorized or insecure applications and maintaining system integrity.

AM-1: Track Asset Inventory and Their Risks

Security Principle

Maintaining a comprehensive and up-to-date inventory of cloud assets is essential for effective security management. By systematically tracking resources, organizations can identify potential risks, ensure compliance, and respond promptly to security incidents.

Guidance by Platform

Azure: Utilize Microsoft Defender for Cloud and Azure Resource Graph to discover and categorize resources. Defender for Cloud provides a unified view of security posture, while Resource Graph enables efficient querying of resources across subscriptions. Learn more

AWS: Implement AWS Systems Manager Inventory and Tag Editor to query resources. Systems Manager Inventory collects metadata from managed instances, and Tag Editor allows for efficient resource tagging and organization. Learn more

GCP: Use Google Cloud Asset Inventory with Security Command Center to track asset metadata and access historical data. Asset Inventory provides real-time visibility into cloud assets, and Security Command Center offers centralized security management. Learn more

Implementation Steps and Examples

Establish a Centralized Asset Tracking System:

Set up a unified asset tracking system using the platform-specific tools to catalog and monitor all resources across cloud environments. This consolidated view facilitates efficient management and reduces the chance of assets being overlooked, enhancing security monitoring.

Tagging for Enhanced Organization:

Apply structured tagging practices across resources to standardize asset categorization. Tags should reflect key dimensions like environment, department, and application. Consistent tagging supports better organization, compliance, and targeted monitoring, making audits and incident response more efficient.

Automated Alerts and Compliance Checks:

Enable automated alerts and periodic compliance checks for unauthorized changes or configuration drift. Establishing alert thresholds aligned with asset criticality can help prioritize responses and maintain a secure environment. Regular compliance audits ensure assets are continuously aligned with organizational standards.

Start Here: What type of assets are you tracking?

AM-2: Use Only Approved Services

Security Principle

Restricting cloud usage to approved services is essential for maintaining security and compliance. By enforcing policies that limit the deployment and utilization of services to those that have been vetted and authorized, organizations can prevent the introduction of vulnerabilities and ensure adherence to regulatory standards.

Guidance by Platform

Azure: Utilize Azure Policy to define and enforce rules that restrict the deployment of unapproved services. Azure Policy allows for the creation of custom policies or the use of built-in definitions to audit and enforce compliance across resources. For instance, you can create a policy that denies the creation of specific resource types or enforces the use of specific SKUs. Learn more

AWS: Implement AWS Config to assess, audit, and evaluate the configurations of AWS resources. By creating AWS Config rules, you can automatically check the configuration of AWS resources and compare them with desired configurations. For example, you can set up a rule that checks whether only approved services are being used and trigger alerts or remediation actions if non-compliant resources are detected. Learn more

GCP: Leverage Google Cloud's Organization Policy Service to define and enforce policies that restrict the use of specific services or configurations. By setting constraints, you can control the set of services that can be activated in your organization, ensuring that only approved services are used. Additionally, use Cloud Monitoring to detect and alert on the use of unauthorized services. Learn more

Implementation Steps and Examples

Define Approved Services:

Collaborate with stakeholders to identify and document the services approved for use within the organization. Regularly update this list to reflect organizational needs and compliance requirements, ensuring policies stay current with technology and security best practices.

Policy Management and Continuous Improvement:

Develop a governance framework to regularly review and adjust policies as services evolve and new threats emerge. Encourage teams to adopt compliance checks early in the deployment process, embedding compliance requirements into development and operational workflows.

Centralized Reporting and Analysis:

Set up centralized reporting to monitor policy compliance across platforms. Use data from these reports to identify patterns in non-compliance, which can reveal areas for improvement in service configuration, training, or policy scope. This proactive approach ensures policies remain effective and relevant to organizational goals.

Interactive Decision Tree

Start Here: What level of service restriction is required?

AM-3: Ensure Security of Asset Lifecycle Management

Security Principle

Managing the security of cloud assets throughout their lifecycle is crucial for maintaining a robust security posture. This involves implementing controls and policies that govern the creation, modification, and decommissioning of resources, ensuring that security considerations are integrated at every stage.

Guidance by Platform

Azure: Establish lifecycle policies for asset management, including identity, data sensitivity, and access updates. Utilize Azure Policy to enforce organizational standards and assess compliance at scale. Azure Resource Manager templates can define and deploy resources consistently, while Azure Automation helps automate deployment and management to ensure uniform application of security configurations. Learn more

AWS: Use AWS Identity and Access Management (IAM) to define and manage permissions throughout the asset lifecycle. Implement AWS Config to monitor configurations for compliance, and use AWS CloudFormation for consistent, secure resource provisioning. AWS Systems Manager provides operational insights and automates common maintenance and deployment tasks. Learn more

GCP: Implement VPC Service Controls to define security perimeters around GCP resources, protecting data from unauthorized access. Use IAM for access management, Google Cloud Deployment Manager for consistent resource automation, and Cloud Asset Inventory for real-time asset visibility and effective lifecycle management.

Implementation Steps and Examples

Define Asset Lifecycle Policies:

Collaborate with stakeholders to establish policies that govern the entire lifecycle of assets, from creation to decommissioning. Ensure policies address security considerations such as access controls, data sensitivity, and compliance requirements.

Automate Resource Provisioning and Management:

Azure: Use Azure Resource Manager templates and Azure Automation to deploy and manage resources consistently.

AWS: Implement AWS CloudFormation and AWS Systems Manager for automated resource provisioning and maintenance.

GCP: Utilize Google Cloud Deployment Manager for resource automation, ensuring consistent security policies.

Monitor and Enforce Compliance:

Regularly review compliance reports to identify deviations from established policies. Implement automated remediation processes to address non-compliance and ensure continuous adherence to security standards.

Interactive Decision Tree

Start Here: What stage of the asset lifecycle are you focusing on?

AM-4: Limit Access to Asset Management

Security Principle

Restricting user access to asset management features is crucial for preventing unauthorized modifications and ensuring the integrity of cloud resources. By implementing stringent access controls, organizations can safeguard sensitive assets from unintended or malicious changes.

Guidance by Platform

Azure: Utilize Azure Resource Manager to define and manage access controls for resources. Implement Conditional Access policies to enforce multi-factor authentication and other access requirements. Apply Resource Locks to prevent accidental modifications or deletions of critical resources. For example, a "ReadOnly" lock can prevent changes, while a "CanNotDelete" lock can prevent deletion. Learn more

AWS: Implement AWS Identity and Access Management (IAM) to define fine-grained permissions for users and roles. Use IAM policies with conditions to restrict access based on factors such as IP address or time of day. Apply resource-level policies and use temporary security credentials for time-limited access. Learn more

GCP: Use IAM roles to assign permissions to users and groups, implement resource-level permissions to control access to specific resources, and apply organizational policies to enforce access restrictions. Define custom roles with specific permissions to limit access to asset management functions.

Implementation Steps and Examples

Define Access Control Policies:

Establish policies that restrict access to identity management functions. Ensure that only essential personnel are granted access based on their roles and responsibilities.

Enable Multi-Factor Authentication (MFA):

For all high-privilege identity management roles, enforce MFA to add an extra layer of security.

Utilize Role-Based or Attribute-Based Access Control (RBAC/ABAC):

Assign roles based on the principle of least privilege, ensuring that users have only the access necessary for their roles.

Conduct Regular Access Reviews:

Periodically review access logs and permissions to ensure that only authorized users have access to identity management functions. Implement automated tools to flag unauthorized access attempts and provide detailed reports for audits.

Interactive Decision Tree

Start Here: What level of access control do you need for asset management?

AM-5: Use Only Approved Applications in Virtual Machines

Security Principle

Ensuring that only approved software runs on virtual machines (VMs) is vital for maintaining a secure and compliant cloud environment. By implementing application control measures, organizations can prevent unauthorized or malicious applications from executing, thereby reducing potential attack surfaces.

Guidance by Platform

Azure: Utilize Microsoft Defender for Cloud's adaptive application controls to define and enforce policies that allow only approved applications to run on VMs. This feature leverages machine learning to recommend safe applications based on observed behavior. Additionally, Azure Automation can help with change tracking and inventory management, providing insights into installed software. Note: Adaptive application controls have been deprecated, with new features expected in the Defender for Servers roadmap. Learn more

AWS: Employ AWS Systems Manager Inventory to collect metadata about applications installed on instances, and integrate with AWS Config to create rules that monitor unauthorized applications. For example, set up rules to check for blacklisted applications and receive alerts if unauthorized software is detected. Learn more

GCP: Use Google Cloud's VM Manager to perform inventory and configuration management on Compute Engine instances. Track installed packages, and set up compliance checks to ensure that only approved applications are present on VMs, with alerts for non-compliant software.Learn more

Implementation Steps and Examples

Define Approved Applications:

Collaborate with stakeholders to establish a list of applications that are approved for use within the organization. Maintain a centralized repository of approved applications and update it regularly to reflect changes in business needs and security requirements.

Implement Application Control Policies:

Azure: Although adaptive application controls have been deprecated, consider using Azure Policy to enforce application whitelisting.

AWS: Use AWS Systems Manager Inventory to collect data on installed applications and AWS Config to detect unauthorized software. Set up rules to check for blacklisted applications and trigger alerts if any are found.

GCP: Use VM Manager for inventory management and compliance checks, enforcing the use of only approved applications.

Monitor and Enforce Compliance:

Regularly review compliance reports to identify instances of unauthorized software installations. Implement automated remediation processes where possible to remove unauthorized applications and enforce compliance with approved software policies.

Interactive Decision Tree

Start Here: What is your primary goal for controlling applications on virtual machines?