<commit_before># aws Cookbook

[![Build Status](https://travis-ci.org/chef-cookbooks/aws.svg?branch=master)](https://travis-ci.org/chef-cookbooks/aws) [![Cookbook Version](https://img.shields.io/cookbook/v/aws.svg)](https://supermarket.chef.io/cookbooks/aws)

This cookbook provides resources for configuring and managing nodes running in Amazon Web Services as well as several AWS service offerings. Included resources:

- CloudFormation Stack Management (`cloudformation_stack`)
- CloudWatch (`cloudwatch`)
- CloudWatch Instance Monitoring (`instance_monitoring`)
- DynamoDB (`dynamodb_table`)
- EBS Volumes (`ebs_volume`)
- EC2 Instance Role (`instance_role`)
- EC2 Instance Termination Protection (`instance_term_protection`)
- Elastic IPs (`elastic_ip`)
- Elastic Load Balancer (`elastic_lb`)
- IAM User, Group, Policy, and Role Management: (`iam_user`, `iam_group`, `iam_policy`, `iam_role`)
- Kinesis Stream Management (`kinesis_stream`)
- Resource Tags (`resource_tag`)
- Route53 DNS Records (`route53_record`)
- Route53 DNS Zones (`route53_zone`)
- S3 Files (`s3_file`)
- S3 Buckets (`s3_bucket`)
- Secondary IPs (`secondary_ip`)
- AWS SSM Parameter Store (`ssm_parameter_store`)
- Autoscaling (`autoscaling`)

Unsupported AWS resources that have other cookbooks include but are not limited to:

- [aws_security](https://supermarket.chef.io/cookbooks/aws_security)

## Requirements

### Platforms

- Any platform supported by Chef and the AWS-SDK

### Chef<commit_msg>Add security section to the readme Signed-off-by: S.Cavallo <<EMAIL>><commit_after># aws Cookbook

[![Build Status](https://travis-ci.org/chef-cookbooks/aws.svg?branch=master)](https://travis-ci.org/chef-cookbooks/aws) [![Cookbook Version](https://img.shields.io/cookbook/v/aws.svg)](https://supermarket.chef.io/cookbooks/aws)

This cookbook provides resources for configuring and managing nodes running in Amazon Web Services as well as several AWS service offerings. Included resources:

- CloudFormation Stack Management (`cloudformation_stack`)
- CloudWatch (`cloudwatch`)
- CloudWatch Instance Monitoring (`instance_monitoring`)
- DynamoDB (`dynamodb_table`)
- EBS Volumes (`ebs_volume`)
- EC2 Instance Role (`instance_role`)
- EC2 Instance Termination Protection (`instance_term_protection`)
- Elastic IPs (`elastic_ip`)
- Elastic Load Balancer (`elastic_lb`)
- IAM User, Group, Policy, and Role Management: (`iam_user`, `iam_group`, `iam_policy`, `iam_role`)
- Kinesis Stream Management (`kinesis_stream`)
- Resource Tags (`resource_tag`)
- Route53 DNS Records (`route53_record`)
- Route53 DNS Zones (`route53_zone`)
- S3 Files (`s3_file`)
- S3 Buckets (`s3_bucket`)
- Secondary IPs (`secondary_ip`)
- AWS SSM Parameter Store (`ssm_parameter_store`)
- Autoscaling (`autoscaling`)

Unsupported AWS resources that have other cookbooks include but are not limited to:

- [aws_security](https://supermarket.chef.io/cookbooks/aws_security)

## Important - Security Implications

Please review any and all security implications of using any of these resources.  
This cookbook presents resources which could easily be poorly implemented, abused or exploited.
- They have the ability to perform destructive actions (ex. `delete *`)
- They manage sensitive resources (ex. `IAM/SSM`)
- They require IAM keys which could be compromised

You will want to understand any and all security implications and architect your implementation accordingly before proceeding.  

Some recommendations are below:
- Do not use IAM credentials of the node - pass a separate set of credentials to these resources
- Use IAM to restrict credentials to only the actions required, implementing conditions whenever necessary (follow least privileged principles.)
See [iam_restrictions_and_conditions](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html)
- Follow any and all aws best practices for managing credentials and security
- Review your cookbook implementation as `cloudformation` or alternative tooling may be a better fit for managing aws infrastructure as code.

## Requirements

### Platforms

- Any platform supported by Chef and the AWS-SDK

### Chef
{'fraction_non_alphanumeric': 0.10556621880998081, 'fraction_numerical': 0.0067178502879078695, 'mean_word_length': 5.524256651017215, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 11, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2028030', 'n_tokens_mistral': 1255, 'n_tokens_neox': 1175, 'n_words': 406}