Skip to content

Beginner · AWS account, IAM and billing · topic 6 of 50 · 30 min

Creating and securing an AWS account

Explanation

An AWS account is your container for resources and bills. The email you sign up with becomes the root user, which can do everything, so you protect it with MFA, never create access keys for it, and use it only for a few account tasks. You then create an admin identity for daily work, set a budget alert, and use AWS through the console, the CLI, an SDK or CloudShell.

What an AWS account is

An AWS account is a container that holds your resources (servers, buckets, databases) and receives one bill. Companies often use many accounts, for example one for development and one for production, so a mistake in one cannot damage the other. As a learner, one account is enough. Each account has a 12-digit account ID such as 123456789012.

Signing up

  1. Go to aws.amazon.com and choose to create an account. Use an email address you will keep for years; a shared team mailbox is better than a personal one for a company account.
  2. Enter contact details and a payment card. Indian debit and credit cards usually work; a small temporary verification charge may appear and is reversed.
  3. Verify your phone number, then choose a plan (see the Free Tier below) and the free Basic support plan.

The Free Tier (it changed in July 2025)

For accounts created on or after 15 July 2025, AWS asks you to choose a Free plan or a Paid plan. New customers get up to US$200 in credits: US$100 at sign-up, and up to US$100 more for trying certain services. The Free plan lasts up to 6 months or until the credits run out, whichever comes first, and some services are not available on it; to keep going you upgrade to the Paid plan. Some "always free" offers continue on both plans, for example AWS Lambda's 1 million requests and 400,000 GB-seconds of compute per month. Accounts opened before 15 July 2025 keep the older 12-month free tier. These rules change, so read the current AWS Free Tier page before you rely on any number here.

The root user: lock it away

The root user is the identity created with your sign-up email. It has complete access to everything in the account, and IAM permission policies cannot limit it. If someone steals the root password, they own your account and your bill. So:

  • Turn on MFA (multi-factor authentication) for root immediately: an authenticator app, a passkey or a hardware security key. AWS now requires MFA for root users in most accounts, but set it up on day one anyway.
  • Never create access keys for the root user. If any exist, delete them.
  • Use a long, unique password stored in a password manager.
  • Use root only for the few tasks that need it, such as changing the account email or root password, closing the account, or restoring access when every admin is locked out.

An admin identity for daily work

For everyday work, create a separate identity with admin rights. The recommended way for people is IAM Identity Center: it gives you a sign-in portal and short-term credentials that expire on their own. For a personal learning account, an IAM user with the AdministratorAccess policy and MFA is acceptable and simpler. Either way, sign out of root and sign in as this identity.

Billing alerts before anything else

Open the Billing and Cost Management console and create a budget in AWS Budgets, for example a monthly cost budget of US$5 that emails you at 80% of actual spend and at 100% of forecast spend. AWS also offers a zero-spend budget template that warns you as soon as anything is charged. Do this before you launch your first server.

Four ways to use AWS

  • The Management Console: the website. Good for learning and for looking around.
  • The AWS CLI (command line interface): the aws command. Good for repeatable work and scripts.
  • SDKs (software development kits): libraries for programming languages, such as boto3 for Python. Your apps use these.
  • AWS CloudShell: a terminal in the browser, already signed in as you, with the CLI installed. No keys on your laptop.
bash
aws --version                    # check the CLI (version 2) is installed
aws configure                    # asks for access key ID, secret key, region, output
# Default region name [None]: ap-south-1
# Default output format [None]: json

aws sts get-caller-identity      # who am I? (account ID and ARN)
aws s3 ls                        # list your S3 buckets

aws configure --profile learning # save a second set of settings as a named profile
aws s3 ls --profile learning     # use that profile for one command
aws configure sso                # set up a profile that signs in through IAM Identity Center
aws configure stores keys in ~/.aws/credentials and settings in ~/.aws/config.
json
{
    "UserId": "AIDASAMPLEUSERID12345",
    "Account": "123456789012",
    "Arn": "arn:aws:iam::123456789012:user/asha-admin"
}
Typical output of aws sts get-caller-identity. Run it whenever you are unsure which account or identity a command will use.
python
import boto3   # pip install boto3 (runs on your computer, not in this browser)

s3 = boto3.client("s3", region_name="ap-south-1")
for bucket in s3.list_buckets()["Buckets"]:
    print(bucket["Name"])
