Intern Training
September 23, 2026
September 23, 2026
A deployment can introduce security risks even when the application code itself is secure.
A new cloud resource, an overly permissive IAM role, an exposed database, or a missing logging configuration can create an attack path that was not present before the deployment.
This is why a cloud security review should happen before infrastructure reaches production—not after a vulnerability is discovered.
The following 10-point checklist focuses on the areas most likely to introduce cloud security risks during deployment.
Start with the identities that the deployment will create or modify.
Check whether:
A common mistake is giving deployment accounts broad permissions because it makes automation easier.
The safer approach is to give the pipeline only the permissions required to deploy and manage the intended resources.
Before deployment, ask: If this identity were compromised, what could it change?
That question often reveals excessive privilege faster than simply reviewing a list of IAM roles.
Public exposure should be intentional.
Review the deployment for resources such as:
A resource being reachable from the internet does not automatically mean it is insecure. Public-facing applications obviously need some degree of internet accessibility.
The concern is unnecessary exposure.
For example, a public web application may need internet access, while its database should generally remain behind appropriate network controls.
Before deployment, map which resources need to be public and which should remain private.
Review firewall rules, security groups, network security groups, and equivalent controls.
Look specifically for:
Rules such as allowing administrative access from 0.0.0.0/0 deserve immediate scrutiny.
The question is not whether the connection works.
It is whether the connection is necessary and appropriately restricted.
Check whether sensitive information is protected both during transmission and while stored.
Review:
Encryption should also be considered alongside key management.
Having encryption enabled is useful, but security teams should understand:
Do not treat encryption as a substitute for access control.
An encrypted database can still be accessed by an identity that should never have had permission to reach it.
Deployment pipelines frequently introduce credentials into cloud environments.
Look for:
These should not be stored directly in application code, configuration files, container images, or source repositories.
Use appropriate secrets-management capabilities provided by your cloud platform or application architecture.
Also check whether existing credentials are being rotated and whether unused credentials can be removed.
A secret that has been committed to source control should be treated as potentially compromised, even if it was later deleted.
A secure deployment should generate enough visibility to detect and investigate suspicious activity.
Before deployment, verify that relevant logging is enabled for:
Then verify that important events actually reach the organization’s monitoring or security platform.
Simply enabling logs does not guarantee that someone will detect an attack.
Security teams should know:
What happens when a high-risk event occurs?
For example, if someone changes a storage bucket from private to public, does anyone receive an alert?
Object storage is particularly vulnerable to accidental exposure because access can often be changed through policies and permissions.
Before deployment, check:
Pay particular attention to storage used for:
A storage resource created for temporary testing can become a permanent security problem if it is not reviewed before production deployment.
If your organization uses Terraform, CloudFormation, ARM/Bicep, or another Infrastructure-as-Code approach, security checks should happen before the infrastructure is deployed.
Review the code for:
Infrastructure-as-Code provides an important advantage: security issues can be identified before the configuration reaches the cloud environment.
Automated scanning can make this process part of the deployment pipeline rather than relying entirely on manual reviews.
Infrastructure security is not only about configuration.
Review the software running on the resources being deployed.
Depending on the workload, this can include:
Look for known vulnerabilities that could create unnecessary risk.
Container images deserve particular attention because an outdated base image can introduce vulnerabilities before the application is even deployed.
The objective is not necessarily to eliminate every vulnerability before every release.
It is to identify significant risks, understand their impact, and ensure that exceptions are deliberate.
A deployment can be technically secure and still create serious business risk if critical data cannot be recovered.
Before production deployment, confirm:
A backup that exists but cannot be restored when needed does not provide meaningful resilience.
For critical workloads, test recovery rather than simply checking whether a backup job is configured.
The 10 checks can be converted into a simple deployment gate:
| Security Check | Question to Ask |
| IAM | Does every identity have only the access it needs? |
| Public exposure | Are all internet-facing resources intentional? |
| Network | Are firewall and security rules appropriately restricted? |
| Encryption | Is sensitive data protected at rest and in transit? |
| Secrets | Are credentials securely stored and managed? |
| Monitoring | Can we detect important security events? |
| Storage | Are buckets and containers protected from unintended access? |
| IaC | Has infrastructure code been security-tested? |
| Vulnerabilities | Are known high-risk vulnerabilities addressed? |
| Recovery | Can critical data and workloads be recovered? |
A deployment should not necessarily be blocked because every finding is rated as critical.
Instead, establish clear severity levels and an exception process.
For example:
Critical → Fix before deployment
High → Fix or formally approve an exception
Medium → Track remediation
Low → Accept or address through normal maintenance
This gives engineering teams a practical security process instead of turning security review into a blanket deployment blocker.
The more frequently your organization deploys, the less practical manual security reviews become.
Automate checks wherever possible.
Examples include:
Automation is particularly valuable for identifying configuration drift.
A resource may have passed the security review during deployment but become risky later because someone manually changes its configuration.
Development and staging environments often receive less security attention than production.
That can create a problem.
Attackers may target development environments because they can contain:
Security reviews should therefore cover environments that contain sensitive information or provide pathways into production.
A development environment does not need exactly the same controls as production.
But it should not become an uncontrolled security blind spot.
Cloud security should not be treated as the responsibility of one team.
A practical model involves:
Developers → Application and dependency security
DevOps/Platform teams → Infrastructure and deployment configuration
Cloud teams → IAM, networking, storage, and cloud architecture
Security teams → Security policies, risk assessment, monitoring, and incident readiness
Business owners → Risk acceptance and business impact
This shared responsibility is particularly important in multi-cloud environments where different teams may manage AWS, Azure, and GCP resources.
At minimum, review IAM permissions, public exposure, network rules, encryption, secrets, logging, storage permissions, Infrastructure-as-Code, vulnerabilities, and backup/recovery controls.
For significant production deployments, security checks should be integrated into the deployment process. Automated controls can handle routine checks, while manual review can be reserved for high-risk changes.
There is no single control that protects every environment. However, excessive IAM permissions and unintended public exposure are two high-impact areas that should receive particular attention.
Yes. Infrastructure scanning, vulnerability scanning, IAM analysis, secrets detection, configuration monitoring, and compliance checks can all be automated to varying degrees.
Use a formal risk-exception process. Document the issue, business justification, compensating controls, owner, and target remediation date. High-risk exceptions should require appropriate approval rather than being silently ignored.
A pre-deployment cloud security audit does not need to be complicated.
The objective is to catch the issues most likely to create unnecessary exposure before they reach production.
Start with the basics:
Who has access? What is exposed? What can communicate with what? Is sensitive data protected? Can you detect suspicious activity? Can you recover if something goes wrong?
Then automate these checks wherever possible.
The strongest cloud security process is not the one that produces the longest checklist.
It is the one that consistently catches risky changes before they become production incidents.