Which AWS support service gives a report on configuration compliance with best practices?

Use AWS Config the Right Way for Successful Compliance

It’s well-known that AWS Config is a powerful service for monitoring all changes across your resources. As AWS Config has constantly evolved and improved over the years, it has transformed into a true powerhouse for monitoring your deployment’s compliance. Monitoring for compliance — whether for HIPAA, CIS, internal auditors, etc. — is a detailed and complicated process, and it’s of utmost importance to provide a clear history of all actions so that auditors can easily assess and approve your organization. With that in mind, let’s check out the following three best practices to use AWS Config for Compliance.

1. Strive for the Goal of Clear Compliance Reporting

Why do you want to use AWS Config, and what are the main benefits of taking the time to learn about a new service, devise processes around implementing it, and enforce new policies within your organization? To put it succinctly, using AWS Config to monitor your compliance needs will give you a customized and organized ledger of all changes to your deployment, indicating how each resource meets compliance over time.

By running through one of Cloud Academy’s Labs, you can see that at the fundamental level, AWS Config sets up recorders to capture all resource changes in your deployment. This is very powerful because you’re going to have a programmatic log of all changes, and this huge amount of data can be used to refer back to when you get audited.

In addition, as organizations shift from monolithic applications to microservices, they start to implement the tenets of Continuous Integration and Continuous Deployment (CI/CD). AWS Config provides a valuable trail of actions that further support reporting on your internal processes — for DevOps, Security, and Financial stakeholders — at every step of the rapid CI/CD process.

This all adds up to a wealth of data that can be architected in an organized and searchable fashion to meet the needs of your compliance frameworks, making your internal stakeholders and external auditors happy.

2. Automate Rule Enforcement with Compliance-as-Code

Starting with a particular compliance framework as a reference, you can use the Config rules functionality for your own Compliance-as-Code implementation. In a nutshell, you’re going to leverage Config rules (many of which exist out-of-the-box from AWS) to report on the state of specific controls in your particular framework, whether it’s ensuring that an S3 bucket is encrypted or making sure all resources are given a specific type of name.

The power in Config rules is its out-of-the-box ease, simple customization — from type of resource to frequency of reporting — along with a clear indication of your resource’s pass/fail state. Once implemented, you have a great foundation to take your AWS Config functionality to the next level: automatic remediation of issues.

3. Use AWS Config to Automate the Remediation of Problems

In March 2019, AWS announced the ability to use AWS Config rules to automate the remediation of noncompliant resources. Using either the console or API, you have the ability to add a rule to automatically fix a noncompliant resource when it is found. This functionality is enabled within AWS by the use of AWS Systems Manager Automation documents, a set of instructions which are referenced by the Config rules and provide guidelines for actions taken on resources. Just like the Config rules, AWS System Manager Automation documents provide many default templates, as well as customizable functionality.


When you invest the time to create and implement a plan to work with your compliance requirements, using AWS Config will simplify your work and save tons of time and effort after implementation. Your compliance — as well as security and financial — needs will be met much easier because your resources will be created and maintained in an orderly way, even in the most dynamic and chaotic development and production environments.

To learn more about AWS Config in general, how to utilize it in your organization, and how to manage compliance with AWS Config, try out Cloud Academy’s AWS Config: An Introduction course. The short video below is part of the course and will give you an overview of how to best manage the compliance you need to adhere to within your AWS environment.

AWS Config conformance packs help you manage configuration compliance of your AWS resources at scale. A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account or across an organization in AWS Organizations. This is particularly useful if you need to quickly establish a common baseline for resource configuration policies and best practices across multiple accounts in your organization in a scalable and efficient way.

In this blog post, we share best practices to follow when you deploy AWS Config conformance packs across your enterprise.

Use custom rules in conformance packs

AWS Config provides predefined, customizable rules to evaluate whether your AWS resources comply with common best practices. You can also create your own custom rules backed by AWS Lambda functions, which contain the logic that evaluates whether your AWS resources comply with the rule. Because the logic is defined in the AWS Lambda function, you can implement any security control you like as long as you can put the logic into code. After you create your rule’s logic in an AWS Lambda function, you can create the custom rule in your conformance pack and deploy it across your organization. For an example, see the Manage custom AWS Config rules with remediations using conformance packs blog post.

Deploy custom rules in a central account