The same "list my buckets" through the Python SDK. boto3 finds credentials the same way the CLI does.
Careful: Common mistakes: (1) Using the root user every day "because it is easier". (2) Creating root access keys for a script. (3) Skipping the budget, then finding a large bill for a server you forgot. (4) Running a CLI command against the wrong account: run aws sts get-caller-identity first, and use named profiles for each account.

Need help?

Stuck on a word or an idea? Search this course, or every course, and jump straight to the explanation or a worked question.

Try:

Watch the lesson

Creating and securing an AWS account · 1/7

Your AWS account

An AWS account holds your resources and your bill. Let us open one safely.

Prefer a video by a teacher? Find free videos on “create AWS account securely root MFA budget alert tutorial” on YouTube ↗

In real life: A college cloud club sets up its account

A cloud club at an engineering college in Pune opens one AWS account for workshops. The faculty coordinator signs up with the club's shared email, adds a hardware security key as root MFA, stores the root password in the department's password manager and puts the key in a locked drawer. She enables IAM Identity Center, creates a sign-in for each of the four student leads, and sets a monthly budget of US$10 with email alerts to all five of them. In the first workshop, students use CloudShell, so nobody saves access keys on lab computers.

Practice (0/3 done)

Task 1 · Question

What should you do with the root user right after creating an AWS account?

Task 2 · Practice

Write a safe-setup checklist for a new AWS learning account, in the order you would do it. Then, if you have an account, carry it out and run aws sts get-caller-identity in CloudShell.

Task 3 · Code · Python

Write setup_problems(account) for a quick account check. account is a dict with "root_mfa" (True/False), "root_access_keys" (a number), "admin_identity" (True/False) and "budget_alert" (True/False). Return a list of the fixes needed, in this order, including only the ones that apply: "enable root MFA", "delete root access keys", "create an admin identity", "create a budget alert".

Quick quiz

Question 1

1.Which identity can IAM permission policies NOT restrict inside its own account?

Question 2

2.Which command shows the account and identity your CLI is using?

Question 3

3.What is AWS CloudShell?

Question 4

4.An account was created in August 2025. Which Free Tier rules apply?

Question 5

5.Where does aws configure save your access keys?

Read more (free)

Open a question to see the answer and why. The first ones are this topic's own quiz, so try the quiz above before you peek.

Which identity can IAM permission policies NOT restrict inside its own account?

Answer: The root user

The root user always has full access in its account; that is why it must be locked away.

Which command shows the account and identity your CLI is using?

Answer: aws sts get-caller-identity

aws sts get-caller-identity returns the UserId, Account and Arn.

What is AWS CloudShell?

Answer: A browser-based terminal already signed in as you, with the CLI installed

CloudShell gives you a ready terminal without storing keys on your computer.

An account was created in August 2025. Which Free Tier rules apply?

Answer: The newer Free plan or Paid plan choice with credits

Accounts created on or after 15 July 2025 use the new Free/Paid plan model with credits. Check the Free Tier page for details.

Where does aws configure save your access keys?

Answer: In ~/.aws/credentials

Keys go in ~/.aws/credentials and settings such as region in ~/.aws/config.

Which identity type is meant for programs, not people?Related

Answer: Service account or managed identity

Service accounts and managed identities are for workloads.

From Cloud identity and access management

Can you sign in to AWS as an IAM group?Related

Answer: No, a group only holds users and their shared permissions

Groups have no credentials of their own; they only collect users.

From IAM: users, groups, roles and least privilege

Which tool shows resources shared with outside accounts and unused permissions?Related

Answer: IAM Access Analyzer

Access Analyzer finds external access, unused access and can help build least-privilege policies.

From Identity is the new perimeter

Which project identifier can never be changed after the project is created?Related

Answer: Project ID

The project ID is permanent and globally unique. The name and labels can change, and the billing link can be moved.

From Google Cloud structure: projects, billing and IAM

Pass the quiz (60% or more) or mark this topic as done when you are ready.

Your progress is saved on this device only.

Next steps

  1. 3 more topics in “AWS account, IAM and billing” before its exam: IAM: users, groups, roles and least privilege, IAM policy JSON and how AWS decides, Pricing, billing and cost control.
  2. Module 2 exam: AWS account, IAM and billing · 13 questions · 20 min, without help. 4 topics of this module still to finish first.
  3. Then the next module, Compute and storage: EC2 and S3. 50 topics left in the course before the final exam.

← Previous: The shared responsibility model