Skip to content

Commit e2ef421

Browse files
Deprecate cloud-bench (#181)
The `cloud-bench` submodule has been deprecated, and replace with https://github.com/sysdiglabs/terraform-aws-secure. This PR removes outdated information relating to the cloud-bench submodule.
1 parent 220725f commit e2ef421

File tree

33 files changed

+26
-729
lines changed

33 files changed

+26
-729
lines changed

Diff for: .terraform-registry

-3
This file was deleted.

Diff for: CODEOWNERS

-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
11
* @sysdiglabs/cloud-native
2-
3-
# compliance
4-
/modules/services/cloud-bench/ @haresh-suresh @nkraemer-sysdig @sysdiglabs/cloud-native

Diff for: CONTRIBUTE.md

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
- Use **conventional commits** | https://www.conventionalcommits.org/en/v1.0.0
44
- Current suggested **scopes** to be used within feat(scope), fix(scope), ...
55
- threat
6-
- bench
76
- scan
87
- docs
98
- tests

Diff for: README.md

+7-58
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,19 @@
1-
# Sysdig Secure for Cloud in AWS
2-
3-
Terraform module that deploys the [**Sysdig Secure for Cloud** stack in **AWS**](https://docs.sysdig.com/en/docs/installation/sysdig-secure-for-cloud/deploy-sysdig-secure-for-cloud-on-aws).
4-
<br/>
5-
6-
Provides unified threat-detection, compliance, forensics and analysis through these major components:
7-
8-
* **[Threat Detection](https://docs.sysdig.com/en/docs/sysdig-secure/insights/)**: Tracks abnormal and suspicious activities in your cloud environment based on Falco language. Managed through `cloud-connector` module. <br/>
9-
10-
* **[Compliance](https://docs.sysdig.com/en/docs/sysdig-secure/posture/compliance/compliance-unified-/)**: Enables the evaluation of standard compliance frameworks. Requires just `cloud-bench` module. <br/>
11-
12-
* **[Identity and Access Management](https://docs.sysdig.com/en/docs/sysdig-secure/posture/identity-and-access/)**: Analyses user access overly permissive policies. Requires both modules `cloud-connector` and `cloud-bench`. <br/>
13-
14-
* **[Image Scanning](https://docs.sysdig.com/en/docs/sysdig-secure/scanning/)**: Automatically scans all container images pushed to the registry (ECR) and the images that run on the AWS workload (currently ECS). Managed through `cloud-connector`. <br/>Disabled by Default, can be enabled through `deploy_image_scanning_ecr` and `deploy_image_scanning_ecs` input variable parameters.<br/>
15-
16-
For other Cloud providers check: [GCP](https://github.com/sysdiglabs/terraform-google-secure-for-cloud), [Azure](https://github.com/sysdiglabs/terraform-azurerm-secure-for-cloud)
17-
18-
<br/>
1+
# Sunset Notice
192

3+
> [!CAUTION]
4+
> Sysdig released a new onboarding experience for AWS in September 2024. We recommend connecting your cloud accounts by [following these instructions](https://docs.sysdig.com/en/docs/sysdig-secure/connect-cloud-accounts/).
5+
>
6+
> This repository should be used solely in cases where Agentless Threat Detection cannot be used.
207
218
## Usage
229

23-
There are several ways to deploy Secure for Cloud in you AWS infrastructure,
24-
- **[`/examples`](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud/tree/master/examples)** for the most common scenarios
10+
There are several ways to deploy Agent based Cloud Detection and Response (CDR) in your AWS infrastructure:
2511
- [Single Account on ECS](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud/tree/master/examples/single-account-ecs/)
2612
- [Single Account on AppRunner](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud/tree/master/examples/single-account-apprunner/)
2713
- [Single-Account with a pre-existing Kubernetes Cluster](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud/tree/master/examples/single-account-k8s/)
2814
- [Organizational](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud/tree/master/examples/organizational/)
29-
- Many module,examples and use-cases, we provide ways to **re-use existing resources (as optionals)** in your
30-
infrastructure. Check input summary on each example/module.
31-
32-
- **[`/use-cases`](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud/tree/master/use-cases)** with self-baked customer-specific alternative scenarios.
33-
<br/>
34-
35-
Find specific overall service arquitecture diagrams attached to each example/use-case.
3615

37-
In the long-term our purpose is to evaluate those use-cases and if they're common enough, convert them into examples to make their usage easier.
38-
39-
If you're unsure about what/how to use this module, please fill the [questionnaire](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud/blob/master/use-cases/_questionnaire.md) report as an issue and let us know your context, we will be happy to help.
40-
41-
### Notice
42-
43-
* [AWS regions](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)
44-
* **Resource creation inventory** Find all the resources created by Sysdig examples in the resource-group `sysdig-secure-for-cloud` (AWS Resource Group & Tag Editor) <br/>
45-
* All Sysdig Secure for Cloud features but [Image Scanning](https://docs.sysdig.com/en/docs/sysdig-secure/scanning/) are enabled by default. You can enable it through `deploy_scanning` input variable parameters.<br/>
46-
- **Management Account ECR image scanning** is not support since it's [not a best practice](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_best-practices_mgmt-acct.html#best-practices_mgmt-use) to have an ECR in the management account. However, we have a workaround to [solve this problem](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud#q-aws-scanning-images-pushed-to-management-account-ecr-are-not-scanned) in case you need to scan images pushed to the management account ECR.
47-
* **Deployment cost** This example will create resources that cost money.<br/>Run `terraform destroy` when you don't need them anymore
48-
* For **free subscription** users, beware that organizational examples may not deploy properly due to the [1 cloud-account limitation](https://docs.sysdig.com/en/docs/administration/administration-settings/subscription/#cloud-billing-free-tier). Open an Issue so we can help you here!
49-
50-
51-
<br/>
16+
If you're unsure about how to use this module, please contact your Sysdig representative. Our experts will guide you through the process and assist you in setting up your account securely and correctly.
5217

5318
## Required Permissions
5419

@@ -333,22 +298,6 @@ $ curl -v https://<SYSDIG_SECURE_ENDPOINT>/api/cloud/v2/accounts/<AWS_ACCOUNT_ID
333298
--header 'Authorization: Bearer <SYSDIG_SECURE_API_TOKEN>'
334299
```
335300

336-
### Q-Benchmark: Getting Error: Not enough privileges to complete the action, Access is denied
337-
338-
```
339-
Error: Not enough privileges to complete the action, Access is denied
340-
341-
│ with module.secure -for-cloud_organizational.module.cloud_bench_org[0].sysdig_secure_benchmark_task.benchmark_task,
342-
│ on.terraform / modules / secure -for-cloud_organizational / modules / services / cloud - bench / main.tf line 55, in resource "sysdig_secure_benchmark_task" "benchmark_task":
343-
344-
│ Error: error waiting for CloudFormation StackSet(sysdig - secure - cloudbench) update: unexpected state 'FAILED', wanted target 'SUCCEEDED'.last error: Operation(terraform - 20221130212414336200000001) Results: 6 errors occurred:
345-
│ * Account(***) Region(us - east - 1) Status(SUCCEEDED) Status Reason: No updates are to be performed.
346-
│ * Account(***) Region(us - east - 1) Status(FAILED) Status Reason: Account *** should have
347-
'stacksets-exec-70e2f8a88d368a5d3df60f4eb8c247dc' role with trust relationship to Role 'aws-service-role/stacksets.cloudformation.amazonaws.com/AWSServiceRoleForCloudFormationStackSetsOrgAdmin
348-
```
349-
350-
A: For **Organizational** Setup for cloudbench (deployed through management account / delegated administrator vía stackset) make sure it's being deployed in the management account. [enable organizational trusted access to stackset](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html) as part of the [prerequisites for stackset operations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)
351-
352301
### Q-RuntimeThreat Detection: Getting error 403 `"could not load rule set from Sysdig Secure: ruleprovider#newPartialRuleSet | error loading default-rules: error from Sysdig Secure API: 403`
353302

354303
A: The Sysdig User that deployed the components is a standard user within the Sysdig Platform. Only administrator users are given permissions to read falco rule sets. Once this permission is changed, you should no longer get this error and CSPM Cloud events should start populating.

Diff for: examples/organizational/README.md

-7
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,12 @@ Role usage for this example comes as follows. Check [permissions](../../README.m
7474
- used by Sysdig to subscribe to cloudtrail events
7575
- used by Sysdig, for image scanning feature, to `assumeRole` on `OrganizationAccountAccessRole` to be able to fetch image data from ECS Tasks and scan ECR hosted images
7676
<!-- - assuming previous role will also enable the access of cloudtrail s3 buckets when they are in a different region than were the terraform module is deployed -->
77-
- `SysdigCloudBench` role will be created for SecurityAudit read-only purpose, used by Sysdig to benchmark
7877
7978
- **member accounts**
8079
- terraform aws provider: 'member' aliased
8180
- this provider can be configured as desired, we just provide a default option
8281
- by default, we suggest using an assumeRole to the [AWS created default role `OrganizationAccountAccessRole`](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)
8382
- if this role does not exist provide input var `organizational_member_default_admin_role` with the role
84-
- `SysdigCloudBench` role will be created for SecurityAudit read-only purpose, used by Sysdig to benchmark
8583
8684
- **sysdig workload member account**
8785
- if ECS workload is deployed, `ECSTaskRole` will be used to define its permissions
@@ -160,8 +158,6 @@ $ terraform apply
160158

161159
| Name | Source | Version |
162160
|------|--------|---------|
163-
| <a name="module_cloud_bench_org"></a> [cloud\_bench\_org](#module\_cloud\_bench\_org) | ../../modules/services/cloud-bench | n/a |
164-
| <a name="module_cloud_bench_single"></a> [cloud\_bench\_single](#module\_cloud\_bench\_single) | ../../modules/services/cloud-bench | n/a |
165161
| <a name="module_cloud_connector"></a> [cloud\_connector](#module\_cloud\_connector) | ../../modules/services/cloud-connector-ecs | n/a |
166162
| <a name="module_cloudtrail"></a> [cloudtrail](#module\_cloudtrail) | ../../modules/infrastructure/cloudtrail | n/a |
167163
| <a name="module_codebuild"></a> [codebuild](#module\_codebuild) | ../../modules/infrastructure/codebuild | n/a |
@@ -178,7 +174,6 @@ $ terraform apply
178174
| [aws_iam_role.connector_ecs_task](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
179175
| [aws_caller_identity.me](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
180176
| [aws_iam_policy_document.task_assume_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
181-
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
182177
| [sysdig_secure_connection.current](https://registry.terraform.io/providers/sysdiglabs/sysdig/latest/docs/data-sources/secure_connection) | data source |
183178

184179
## Inputs
@@ -191,8 +186,6 @@ $ terraform apply
191186
| <a name="input_cloudtrail_kms_enable"></a> [cloudtrail\_kms\_enable](#input\_cloudtrail\_kms\_enable) | true/false whether the created cloudtrail should deliver encrypted events to s3 | `bool` | `true` | no |
192187
| <a name="input_cloudtrail_s3_bucket_expiration_days"></a> [cloudtrail\_s3\_bucket\_expiration\_days](#input\_cloudtrail\_s3\_bucket\_expiration\_days) | Number of days that the logs will persist in the bucket | `number` | `5` | no |
193188
| <a name="input_connector_ecs_task_role_name"></a> [connector\_ecs\_task\_role\_name](#input\_connector\_ecs\_task\_role\_name) | Name for the ecs task role. This is only required to resolve cyclic dependency with organizational approach | `string` | `"organizational-ECSTaskRole"` | no |
194-
| <a name="input_deploy_benchmark"></a> [deploy\_benchmark](#input\_deploy\_benchmark) | Whether to deploy or not the cloud benchmarking | `bool` | `true` | no |
195-
| <a name="input_deploy_benchmark_organizational"></a> [deploy\_benchmark\_organizational](#input\_deploy\_benchmark\_organizational) | true/false whether benchmark module should be deployed on organizational or single-account mode (1 role per org accounts if true, 1 role in default aws provider account if false)</li></ul> | `bool` | `true` | no |
196189
| <a name="input_deploy_beta_image_scanning_ecr"></a> [deploy\_beta\_image\_scanning\_ecr](#input\_deploy\_beta\_image\_scanning\_ecr) | true/false whether to deploy the beta image scanning on ECR pushed images (experimental and unsupported) | `bool` | `false` | no |
197190
| <a name="input_deploy_image_scanning_ecr"></a> [deploy\_image\_scanning\_ecr](#input\_deploy\_image\_scanning\_ecr) | true/false whether to deploy the image scanning on ECR pushed images | `bool` | `false` | no |
198191
| <a name="input_deploy_image_scanning_ecs"></a> [deploy\_image\_scanning\_ecs](#input\_deploy\_image\_scanning\_ecs) | true/false whether to deploy the image scanning on ECS running images | `bool` | `false` | no |

Diff for: examples/organizational/cloud-bench.tf

-29
This file was deleted.

Diff for: examples/organizational/data.tf

-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
data "aws_region" "current" {}
21
data "sysdig_secure_connection" "current" {}
32
data "aws_caller_identity" "me" {}

Diff for: examples/organizational/variables.tf

-17
Original file line numberDiff line numberDiff line change
@@ -110,23 +110,6 @@ variable "deploy_image_scanning_ecs" {
110110
}
111111

112112

113-
#
114-
# benchmark configuration
115-
#
116-
117-
variable "deploy_benchmark" {
118-
type = bool
119-
description = "Whether to deploy or not the cloud benchmarking"
120-
default = true
121-
}
122-
123-
variable "deploy_benchmark_organizational" {
124-
type = bool
125-
default = true
126-
description = "true/false whether benchmark module should be deployed on organizational or single-account mode (1 role per org accounts if true, 1 role in default aws provider account if false)</li></ul>"
127-
}
128-
129-
130113
#---------------------------------
131114
# ecs, security group, vpc
132115
#---------------------------------

Diff for: examples/single-account-apprunner/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ $ terraform apply
7979

8080
| Name | Source | Version |
8181
|------|--------|---------|
82-
| <a name="module_cloud_bench"></a> [cloud\_bench](#module\_cloud\_bench) | ../../modules/services/cloud-bench | n/a |
8382
| <a name="module_cloud_connector"></a> [cloud\_connector](#module\_cloud\_connector) | ../../modules/services/cloud-connector-apprunner | n/a |
8483
| <a name="module_cloudtrail"></a> [cloudtrail](#module\_cloudtrail) | ../../modules/infrastructure/cloudtrail | n/a |
8584
| <a name="module_codebuild"></a> [codebuild](#module\_codebuild) | ../../modules/infrastructure/codebuild | n/a |
@@ -100,7 +99,6 @@ $ terraform apply
10099
| <a name="input_cloudtrail_is_multi_region_trail"></a> [cloudtrail\_is\_multi\_region\_trail](#input\_cloudtrail\_is\_multi\_region\_trail) | true/false whether cloudtrail will ingest multiregional events | `bool` | `true` | no |
101100
| <a name="input_cloudtrail_kms_enable"></a> [cloudtrail\_kms\_enable](#input\_cloudtrail\_kms\_enable) | true/false whether cloudtrail delivered events to S3 should persist encrypted | `bool` | `true` | no |
102101
| <a name="input_cloudtrail_sns_arn"></a> [cloudtrail\_sns\_arn](#input\_cloudtrail\_sns\_arn) | ARN of a pre-existing cloudtrail\_sns. If defaulted, a new cloudtrail will be created. ARN of a pre-existing cloudtrail\_sns. If defaulted, a new cloudtrail will be created. If specified, sysdig deployment account and region must match with the specified SNS | `string` | `"create"` | no |
103-
| <a name="input_deploy_benchmark"></a> [deploy\_benchmark](#input\_deploy\_benchmark) | Whether to deploy or not the cloud benchmarking | `bool` | `true` | no |
104102
| <a name="input_deploy_beta_image_scanning_ecr"></a> [deploy\_beta\_image\_scanning\_ecr](#input\_deploy\_beta\_image\_scanning\_ecr) | true/false whether to deploy the beta image scanning on ECR pushed images (experimental and unsupported) | `bool` | `false` | no |
105103
| <a name="input_deploy_image_scanning_ecr"></a> [deploy\_image\_scanning\_ecr](#input\_deploy\_image\_scanning\_ecr) | true/false whether to deploy the image scanning on ECR pushed images | `bool` | `false` | no |
106104
| <a name="input_deploy_image_scanning_ecs"></a> [deploy\_image\_scanning\_ecs](#input\_deploy\_image\_scanning\_ecs) | true/false whether to deploy the image scanning on ECS running images | `bool` | `false` | no |

Diff for: examples/single-account-apprunner/benchmark.tf

-7
This file was deleted.

Diff for: examples/single-account-apprunner/variables.tf

-10
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,6 @@ variable "deploy_image_scanning_ecs" {
4848
default = false
4949
}
5050

51-
#
52-
# benchmark configuration
53-
#
54-
55-
variable "deploy_benchmark" {
56-
type = bool
57-
description = "Whether to deploy or not the cloud benchmarking"
58-
default = true
59-
}
60-
6151
#
6252
# general
6353
#

Diff for: examples/single-account-ecs/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ $ terraform apply
7979

8080
| Name | Source | Version |
8181
|------|--------|---------|
82-
| <a name="module_cloud_bench"></a> [cloud\_bench](#module\_cloud\_bench) | ../../modules/services/cloud-bench | n/a |
8382
| <a name="module_cloud_connector"></a> [cloud\_connector](#module\_cloud\_connector) | ../../modules/services/cloud-connector-ecs | n/a |
8483
| <a name="module_cloudtrail"></a> [cloudtrail](#module\_cloudtrail) | ../../modules/infrastructure/cloudtrail | n/a |
8584
| <a name="module_codebuild"></a> [codebuild](#module\_codebuild) | ../../modules/infrastructure/codebuild | n/a |
@@ -103,7 +102,6 @@ $ terraform apply
103102
| <a name="input_cloudtrail_kms_enable"></a> [cloudtrail\_kms\_enable](#input\_cloudtrail\_kms\_enable) | true/false whether cloudtrail delivered events to S3 should persist encrypted | `bool` | `true` | no |
104103
| <a name="input_cloudtrail_s3_bucket_expiration_days"></a> [cloudtrail\_s3\_bucket\_expiration\_days](#input\_cloudtrail\_s3\_bucket\_expiration\_days) | Number of days that the logs will persist in the bucket | `number` | `5` | no |
105104
| <a name="input_cloudtrail_sns_arn"></a> [cloudtrail\_sns\_arn](#input\_cloudtrail\_sns\_arn) | ARN of a pre-existing cloudtrail\_sns. If defaulted, a new cloudtrail will be created. If specified, sysdig deployment account and region must match with the specified SNS | `string` | `"create"` | no |
106-
| <a name="input_deploy_benchmark"></a> [deploy\_benchmark](#input\_deploy\_benchmark) | Whether to deploy or not the cloud benchmarking | `bool` | `true` | no |
107105
| <a name="input_deploy_beta_image_scanning_ecr"></a> [deploy\_beta\_image\_scanning\_ecr](#input\_deploy\_beta\_image\_scanning\_ecr) | true/false whether to deploy the beta image scanning on ECR pushed images (experimental and unsupported) | `bool` | `false` | no |
108106
| <a name="input_deploy_image_scanning_ecr"></a> [deploy\_image\_scanning\_ecr](#input\_deploy\_image\_scanning\_ecr) | true/false whether to deploy the image scanning on ECR pushed images | `bool` | `false` | no |
109107
| <a name="input_deploy_image_scanning_ecs"></a> [deploy\_image\_scanning\_ecs](#input\_deploy\_image\_scanning\_ecs) | true/false whether to deploy the image scanning on ECS running images | `bool` | `false` | no |

Diff for: examples/single-account-ecs/benchmark.tf

-7
This file was deleted.

Diff for: examples/single-account-ecs/variables.tf

-11
Original file line numberDiff line numberDiff line change
@@ -99,17 +99,6 @@ variable "deploy_image_scanning_ecs" {
9999
default = false
100100
}
101101

102-
103-
#
104-
# benchmark configuration
105-
#
106-
107-
variable "deploy_benchmark" {
108-
type = bool
109-
description = "Whether to deploy or not the cloud benchmarking"
110-
default = true
111-
}
112-
113102
#
114103
# cloud connector connector configuration
115104
#

0 commit comments

Comments
 (0)