To deploy custom rules across member accounts in your organization created in AWS Organizations, it is a best practice to centralize the AWS Lambda functions into a centralized account, the account from which you deploy the conformance packs. After the Lambda functions are created in the administrator account, create cross account IAM roles in the member accounts so that the custom rules can be evaluated successfully. The Lambda functions must be configured to assume those roles. For information about setting up the cross account IAM roles and deploying the custom rule across member accounts, see the Manage custom AWS Config rules with remediations using conformance packs blog post.

Use remediation actions

AWS Config uses AWS Systems Manager Automation documents to apply remediation to noncompliant resources that are evaluated by AWS Config rules. These documents define the actions to be performed on noncompliant AWS resources. AWS Config provides a set of managed Automation documents with remediation actions. You can also create custom Automation documents for custom remediation and associate them with AWS Config rules. When you create your conformance pack, it is a best practice to set a remediation action for your rules. You can set up automatic remediation that will take place as soon as a resource becomes noncompliant or a manual remediation that will be performed by your security team. For information about setting up custom remediation and deploying it across accounts in your organization see the Manage custom AWS Config rules with remediations using conformance packs blog post.

Enable tracking of IAM resources in one region only

Because AWS Identity and Access Management (IAM) is a global service, IAM users and roles are global entities. They are not tied to one AWS Region. Deploying controls (rules) to evaluate IAM in one AWS Region is sufficient to get the compliance state of IAM resources. For this reason, there is no need to deploy IAM controls in all AWS Regions. Doing so results in unnecessary costs and performance issues.

Customize conformance packs for your compliance needs

AWS created sample conformance packs templates that can help you verify your cloud infrastructure’s compliance with frameworks for configuration best practices such as the CIS Benchmarks, NIST 800-53 rev 4, HIPAA, and others. A sample conformance pack template is a YAML template that contains a list of AWS Config managed or custom rules and remediation actions. Each sample conformance pack template provides a basis to help you create security, operational, or cost-optimization governance checks to meet your specific compliance requirements.

There are two types of sample conformance packs. Operations best practices sample conformance packs can in most cases be consumed as is. Compliance frameworks sample conformance packs can be customized by adding or removing rules, input parameters, and remediation actions. To customize the templates, you can view and download each sample conformance pack template in this GitHub repository and add or remove AWS Config rules and remediations to meet your unique governance requirements. For more information about how to customize and deploy a sample conformance pack, see the Automate FedRAMP controls in your AWS environment using AWS Config conformance packs blog post.

Use AWS Organizations features, including delegated admin

AWS Config supports a delegated admin for deploying conformance packs across your organization in AWS Organizations. This allows you to register a delegated admin account, which can be your non-management account, that will be used to deploy and manage AWS Config resources across all accounts in your organization. You can use this feature to delegate your security account as the administrator for AWS Config conformance packs, to allow your security team to deploy rules across all member accounts. For more information, see the Deploy AWS Config Rules and conformance packs using a delegated admin blog post.

Use a CI/CD pipeline to automate the deployment and management of your conformance packs

To create a conformance pack, you author a YAML template that contains the list of AWS Config rules. The template format is similar to the AWS CloudFormation template format. It’s essentially infrastructure as code. A best practice for managing infrastructure as code is to have an automated pipeline that includes continuous integration and continuous deployment (CI/CD). Using a CI/CD pipeline allows you to store your template in a source control platform, review code updates, and then validate, test, and deploy them automatically. You can also use this pipeline to peer review, validate, and deploy your updates. For information about implementing a CI/CD pipeline with conformance packs templates, see the Using AWS CodePipeline to deploy AWS Config conformance packs created with the Rule Development Kit, Automated CloudFormation testing pipeline with TaskCat and CodePipeline and  DevSecOps for auto healing PCI DSS 3.2.1 violations in AWS using custom AWS Config conformance packs, AWS Systems Manager and AWS CodePipeline blogs .

Use an aggregator to collect the compliance data produced by conformance packs

After you deploy a conformance pack across your AWS Organizations accounts, the accounts generate compliance data based on the AWS Config rules that were deployed in the conformance pack. It is a best practice to collect all the compliance data generated across the accounts into a centralized account. AWS Config supports multi-account, multi-region data aggregation using an aggregator. Multi-account, multi-region data aggregation is useful for central IT administrators because it offers them a view of resource compliance across the enterprise.

