AWS Security Hub Operation


SAA-C03 Introduction
How IAM is used to securely manage access
IAM Features
PREVIEW10m 39s
Managing user identities with long term credentials in IAM
Creating IAM Users
Using IAM policies to define and manage permissions
Cross-account access
AWS Web Application Firewall
AWS Firewall Manager
12m 16s
AWS Shield
SAA-C03 Review
Security Summary
PREVIEW12m 46s
Start course
3h 43m

This course looks at the key Security services within AWS relevant to the Solution Architect associate exam. Core to security is Identity & Access Management, commonly referred to as IAM. This service manages identities and their permissions that are able to access your AWS resources and so understanding how this service works and what you can do with it will help you to maintain a secure AWS environment. IAM is an important service in ensuring your resources are secure.

Want more? Try a lab playground or do a Lab Challenge

Learning Objectives

  • Learn about identity and access management on AWS including users, groups & roles, IAM policies, MFA, identity federation, and cross-account access
  • Learn the fundamentals of AWS Web Application Firewall (WAF) including what it is, when to use it, how it works, and why use it
  • Understand how to configure and monitor AWS WAF
  • Learn about AWS Firewall Manager and its components
  • Learn how to configure AWS Shield
  • Learn the fundamentals of AWS Cognito

In addition to best practices, the information generated by security services is significant in terms of volume and categories. Gathering security findings in a single place is difficult and the information requires close attention and analysis in order to guarantee a secure and compliant environment at all times. This is where AWS Security Hub becomes essential by providing a single point of access to your security implementation and automatically verifying you are applying best practices as defined by AWS security experts. Let's discuss some of these foundational best practices for new AWS accounts. 

Whether you're just getting started or have some experience already with AWS, there's no doubt you have to interact with the AWS Identity and Access Management service. This is the service to provision users, define access controls for those users including passwords and access keys. Identity and Access Management is one of the many security services provided by AWS in order to assist you in the provisioning of a secure and compliant implementation.

This diagram represents three best practices regarding AWS Identity and Access Management. As you can see, it seems a little complicated. Let's break it down step by step into some of the foundational best practices that Security Hub verifies.

Number one, the Root User is the owner of AWS account, and it has access to everything including the credit card used to pay for services. As a best practice, always assign a multifactor authentication to the root user. That way, the root account is protected at all times. After that, create a group and apply administrator permissions to it. Then create a user, also assign an MFA to that user and provision keys if needed. Finally, add the user to the group, sign off the root account, and try never to use it again unless strictly necessary.

Your implementation will begin by leveraging the administrator user that you just created. Groups are an efficiency mechanism to apply permissions. It is easier to define a group, apply permissions, and then add or remove users as needed. You should rarely have to apply permissions to a user directly. If required, you can also provision keys to a user. Finally, also if required, you can allow the user to assume roles. For item number three, roles represent a way to gain permissions on a temporary basis.

The primary use of roles is to allow services to interact with each other. Users can also assume a role if needed. The permissions attributed to a role should be what is needed and nothing in addition to that. This is called the principle of least privilege, sometimes also called the principle of maximum security. Roles are commonly associated with EC2 instances and services. As a general security best practice, never store access keys in your code on EC2 instances or Amazon S3 buckets.

Fortunately for us, AWS offers a variety of tools for automating provisioning, monitoring, and auditing, many of them using machine learning in order to help us get our Cloud Security compliant with best practices. We just implemented some of the foundational security best practices checked by AWS Security Hub. We're gonna see the results later on.

About the Author
Learning Paths

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.