Skip to content

What you can configure and practice

Customers often ask, “Can I practice X on a cloud range?” This page answers that question topic by topic, using two terms with fixed meanings:

  • Configure means you can build it in the region, then view and explore it with the AWS CLI, SDKs, or console.
  • Practice means a learner can complete the exercise end to end. The data is seeded, and the allow and deny behavior is real.

A topic can be easy to configure but not yet ready to practice. The sections below mark which is which.

The region is an offline copy of AWS that runs inside your range. It covers the main AWS services. The table and list below show what is included and what isn’t.

ServiceNote
IAM, STSUsers, groups, roles, policies and access keys. Policies are enforced, including explicit denies, permission boundaries, session policies and role trust policies. Roles can be assumed with web identity (OIDC) and SAML. Some condition keys aren’t set yet (see what the region doesn’t check yet).
OrganizationsA seed can create an organization and member accounts. Service control policies apply to callers in member accounts. The management account is exempt, as on AWS.
S3Buckets, objects, versioning, Object Lock, encryption, website hosting and bucket policies. Bucket policies and ACL grants are enforced.
KMSKeys, aliases, rotation and key policies. Key policies are not enforced yet.
Secrets Manager, SSM Parameter StoreSecrets and parameters, including encrypted ones. Resource policies on secrets are not enforced yet.
EC2, VPCSubnets, security groups, network ACLs, peering and endpoints are records you can inspect. A range VM shows up as an instance when you give it the register-as-instance plugin. Traffic between VMs is not filtered by these records.
Route 53Private hosted zones and records. Public name resolution is not copied.
DynamoDBTables, indexes, streams and seeded items.
RDS, ElastiCacheComing soon on built ranges. The samples need container images that the offline region cannot download yet.
LambdaRoles and settings are available. The current samples do not include working functions.
API Gateway, CognitoAPI shells, usage plans, user pools, groups and users.
SNS, SQS, EventBridge, Kinesis, Firehose, Step FunctionsTopics, queues, rules, streams and workflows. SNS topic policies are enforced. SQS queue policies are not enforced yet.
CloudTrail, CloudWatchTrails, log groups, alarms and dashboards. CloudTrail records only S3 data events today.
ECS, Athena, GlueTask definitions, workgroups and catalogs.

Not emulated:

  • Managed detection services: GuardDuty, Security Hub and Detective.
  • WAF and Shield. Web ACLs and DDoS protection are not available.
  • Macie, Identity Center and Access Analyzer findings.
  • Windows instances inside the region. Use your range VMs for Windows work.
  • Real network filtering. Security group and network ACL rules are visible, but they do not block traffic yet.
  • ECR image registries. They can be created, but deleting them fails.
  • EBS and RDS snapshots. They cannot be created.

The “Start from” column links to the sample list. You can combine samples in one VPC.

