Securing New Account
Securing a New AWS Account
Section titled “Securing a New AWS Account”-
AWS account root user vs IAM access
- “Do not use the AWS account root user except when necessary”
- Root user access requires email address and password used to create account
- Actions only possible with root user:
- Update account root user password
- Change AWS Support plan
- Restore IAM user’s permissions
- Change account settings (contact info, allowed Regions)
- AWS strongly recommends using IAM for day-to-day interactions
-
Step 1: Stop using account root user ASAP
- Root user has unrestricted access to all resources
- To stop using root user:
- While logged in as root, create IAM user for yourself with admin permissions
- Create IAM group with full administrator permissions, add IAM user to group
- Disable and remove account root user access keys (if they exist)
- Enable password policy for users
- Sign in with new IAM user credentials
- Store account root user credentials in secure place
-
Step 2: Enable multi-factor authentication (MFA)
- Require MFA for account root user and all IAM users
- Can also use MFA to control access to AWS service APIs
- Options for retrieving MFA token:
- Virtual MFA-compliant applications
- Google Authenticator
- Authy Authenticator
- U2F security key devices (e.g., YubiKey)
- Hardware MFA options (key fob or display card by Gemalto)
- Virtual MFA-compliant applications
-
Step 3: Use AWS CloudTrail
- Tracks user activity on your account
- Logs all API requests to resources in supported services
- “Basic AWS CloudTrail event history is enabled by default and is free”
- Contains management event data for latest 90 days
- To access CloudTrail:
- Log in to AWS Management Console and choose CloudTrail service
- Click Event history to view/filter/search last 90 days of events
- To enable logs beyond 90 days and event alerting:
- From CloudTrail Console trails page, click Create trail
- Name it, apply to all Regions, create new S3 bucket for log storage
- Configure access restrictions on S3 bucket
-
Step 4: Enable billing reports (AWS Cost and Usage Report)
- Provides information about AWS resource usage and estimated costs
- AWS delivers reports to specified S3 bucket
- Report updated at least once per day
- Tracks usage and provides estimated charges by hour or day
Securing a new AWS account involves immediately limiting root user access, implementing MFA, enabling comprehensive activity logging, and setting up cost monitoring. These steps establish a secure foundation for AWS operations with proper authentication, authorization, and auditing capabilities.