Live Testing against production
Everything runs against systems people depend on. No destructive tests, no denial of service under any circumstances, agreed rate limits, and a read-only pass before anything credentialed. Providers run automated abuse detection and may interrupt work that is entirely within the rules, so keep the authorization document within reach.
Non-prod Testing against a copy
A dedicated environment removes the pressure on timing and rate limits, but only for findings that transfer. Record every place the copy differs from production: an IAM policy, a network rule or a metadata setting that differs is a question you have not answered.
No approval Test without asking the provider 2
- AWS AWS names the services you may assess without advance permission: EC2, WAF, NAT gateways and load balancers, RDS, Aurora, CloudFront, API Gateway, AppSync, Lambda and Lambda@Edge, Lightsail, Elastic Beanstalk, ECS, Fargate, OpenSearch Service, FSx, Transit Gateway, Bedrock AgentCore and Global Accelerator.
- AWS · VM EC2 instances you own, including the guest operating system, the instance profile attached to them and the instance metadata service configuration.
- AWS · FN Lambda and Lambda@Edge functions, API Gateway and AWS AppSync endpoints are all on the permitted list.
- AWS · DATA Amazon RDS, Aurora, OpenSearch Service and FSx are on the permitted list. S3 configuration review is part of your own account posture, though bucket takeover is prohibited.
- AZURE Microsoft has not required pre-approval to test Azure resources since 15 June 2017, and notification is not required. The Microsoft Cloud Unified Penetration Testing Rules of Engagement are the binding document.
- AZURE · VM Fuzzing, port scanning and vulnerability assessment against your own Azure virtual machines are explicitly encouraged by the rules of engagement.
- AZURE Testing your own tenant’s security monitoring and detection, and evaluating Conditional Access or Intune mobile application management policies.
- AZURE Creating test accounts or trial tenants to exercise cross-account and cross-tenant scenarios, and generating traffic to test surge capacity inside your own applications.
- AZURE · FN Attempting to break out of shared service containers such as Azure App Service or Azure Functions, on condition that you stop on success and disclose responsibly.
- GCP Google requires no notification before you test your own Google Cloud projects, provided the test complies with the Acceptable Use Policy and the Terms of Service.
Select at least one provider to see what is open.
Notice or terms Needs notice, authorization or a partner 3
- AWS Simulated events need a form filed at least two weeks before the start date: red, blue or purple team testing with command and control, DDoS simulation, iPerf network testing, simulated phishing campaigns and malware testing.
- AWS · K8S Amazon EKS is not named on the AWS permitted-service list. Test the workloads, node instances and IAM roles you own, and confirm the current policy before approaching the managed control plane.
- AZURE A third party testing on your behalf needs explicit written authorization from the resource owner. Microsoft does not grant it for you: document it in the service agreement before testing begins.
- AZURE DDoS resilience testing runs only through Microsoft-approved simulation partners, which the rules of engagement name as MazeBolt, Red Button and RedWolf.
- GCP No notification, but the Acceptable Use Policy and Terms of Service bind the test, and Google asks that platform vulnerabilities go to the Vulnerability Reward Program rather than being exploited.
- SAAS A third-party SaaS integration is outside your cloud provider’s policy entirely. Each vendor sets its own testing terms; obtain written authorization from the vendor before touching a system you do not own.
- PROD Live testing needs an agreed window, rate limits, a named escalation contact and a documented stop condition. Providers may interrupt activity in progress at their discretion even when the test is entirely valid.
Nothing in this profile needs a provider form.
Prohibited Prohibited, whatever your own authorization says 3
- AWS Denial of service and distributed denial of service, port flooding, protocol flooding and request flooding, including login request flooding and API request flooding.
- AWS DNS zone walking via Amazon Route 53, and DNS hijacking via Route 53.
- AWS S3 bucket takeover and subdomain takeover.
- AZURE Denial of service testing of any kind, including tests that determine, demonstrate or simulate it. Distributed denial of service is prohibited under all circumstances.
- AZURE Accessing, scanning or testing tenants, systems, logs, data or storage accounts you do not own or have explicit permission to test.
- AZURE Using, accessing or retrieving credentials or other secrets that are not your own, including credentials that have leaked publicly.
- AZURE Network-intensive fuzzing or automated testing that generates excessive traffic.
- AZURE Phishing or social engineering against Microsoft employees, and using Microsoft services, Azure included, to phish or socially engineer anyone else.
- AZURE Post-compromise actions against Microsoft’s own online services beyond an initial proof of concept: no internal enumeration, secret dumping, further code execution, lateral movement or pivoting. Stop and report to MSRC.
- GCP Anything that reaches beyond your own projects. Google’s stated condition is that tests only affect your projects, and not other customers’ applications.
- GCP Exploiting a vulnerability you find in Google’s own platform instead of reporting it through the Vulnerability Reward Program.
Select a provider to see its prohibited list.
Test areas What actually matters for this stack 8
- IAM Identity attack paths across the whole account, subscription or organization. Most cloud findings are a chain of individually reasonable permissions rather than one broken service.
- VM Reachability of the instance metadata service from the application layer. On AWS that means whether IMDSv2 is required, and what the response hop limit is; the metadata address is
169.254.169.254. - VM The scope of the identity attached to each host: an EC2 instance profile, an Azure managed identity, a Compute Engine service account. What the identity can reach matters more than whether the host is patched.
- VM Guest operating system, runtime and application patching. Every shared responsibility model puts this half of an IaaS host on the customer.
- FN Execution-role scope: what the function can reach when its code is persuaded to do something it was not written to do.
- FN · AWS
iam:PassRole boundaries. Passing a role that carries more permissions than the caller is the classic escalation, and PassRole is a permission rather than an API call, so it leaves no CloudTrail entry of its own. - FN Environment variables, deployment packages and build configuration, checked for embedded secrets; and event-source trust, checked for who can invoke the function and with what payload.
- K8S RBAC escalation paths: the
escalate, bind and impersonate verbs, plus who may create workloads, list secrets, create persistent volumes or reach nodes/proxy. - K8S Pod Security Standards enforcement per namespace, and whether privileged or hostPath workloads are admitted anywhere in the cluster.
- K8S Whether workloads can reach the cloud metadata API. This is the cluster-to-cloud pivot, it is item K08 in the OWASP Kubernetes Top Ten, and filtering it is on the Kubernetes project’s own baseline checklist.
- K8S Default-deny network policy in every namespace, and whether the Kubernetes API, the kubelet API or etcd are reachable from the internet.
- DATA Network exposure of managed database endpoints, and which principals hold data-plane access to them.
- DATA Key management and encryption configuration: who can decrypt, and who can change the key policy that decides it.
- DATA Backups and snapshots. A restricted database with a readable snapshot is a readable database.
- DATA · AWS S3 Block Public Access at account and bucket level, all four settings. Removing a setting makes an existing public policy or ACL effective again, because the settings never altered it.
- SAAS Cross-account trust policies. On AWS, whether the role a vendor assumes carries an
sts:ExternalId condition, which is the control AWS documents against the confused deputy problem. - SAAS OAuth application consent and delegated permissions in the identity provider, including which applications hold standing access to mail, files or directory data.
- SAAS · GCP Service account keys. Google calls them a security risk if not managed correctly and advises choosing a more secure alternative wherever possible.
- AZURE Microsoft Entra role hygiene: how many Global Administrators exist against Microsoft’s recommended fewer than five, whether privileged roles are standing or activated through Privileged Identity Management, and whether admin accounts are cloud-only.
- GCP Service account impersonation grants.
roles/iam.serviceAccountTokenCreator and roles/iam.serviceAccountUser let a principal reach everything the service account can reach.
Select what you run to see the test areas.
Access What the tester needs from you 5
- DOC Written authorization from the account, subscription or organization owner, naming the scope, the window and the testers. Azure’s rules of engagement require it for third-party testers, and it is good practice everywhere.
- AWS A read-only audit role assumable from the tester’s account and protected with an
sts:ExternalId condition. SecurityAudit and ViewOnlyAccess cover most configuration and identity review. - AZURE Reader plus Security Reader at the subscription or management-group scope, and directory read access in Microsoft Entra ID for the identity review.
- GCP Viewer plus Security Reviewer at organization or project scope, granted to a principal the tester controls rather than issued as a shared service account key.
- IAM One credentialed low-privilege principal for each persona you want tested. Privilege-escalation paths cannot be proven from a read-only role alone.
- K8S Cluster credentials: a read-only ClusterRole for the review pass, and a namespace-scoped service account for the workload-level tests.
- SAAS Vendor-side authorization for any integration you do not own, plus the tenant configuration for the identity provider that brokers it.
- PROD A named escalation contact reachable for the whole window, a documented stop condition, and confirmation that alerting teams know a test is running if the engagement is not a detection exercise.
- NON-PROD Evidence of configuration parity between the copy and production. Without it the findings describe the copy, and the report has to say so.
Select a provider to see the access required.
Scope this with OffSeq↗ Provider policies are the authoritative source and can change without notice: confirm the current policy pages before every engagement. This checker reflects published rules for the profile you selected. It is not legal advice and it is not authorization to test anything.