AWS Config recently announced support for a delegated administrator account for the AWS Config aggregator. You can now delegate an administrator account (for example, your security account) that will aggregate data from all the member accounts in an organization in AWS Organizations. For more information, see Setting Up an Aggregator Using the Console in the AWS Config Developer Guide.

Use Security Hub and conformance packs

Many customers use AWS Security Hub to oversee their compliance posture. AWS Config conformance packs can be used with Security Hub to provide more flexibility and customizability.

Security Hub provides controls for standards like PCI DSS and CIS, but if you require a security standard that is not currently included, you can customize the sample templates for conformance packs as appropriate for your compliance framework. When you use conformance packs, you can implement remediation actions using AWS Config and AWS Systems Manager.

Avoid duplication of rules

One sample conformance pack might contain the same rules as another sample conformance pack. For example, if you deploy the Operational Best Practices for AWS Well-Architected Framework Security Pillar, it will deploy an AWS Config rule named cloud-trail-cloud-watch-logs-enabled to detect if AWS CloudTrail is enabled. That same rule exists in many of the other sample conformance pack because it is a security baseline included in most frameworks. This is why is important to customize your conformance packs and remove any duplicate rules. This duplication can happen if you are using a security standard from Security Hub, too. For example, the PCI DSS Standard enables a rule to check that CloudTrail is enabled [PCI.CloudTrail.2]. That control is present in many of the sample conformance pack templates. If Security Hub is already evaluating that control, you should remove it from the conformance pack.

Include process check rules in your conformance pack template

AWS Config recently announced support for process check rules, a type of AWS Config rule that allows you to track your external and internal tasks that require verification as part of the conformance packs. Unlike other rules and remediation actions in AWS Config, which can be used to automatically evaluate the compliance of specific AWS resources, the compliance status of a process check rule is manually administered. You use the AWS Config console or the PutExternalEvaluation action to set the rule. You can further expand the conformance pack by adding new process checks that track processes and actions that require manual verification and tracking. For example, you can add a process check to track the PCI-DSS compliance requirement to store media backup at an offsite location. You manually evaluate the compliance of this according to PCI-DSS guidelines or according to your organization’s guidance. The conformance pack becomes the template that provides details about AWS configurations and manual processes for a compliance regime. You can find examples of process check rules in the CIS benchmarks Level 1 and Level 2 sample templates.

Conclusion

Now that you are familiar with the best practices, see Conformance Packs in the AWS Config Developer Guide to get started.

About the authors

Which AWS support service gives a report on configuration compliance with best practices?

Shaked Rotlevi is a Technical Program Manager on the AWS Config team. Shaked has worked with AWS Config in her previous role as a Solutions Architect and helped her customers adopt conformance packs as a tool for implementing governance and security controls across their enterprise. Shaked is based in San Diego, CA and in her spare time, she likes to travel and surf.

Which AWS support service gives a report on configuration compliance with best practices?

Andres Silva is a Principal Specialist Solutions Architect with the Cloud Management Services team at AWS. He focuses on helping AWS Customers with Configuration Compliance and Audit use cases. He works closely with customers to help them leverage services like AWS Config, AWS CloudTrail and AWS Systems Manager to simplify compliance at scale. When he is not building cloud automation, he enjoys skateboarding with his 2 kids and mountain biking in beautiful North Carolina.

Which AWS service can be used to manage configuration versions?

AWS OpsWorks is a configuration management service that provides managed instances of Chef and Puppet. Chef and Puppet are automation platforms that allow you to use code to automate the configurations of your servers.

Which AWS service should a business use to check the compliance of AWS resource settings on a continual basis?

AWS Security Hub is a security and compliance service that provides security and compliance posture management as a service. It uses AWS Config and Config rules as its primary mechanism to evaluate the configuration of AWS resources.

Which of the following are AWS best practices?

Security best practices in IAM.
Require human users to use federation with an identity provider to access AWS using temporary credentials..
Require workloads to use temporary credentials with IAM roles to access AWS..
Require multi-factor authentication (MFA).

What is the greatest place for a user to get information and reports on AWS compliance?

AWS Artifact – AWS Artifact is your go-to, central resource for compliance-related information that matters to you. It provides on-demand access to AWS's security and compliance reports and select online agreements.