# Sola for Cloud Security

Cloud environments are dynamic and complex, making continuous visibility essential.

Sola helps you monitor configurations, detect misconfigurations, and ensure alignment with cloud security best practices across [AWS](/integrations/data-sources/aws.md), [Azure](/integrations/data-sources/azure.md), and [GCP](/integrations/data-sources/gcp.md).

This page explains the key concepts behind **Cloud Security Posture Management (CSPM)**, what it is, why it matters, and how Sola helps you analyze it. It also includes [prompt examples](#prompt-examples) you can use directly in [Sola AI](/getting-started/sola-ai.md).

{% hint style="info" %}
![](/files/DESMoC6l1Gr9uaynao5N) **Start with Sola AI**

Expand the prompts below to get started, then [explore more prompt examples](#prompt-examples) further down the page.
{% endhint %}

<details>

<summary><img src="/files/DESMoC6l1Gr9uaynao5N" alt=""> <em><strong>Ask</strong>: Show me my cloud security risks</em></summary>

Copy this prompt into [Sola AI](https://app.sola.security/) to get started:

{% code overflow="wrap" %}

```
I want to understand the most critical security risks in my cloud environment. Guide me to identify which cloud provider I should connect first - such as AWS, Azure, or GCP - to quickly discover high-impact misconfigurations like public exposure, overprivileged identities, IAM posture, or missing encryption. If I already have a data source connected, ask me which one I should use. Guide me to the best next step to quickly experience Sola's value. Do this as an interactive conversation, guide me one step at a time, avoid long explanations upfront, and pause for my response.
```

{% endcode %}

</details>

<details>

<summary><img src="/files/DESMoC6l1Gr9uaynao5N" alt=""> <em><strong>Build</strong>: Build cloud security monitoring</em></summary>

Copy this prompt into [Sola AI](https://app.sola.security/) to get started:

{% code overflow="wrap" %}

```
I want to build an app that continuously monitors my cloud security posture. Guide me to identify which cloud provider I should connect first - such as AWS, Azure, or GCP - or if I already have one connected, ask me which to use. Then help me build queries to detect critical misconfigurations like public exposure, overprivileged identities, IAM posture, or missing encryption, create canvases to visualize risks over time, and set up alerts for new issues. Guide me to the best next step to quickly experience Sola's value. Do this as an interactive conversation, guide me one step at a time, avoid long explanations upfront, and pause for my response.
```

{% endcode %}

</details>

## What is Cloud Security Posture Management (CSPM)?

CSPM is the practice of continuously monitoring and assessing your cloud infrastructure to detect risks, misconfigurations, and policy violations. Ensuring that your cloud accounts, services, and resources comply with security benchmarks like CIS, ISO, or SOC2.

In simple terms, CSPM helps answer the question:\
\&#xNAN;***“Is my cloud configured securely right now?”***

Insights are generated from your [connected data sources](/integrations/data-sources.md) to identify and remediate risks such as:

* Publicly exposed storage buckets or databases.
* Unencrypted or misconfigured resources.
* Excessive permissions or inactive identities.
* Missing or incomplete logging coverage.
* Non-compliance with established security policies.

## Why is CSPM important

Cloud misconfigurations are among the most common causes of data exposure.

Without continuous monitoring, even minor configuration errors can expose sensitive data, weaken access controls, or impact compliance.

CSPM ensures visibility, enforces security best practices, and reduces the risk of accidental exposure or policy drift across cloud environments.

## CSPM with Sola

Sola isn’t about replacing traditional CSPM solutions, it enables you to build one that fits your organization.

With Sola, you can build a tailored solution to:

* **Monitor** configuration drift, public exposure, and encryption status across AWS, GCP, and Azure.
* **Enforce** security and compliance standards such as CIS, ISO, and SOC2 through automated checks and alerts.
* **Visualize** posture changes and risk trends with dashboards and reports.
* **Automate** remediation workflows to handle recurring or critical misconfigurations.

Each of these components can be queried, visualized, and automated within your Sola apps, giving you full visibility and control over your cloud security posture.

<a href="https://app.sola.security/gallery/aws-security-posture-misconfigurations" class="button secondary">Download the app for the complete experience</a>

***

## Prompt examples

Explore the security risks and misconfigurations covered by CSPM for [AWS](/integrations/data-sources/aws.md).

1. [Identity and access management (IAM)](#id-1.-identity-and-access-management-iam)
2. [Network Security](#id-2.-network-security)
3. [Data protection (S3, RDS, EBS, EFS)](#id-3.-data-protection-s3-rds-ebs-efs)
4. [Compute and container security](#id-4.-compute-and-container-security)
5. [Logging, monitoring and governance](#id-5.-logging-monitoring-and-governance)
6. [Resilience and availability](#id-6.-resilience-and-availability)

{% hint style="info" %}
*Copy any prompt into* [*Sola AI*](https://app.sola.security/) *to get started.*
{% endhint %}

🔴 Critical 🟠 High 🟡 Medium

### 1. Identity and access management (IAM)

Prevent misuse of privileges and unauthorized access.

<details>

<summary>🔴 <strong>Detect publicly accessible EC2 instances with admin roles</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Find all EC2 instances with a public IP address that are attached to IAM roles with admin-level permissions.
```

{% endcode %}

| <p><em>What it checks:</em><br>Detects EC2 instances with public IPs and admin-level roles</p> | <p><em>Why it matters:</em><br>A compromised instance could grant full account access</p> |
| ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |

</details>

<details>

<summary><strong>🔴 Identify Lambda functions with privileged execution roles</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
List all Lambda functions where the execution role has administrator or wildcard (‘*’) permissions.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Finds functions using excessive permissions</td><td valign="top"><em>Why it matters:</em><br>Reduces the blast radius of potential compromise</td></tr></tbody></table>

</details>

<details>

<summary>🟠 <strong>Ensure EC2 instances use IAM roles instead of static keys</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Show EC2 instances not configured with an IAM role or still using hardcoded access keys.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Ensures instances are using IAM roles instead of static access keys</td><td valign="top"><em>Why it matters:</em><br>Prevents credential leakage</td></tr></tbody></table>

</details>

<details>

<summary>🟡 <strong>Verify IAM Access Analyzer is enabled in all active region</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Check whether IAM Access Analyzer is enabled in all active AWS regions.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Validates that exposure detection is active</td><td valign="top"><em>Why it matters:</em><br>Identifies unintended cross-account access</td></tr></tbody></table>

</details>

### 2. Network Security

Limit public exposure and enforce segmentation.

<details>

<summary>🔴 <strong>Detect subnets that automatically assign public IPs</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Find EC2 subnets that are configured to automatically assign public IP addresses to instances.
```

{% endcode %}

| <p><em>What it checks:</em><br>Flags subnets that expose instances to the internet</p> | <p><em>Why it matters:</em><br>Reduces attack surface</p> |
| -------------------------------------------------------------------------------------- | --------------------------------------------------------- |

</details>

<details>

<summary><strong>🔴 Identify security groups with unrestricted inbound access</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
List all security groups with rules allowing inbound traffic from 0.0.0.0/0 or ::/0, and show which ports are exposed.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Detects overly broad rules (e.g., 0.0.0.0/0)</td><td valign="top"><em>Why it matters:</em><br>Prevents unauthorized inbound connections</td></tr></tbody></table>

</details>

<details>

<summary><strong>🔴 Find resources with open administrative ports</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Show all resources with SSH (port 22), RDP (port 3389), or other management ports open to the internet.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Scans for open management ports</td><td valign="top"><em>Why it matters:</em><br>Avoids brute-force and RCE attempts</td></tr></tbody></table>

</details>

<details>

<summary>🟠 <strong>Verify default VPC security groups restrict all traffic</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Check whether the default security group in each VPC blocks all inbound and outbound traffic.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Ensures default networks are locked down</td><td valign="top"><em>Why it matters:</em><br>Reduces accidental exposure</td></tr></tbody></table>

</details>

#### 3. Data protection (S3, RDS, EBS, EFS)

<details>

<summary>🔴 <strong>Identify S3 buckets without Block Public Access enabled</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
List all S3 buckets that do not have Block Public Access settings enabled at the bucket or account level.
```

{% endcode %}

| <p><em>What it checks:</em><br>Detects public data exposure</p> | <p><em>Why it matters:</em><br>Common cause of cloud data leaks</p> |
| --------------------------------------------------------------- | ------------------------------------------------------------------- |

</details>

<details>

<summary><strong>🔴 Detect publicly shared snapshots</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Find all EBS snapshots and RDS snapshots that are shared publicly or with untrusted AWS accounts.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Ensures backups are private</td><td valign="top"><em>Why it matters:</em><br>Prevents data theft from shared snapshots</td></tr></tbody></table>

</details>

<details>

<summary>🔴 <strong>Check if CloudTrail logs bucket is publicly accessible</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Verify that the S3 bucket storing CloudTrail logs is not publicly accessible.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Protects audit logs from manipulation</td><td valign="top"><em>Why it matters:</em><br>Maintains integrity of forensic evidence</td></tr></tbody></table>

</details>

<details>

<summary>🟠 <strong>Verify encryption at rest is enabled for data stores</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
Check whether EBS volumes, RDS databases, and EFS file systems have encryption at rest enabled.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Verifies EBS, RDS, EFS encryption settings</td><td valign="top"><em>Why it matters:</em><br>Protects data from unauthorized physical access</td></tr></tbody></table>

</details>

<details>

<summary>🟡 <strong>Ensure S3 versioning and MFA delete are enabled</strong></summary>

{% code title="PROMPT" overflow="wrap" %}

```
List S3 buckets without versioning enabled or MFA delete configured.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Guards against accidental or malicious deletion</td><td valign="top"><em>Why it matters:</em><br>Improves recoverability</td></tr></tbody></table>

</details>

#### 4. Compute and container security

<details>

<summary>🔴 <strong>Identify ECS containers running in privileged mode</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
Find all ECS task definitions where containers are configured to run as privileged or as root.
```

{% endcode %}

| <p><em>What it checks:</em><br>Prevents host-level compromise</p> | <p><em>Why it matters:</em><br>Reduces container escape risk</p> |
| ----------------------------------------------------------------- | ---------------------------------------------------------------- |

</details>

<details>

<summary><strong>🔴 Verify ECR image scanning is enabled</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
Check whether Amazon ECR repositories have image scanning enabled for vulnerability detection.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Ensures image scanning is active</td><td valign="top"><em>Why it matters:</em><br>Prevents deployment of vulnerable builds</td></tr></tbody></table>

</details>

<details>

<summary>🟠 <strong>Detect ECS tasks sharing host process namespace</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
List ECS task definitions that share the host's process namespace with containers.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Enforces container isolation</td><td valign="top"><em>Why it matters:</em><br>Avoids cross-process attacks</td></tr></tbody></table>

</details>

<details>

<summary>🟡 <strong>Identify Lambda functions using deprecated runtimes</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
List all Lambda functions that are running on deprecated or outdated runtime environments.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Checks for deprecated environments</td><td valign="top"><em>Why it matters:</em><br>Reduces CVE exposure</td></tr></tbody></table>

</details>

#### 5. Logging, monitoring and governance

<details>

<summary>🔴 <strong>Verify CloudTrail logs are encrypted and validated</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
Check whether CloudTrail logs are encrypted with KMS and have log file validation enabled.
```

{% endcode %}

| <p><em>What it checks:</em><br>Ensures log integrity</p> | <p><em>Why it matters:</em><br>Prevents tampering</p> |
| -------------------------------------------------------- | ----------------------------------------------------- |

</details>

<details>

<summary>🟠 <strong>Check if CloudTrail and AWS Config are enabled in all regions</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
Verify that CloudTrail and AWS Config are enabled and recording in all active AWS regions.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Confirms activity tracking coverage</td><td valign="top"><em>Why it matters:</em><br>Core to audits and investigations</td></tr></tbody></table>

</details>

<details>

<summary>🟡 <strong>Ensure VPC Flow Logs and Load Balancer logging are enabled</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
List VPCs without Flow Logs enabled and load balancers without access logging configured.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Tracks network traffic</td><td valign="top"><em>Why it matters:</em><br>Detects anomalies and intrusion attempts</td></tr></tbody></table>

</details>

#### 6. Resilience and availability

<details>

<summary>🟠 <strong>Verify backup recovery points are encrypted</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
Check whether AWS Backup recovery points are encrypted at rest.
```

{% endcode %}

| <p><em>What it checks:</em><br>Secures stored backups</p> | <p><em>Why it matters:</em><br>Protects backup data from unauthorized access or theft</p> |
| --------------------------------------------------------- | ----------------------------------------------------------------------------------------- |

</details>

<details>

<summary>🟡 <strong>Verify RDS clusters use multiple Availability Zones</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
Check whether RDS database clusters are configured for Multi-AZ deployment.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Checks for high availability configuration</td><td valign="top"><em>Why it matters:</em><br>Prevents single-AZ failures</td></tr></tbody></table>

</details>

<details>

<summary>🟡 <strong>Ensure load balancers span multiple Availability Zones</strong></summary>

{% code title="Prompt" overflow="wrap" %}

```
List all Application and Network Load Balancers that are not configured across multiple Availability Zones.
```

{% endcode %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><em>What it checks:</em><br>Ensures multi-zone redundancy</td><td valign="top"><em>Why it matters:</em><br>Improves uptime</td></tr></tbody></table>

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sola.security/resources/prompt-library/cloud-security.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
