You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-2
Original file line number
Diff line number
Diff line change
@@ -142,7 +142,7 @@ Some components may vary, or may be deployed on different accounts (depending on
142
142
This would be an overall schema of the **created resources**, for the default setup.
143
143
144
144
- Cloudtrail / SNS / S3 / SQS
145
-
- SSM Parameter for Sysdig API Token Storage
145
+
- SSM Parameter for Sysdig API Token Storage
146
146
- Sysdig Workload: ECS / AppRunner creation (EKS is pre-required, not created)
147
147
- each compute solution require a role to assume for execution
148
148
- CodeBuild for on-demand image scanning
@@ -223,6 +223,10 @@ It may take some time, but you should see logs detecting the new image in the EC
223
223
224
224
## Troubleshooting
225
225
226
+
## Q-Networking: What's the requirements for the inbound/outbound connection?
227
+
A: Refer to [Sysdig SASS Region and IP Ranges Documentation](https://docs.sysdig.com/en/docs/administration/saas-regions-and-ip-ranges/) to get Sysdig SaaS endpoint and allow both outbound (for compute vulnerability report) and inbound (for scheduled compliance checkups)
228
+
<br/>ECS type deployment will create following [security-group setup](https://github.com/sysdiglabs/terraform-aws-secure-for-cloud/blob/master/modules/services/cloud-connector-ecs/sec-group.tf)
229
+
226
230
## Q-General: Need to modify cloud-connector config (to troubleshoot with `debug` loglevel, modify ingestors for testing, ...)
227
231
A: both in ECS and AppRunner workload types, cloud-connector configuration is passed as a base64-encoded string through the env var `CONFIG`
228
232
<br/>S: Get current value, decode it, edit the desired (ex.:`logging: debug` value), encode it again, and spin it again with this new definition.
@@ -245,7 +249,7 @@ A: Need to check several steps
245
249
246
250
### Q-AWS: In the ECS compute flavor of secure for cloud, I don't see any logs in the cloud-connector component
247
251
A: This may be due to the task not beinb able to start, normally due not not having enough permissions to even fetch the secure apiToken, stored in the AWS SSM service.
248
-
<br/>S: Access the task and see if there is any value in the "Stoped Reason" field.
252
+
<br/>S: Access the task and see if there is any value in the "Stopped Reason" field.
249
253
250
254
### Q-AWS: Getting error "Error: failed creating ECS Task Definition: ClientException: No Fargate configuration exists for given values.
251
255
A: Your ECS task_size values aren't valid for Fargate. Specifically, your mem_limit value is too big for the cpu_limit you specified
| <aname="input_sysdig_secure_for_cloud_member_account_id"></a> [sysdig\_secure\_for\_cloud\_member\_account\_id](#input\_sysdig\_secure\_for\_cloud\_member\_account\_id)| organizational member account where the secure-for-cloud workload is going to be deployed |`string`| n/a | yes |
181
181
| <aname="input_benchmark_regions"></a> [benchmark\_regions](#input\_benchmark\_regions)| List of regions in which to run the benchmark. If empty, the task will contain all aws regions by default. |`list(string)`|`[]`| no |
182
-
| <aname="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. testing/economization purpose. |`bool`|`true`| no |
183
-
| <aname="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 |
184
-
| <aname="input_cloudtrail_s3_arn"></a> [cloudtrail\_s3\_arn](#input\_cloudtrail\_s3\_arn)| ARN of a pre-existing cloudtrail\_sns s3 bucket. Used together with `cloudtrail_sns_arn`, `cloudtrail_s3_arn`. If it does not exist, it will be inferred from create cloudtrail |`string`|`"create"`| no |
185
-
| <aname="input_cloudtrail_sns_arn"></a> [cloudtrail\_sns\_arn](#input\_cloudtrail\_sns\_arn)| ARN of a pre-existing cloudtrail\_sns. Used together with `cloudtrail_sns_arn`, `cloudtrail_s3_arn`. If it does not exist, it will be inferred from created cloudtrail. Providing an ARN requires permission to SNS:Subscribe, check ./modules/infrastructure/cloudtrail/sns\_permissions.tf block |`string`|`"create"`| no |
182
+
| <aname="input_cloudtrail_is_multi_region_trail"></a> [cloudtrail\_is\_multi\_region\_trail](#input\_cloudtrail\_is\_multi\_region\_trail)| true/false whether the created cloudtrail will ingest multi-regional events. testing/economization purpose. |`bool`|`true`| no |
183
+
| <aname="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 |
186
184
| <aname="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 |
187
185
| <aname="input_deploy_benchmark"></a> [deploy\_benchmark](#input\_deploy\_benchmark)| Whether to deploy or not the cloud benchmarking |`bool`|`true`| no |
188
186
| <aname="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 |
@@ -193,6 +191,7 @@ $ terraform apply
193
191
| <aname="input_ecs_vpc_id"></a> [ecs\_vpc\_id](#input\_ecs\_vpc\_id)| ID of the VPC where the workload is to be deployed. Defaulted to be created when `ecs_cluster_name is not provided.`|`string`|`"create"`| no |
194
192
| <aname="input_ecs_vpc_region_azs"></a> [ecs\_vpc\_region\_azs](#input\_ecs\_vpc\_region\_azs)| List of Availability Zones for ECS VPC creation. e.g.: ["apne1-az1", "apne1-az2"]. If defaulted, two of the default 'aws\_availability\_zones' datasource will be taken |`list(string)`|`[]`| no |
195
193
| <aname="input_ecs_vpc_subnets_private_ids"></a> [ecs\_vpc\_subnets\_private\_ids](#input\_ecs\_vpc\_subnets\_private\_ids)| List of VPC subnets where workload is to be deployed. Defaulted to be created when `ecs_cluster_name is not provided.`|`list(string)`|`[]`| no |
194
+
| <a name="input_existing_cloudtrail_config"></a> [existing\_cloudtrail\_config](#input\_existing\_cloudtrail\_config) | Optional block. If not set, a new cloudtrail, sns and sqs resources will be created<br/><br>If there's an existing cloudtrail, input mandatory attributes, and one of the 1, 2 or 3 grouped labeled optionals.<br><ul><br> <li>cloudtrail\_s3\_arn: Mandatory ARN of a pre-existing cloudtrail\_sns s3 bucket. Used together with `cloudtrail_sns_arn`, `cloudtrail_s3_arn`. If it does not exist, it will be inferred from create cloudtrail"</li><br> <li>cloudtrail\_sns\_arn: Optional 1. ARN of a pre-existing cloudtrail\_sns. Used together with `cloudtrail_sns_arn`, `cloudtrail_s3_arn`. If it does not exist, it will be inferred from created cloudtrail. Providing an ARN requires permission to SNS:Subscribe, check ./modules/infrastructure/cloudtrail/sns\_permissions.tf block</li><br> <li>cloudtrail\_s3\_role\_arn: Optional 2. ARN of the role to be assumed for S3 access. This role must be in the same account of the S3 bucket. Currently this setup is not compatible with organizational scanning feature</li><br> <li>cloudtrail\_s3\_sns\_sqs\_arn: Optional 3. ARN of the queue that will ingest events forwarded from an existing cloudtrail\_s3\_sns</li><br> <li>cloudtrail\_s3\_sns\_sqs\_url: Optional 3. URL of the queue that will ingest events forwarded from an existing cloudtrail\_s3\_sns<</li><br></ul> | <pre>object({<br> cloudtrail_s3_arn = optional(string)<br> cloudtrail_sns_arn = optional(string)<br> cloudtrail_s3_role_arn = optional(string)<br> cloudtrail_s3_sns_sqs_arn = optional(string)<br> cloudtrail_s3_sns_sqs_url = optional(string)<br> })</pre> | <pre>{<br> "cloudtrail_s3_arn": "create",<br> "cloudtrail_s3_role_arn": null,<br> "cloudtrail_s3_sns_sqs_arn": null,<br> "cloudtrail_s3_sns_sqs_url": null,<br> "cloudtrail_sns_arn": "create"<br>}</pre> | no |
196
195
| <aname="input_name"></a> [name](#input\_name)| Name to be assigned to all child resources. A suffix may be added internally when required. Use default value unless you need to install multiple instances |`string`|`"sfc"`| no |
197
196
| <aname="input_organizational_member_default_admin_role"></a> [organizational\_member\_default\_admin\_role](#input\_organizational\_member\_default\_admin\_role)| Default role created by AWS for management-account users to be able to admin member accounts.<br/>https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html|`string`|`"OrganizationAccountAccessRole"`| no |
198
197
| <aname="input_tags"></a> [tags](#input\_tags)| sysdig secure-for-cloud tags. always include 'product' default tag for resource-group proper functioning |`map(string)`| <pre>{<br> "product": "sysdig-secure-for-cloud"<br>}</pre> | no |
description="ARN of a pre-existing cloudtrail_sns. Used together with `cloudtrail_sns_arn`, `cloudtrail_s3_arn`. If it does not exist, it will be inferred from created cloudtrail. Providing an ARN requires permission to SNS:Subscribe, check ./modules/infrastructure/cloudtrail/sns_permissions.tf block"
36
-
}
37
-
38
-
variable"cloudtrail_s3_arn" {
39
-
type=string
40
-
default="create"
41
-
description="ARN of a pre-existing cloudtrail_sns s3 bucket. Used together with `cloudtrail_sns_arn`, `cloudtrail_s3_arn`. If it does not exist, it will be inferred from create cloudtrail"
42
-
}
43
-
44
31
variable"cloudtrail_is_multi_region_trail" {
45
32
type=bool
46
33
default=true
47
-
description="true/false whether cloudtrail will ingest multiregional events. testing/economization purpose."
34
+
description="true/false whether the created cloudtrail will ingest multi-regional events. testing/economization purpose."
48
35
}
49
36
50
37
variable"cloudtrail_kms_enable" {
51
38
type=bool
52
39
default=true
53
-
description="true/false whether cloudtrail delivered events to S3 should persist encrypted"
40
+
description="true/false whether the created cloudtrail should deliver encrypted events to s3"
41
+
}
42
+
43
+
44
+
variable"existing_cloudtrail_config" {
45
+
type=object({
46
+
cloudtrail_s3_arn =optional(string)
47
+
cloudtrail_sns_arn =optional(string)
48
+
cloudtrail_s3_role_arn =optional(string)
49
+
cloudtrail_s3_sns_sqs_arn =optional(string)
50
+
cloudtrail_s3_sns_sqs_url =optional(string)
51
+
})
52
+
default={
53
+
cloudtrail_s3_arn ="create"
54
+
cloudtrail_sns_arn ="create"
55
+
cloudtrail_s3_role_arn =null
56
+
cloudtrail_s3_sns_sqs_arn =null
57
+
cloudtrail_s3_sns_sqs_url =null
58
+
}
59
+
60
+
description=<<-EOT
61
+
Optional block. If not set, a new cloudtrail, sns and sqs resources will be created<br/>
62
+
If there's an existing cloudtrail, input mandatory attributes, and one of the 1, 2 or 3 grouped labeled optionals.
63
+
<ul>
64
+
<li>cloudtrail_s3_arn: Mandatory ARN of a pre-existing cloudtrail_sns s3 bucket. Used together with `cloudtrail_sns_arn`, `cloudtrail_s3_arn`. If it does not exist, it will be inferred from create cloudtrail"</li>
65
+
<li>cloudtrail_sns_arn: Optional 1. ARN of a pre-existing cloudtrail_sns. Used together with `cloudtrail_sns_arn`, `cloudtrail_s3_arn`. If it does not exist, it will be inferred from created cloudtrail. Providing an ARN requires permission to SNS:Subscribe, check ./modules/infrastructure/cloudtrail/sns_permissions.tf block</li>
66
+
<li>cloudtrail_s3_role_arn: Optional 2. ARN of the role to be assumed for S3 access. This role must be in the same account of the S3 bucket. Currently this setup is not compatible with organizational scanning feature</li>
67
+
<li>cloudtrail_s3_sns_sqs_arn: Optional 3. ARN of the queue that will ingest events forwarded from an existing cloudtrail_s3_sns</li>
68
+
<li>cloudtrail_s3_sns_sqs_url: Optional 3. URL of the queue that will ingest events forwarded from an existing cloudtrail_s3_sns<</li>
0 commit comments