TopicAWS servicesConfigurePracticeStart from
Identity and IAM
Users, groups, roles, policies and enumerationIAMYesYesIAM users in groups with managed policies
Least privilege and permission boundariesIAM, S3YesYesPermission boundary capping a developer role
Over-privileged admin userIAMYesYesSecurity lab: IAM user with wildcard admin policy
Privilege escalation by editing policies or trustIAMYesYesNone
PassRole escalationIAM, LambdaPartialPartialSecurity lab: iam:PassRole privilege escalation path
AssumeRole, cross-account access and role chainsIAM, STSYesYesCross-account style assume-role with external ID
Access key and login profile abuseIAMPartialPartialNone
MFA, break-glass roles and password policyIAMYesPartial*Group policy that denies everything without MFA
OIDC and web identity federationIAM, STSPartialPartialOIDC provider and role for GitHub Actions
Cognito user poolsCognitoPartialPartialCognito user pool with app client and groups
Tag-based access controlIAM, S3PartialPartialConsistent tagging baseline across S3, DynamoDB, SNS and IAM
Identity Center and Access AnalyzerIAMNot yetNot yetNone
Organizations, service control policies and multi-accountOrganizationsYesPartialNone
Storage exposure
Public buckets, ACLs and bucket enumerationS3YesPartial*Security lab: publicly exposed S3 bucket
Sensitive data in unencrypted bucketsS3YesYesSecurity lab: unencrypted bucket of fake PII
Writable bucket abuseS3PartialPartialNone
Data exfiltration from object storageS3, IAMPartialPartialSource and destination S3 buckets for replication
Versioning and Object LockS3YesPartialS3 bucket with Object Lock retention
Cloud database access and exfiltrationDynamoDB, RDSPartialPartialDynamoDB product catalog seeded with items
Encryption at rest and in transitS3, KMS, EBSYesPartial*S3 bucket policy: TLS only and no unencrypted writes
KMS keys, policies and ransomware scenariosKMS, S3YesPartial*Security lab: KMS key whose policy trusts any principal
Exposed snapshotsEC2, RDSNot yetNot yetNone
DNS takeoverRoute 53PartialNot yetRoute 53 private hosted zone with internal records
Secrets
Secrets Manager and Parameter Store extractionSecretsManager, SSMYesPartial*Security lab: Secrets Manager secret readable by any principal
Leaked keys and hardcoded secretsSSM, S3, EC2PartialPartialSecurity lab: fake access keys leaked in SSM parameters
Compute and metadata
Instance metadata (IMDS) credential theftEC2, IAMYesYesGive a VM an instance role
Container task metadataECSPartialNot yetNone
Remote command execution and Session ManagerSSM, EC2PartialNot yetNone
Instance hardening baselinesEC2YesPartialHardened EC2 launch template with IMDSv2 and encrypted disk
Creating, stopping and deleting instancesEC2YesYesWeb and app instances in separate subnets
Cryptojacking and cost abuseEC2, CloudWatchPartialNot yetNone
Networking
VPC design and segmentationVPC, EC2YesYesVPC with public and private subnets
Open security groupsVPC, EC2YesPartial†Security lab: SSH and RDP open to the whole internet
Egress control and VPC endpointsVPC, S3PartialPartial*Isolated VPC with no internet path
WAF and rate limitingWAFNot yetNot yetNone
Flow logsVPC, CloudWatchPartialNot yetVPC flow logs delivered to CloudWatch Logs
Logging and detection
Audit logging with CloudTrailCloudTrail, S3PartialPartialSecurity lab: CloudTrail trail with logging switched off
Alarms and alert routingCloudWatch, SNSPartialNot yetMetric math error-rate alarm and traffic-drop alarm
Log analysis and threat huntingAthena, Glue, S3PartialNot yetAthena workgroup with an encrypted results bucket
Serverless
Lambda code overwrite and persistenceLambda, IAMPartialNot yetNone
API security and JWT authorizersAPI Gateway, CognitoPartialPartialHTTP API with CORS, routes and an auto-deploy stage
Open SNS topics and SQS queuesSNS, SQSYesPartial*Security lab: SQS queue open to any principal
IaC and CSPM
Cloud posture scanningIAM, S3, VPCYesPartial†Security lab: publicly exposed S3 bucket
IaC security scanningTerraform filesYesPartial†Security lab: unencrypted bucket of fake PII
Drift detectionCloudFormationNot yetNot yetNone
CI/CD pipeline compromiseIAM, S3PartialNot yetCI artifact bucket encrypted with KMS
Container registry and supply chainECRNot yetNot yetNone

* Part of what this topic needs isn’t checked yet (see the next section). You can still see and explore the misconfiguration.

† The seeded misconfigurations are there for learners to find. Network rules are not enforced, and scanning tools such as Prowler or Checkov are not on the range image yet.

Some samples also depend on the container-image fix mentioned above. The RDS and ElastiCache samples won’t run on a built range until that fix ships.

The region checks IAM policies, service control policies, S3 bucket policies, S3 ACL grants and SNS topic policies. It doesn’t check these yet:

  • Resource policies on KMS keys, SQS queues and Secrets Manager secrets.
  • VPC endpoint policies. They are stored but not applied.
  • S3 Block Public Access, and object ownership for ACLs.
  • The condition keys aws:MultiFactorAuthPresent, aws:SecureTransport, aws:SourceIp and s3:x-amz-server-side-encryption. The region never sets them, so a policy sees them as missing. A policy that denies access without MFA denies every request, and a deny for requests without TLS never fires.
  • Some other condition keys. Request and resource tag, account, region and principal keys work, as do sts:ExternalId, role session names and some S3, EC2 and DynamoDB keys. aws:PrincipalTag is never set.
  • A bucket’s default encryption. It is recorded but not applied to uploads.
  • A role’s maximum session duration. AssumeRole ignores it.
  • A request the region can’t match to an IAM action is allowed.
  • On EKS, any key in the account is a cluster admin.
  • The range’s container registry (ECR) doesn’t check credentials.

Coming soon. The region technology already has Azure and Google Cloud engines, and support for both is planned. Kubernetes labs run on real clusters in your range and are not part of the cloud region.

  • Enforcement for key, queue and secret policies, and for the MFA, TLS and source IP condition keys.
  • Lambda-based escalation and persistence labs.
  • Seeded log trails for detection and hunting exercises.
  • A sample that sets up an organization with service control policies.
  • RDS and ElastiCache on built ranges.
  • Network rules that filter traffic, and snapshot support.