Skip to content

Commit bb57794

Browse files
author
iru
authored
chore(permissions): optional org role (#37)
* chore(permissions): homogeneize eks with ecs
1 parent a5e0a32 commit bb57794

File tree

6 files changed

+10
-24
lines changed

6 files changed

+10
-24
lines changed

examples-internal/organizational-k8s-threat-reuse_cloudtrail/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Notice that:
108108
| <a name="input_cloudtrail_s3_sns_sqs_url"></a> [cloudtrail\_s3\_sns\_sqs\_url](#input\_cloudtrail\_s3\_sns\_sqs\_url) | Organization cloudtrail event notification S3-SNS-SQS URL to listen to | `string` | n/a | yes |
109109
| <a name="input_sysdig_secure_api_token"></a> [sysdig\_secure\_api\_token](#input\_sysdig\_secure\_api\_token) | Sysdig Secure API token | `string` | n/a | yes |
110110
| <a name="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 |
111-
| <a name="input_organization_managed_role_arn"></a> [organization\_managed\_role\_arn](#input\_organization\_managed\_role\_arn) | `sysdig_secure_for_cloud_role_arn` for cloud-connector assumeRole in order to read cloudtrail s3 events</li><li>and the `connector_ecs_task_role_name` which has been granted trusted-relationship over the secure\_for\_cloud\_role | `string` | `"none"` | no |
111+
| <a name="input_organization_managed_role_arn"></a> [organization\_managed\_role\_arn](#input\_organization\_managed\_role\_arn) | for cloud-connector assumeRole in order to read cloudtrail s3 events | `string` | `"none"` | no |
112112
| <a name="input_region"></a> [region](#input\_region) | Default region for resource creation in both organization master and secure-for-cloud member account | `string` | `"eu-central-1"` | no |
113113
| <a name="input_sysdig_secure_endpoint"></a> [sysdig\_secure\_endpoint](#input\_sysdig\_secure\_endpoint) | Sysdig Secure API endpoint | `string` | `"https://secure.sysdig.com"` | no |
114114
| <a name="input_tags"></a> [tags](#input\_tags) | sysdig secure-for-cloud tags | `map(string)` | <pre>{<br> "product": "sysdig-secure-for-cloud"<br>}</pre> | no |

examples-internal/organizational-k8s-threat-reuse_cloudtrail/cloud-connector.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ logging: info
4646
ingestors:
4747
- aws-cloudtrail-s3-sns-sqs:
4848
queueURL: ${var.cloudtrail_s3_sns_sqs_url}
49-
assumeRole: ${var.organization_managed_role_arn}
49+
%{if var.organization_managed_role_arn != "none"}assumeRole: ${var.organization_managed_role_arn}
50+
%{endif~}
5051
CONFIG
5152
]
5253
}

examples-internal/organizational-k8s-threat-reuse_cloudtrail/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ variable "aws_secret_access_key" {
2929

3030
variable "organization_managed_role_arn" {
3131
type = string
32-
description = "`sysdig_secure_for_cloud_role_arn` for cloud-connector assumeRole in order to read cloudtrail s3 events</li><li>and the `connector_ecs_task_role_name` which has been granted trusted-relationship over the secure_for_cloud_role"
32+
description = "for cloud-connector assumeRole in order to read cloudtrail s3 events"
3333
default = "none"
3434
}
3535

modules/infrastructure/permissions/cloud-connector/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ No modules.
2525
| [aws_iam_user_policy.cloud_connector](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy) | resource |
2626
| [aws_iam_policy_document.cloud_connector](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
2727
| [aws_iam_user.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_user) | data source |
28-
| [aws_region.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
2928

3029
## Inputs
3130

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
data "aws_region" "this" {}
2-
31
data "aws_iam_user" "this" {
42
user_name = var.sfc_user_name
53
}

modules/infrastructure/permissions/cloud-connector/main.tf

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ data "aws_iam_policy_document" "cloud_connector" {
99
sid = "AllowReadCloudtrailS3"
1010
effect = "Allow"
1111
actions = [
12-
"s3:GetObject",
1312
"s3:ListBucket",
13+
"s3:GetObject"
1414
]
1515
resources = [var.cloudtrail_s3_bucket_arn]
16-
}
16+
# var.cloudtrail_s3_bucket_arn,
17+
# "${var.cloudtrail_s3_bucket_arn}/*"
1718

19+
}
1820

1921
statement {
2022
sid = "AllowReadWriteCloudtrailSubscribedSQS"
@@ -27,30 +29,16 @@ data "aws_iam_policy_document" "cloud_connector" {
2729
resources = [var.cloudtrail_subscribed_sqs_arn]
2830
}
2931

30-
31-
statement {
32-
sid = "AllowReadSecurityHub"
33-
effect = "Allow"
34-
actions = [
35-
"securityhub:GetFindings",
36-
"securityhub:BatchImportFindings",
37-
]
38-
resources = ["arn:aws:securityhub:${data.aws_region.this.name}::product/sysdig/sysdig-cloud-connector"]
39-
# TODO. make an input-var out of this
40-
}
41-
42-
32+
# required for EKS
4333
statement {
4434
sid = "AllowCloudwatchLogManagement"
4535
effect = "Allow"
4636
actions = [
47-
"logs:CreateLogStream",
4837
"logs:DescribeLogStreams",
4938
"logs:GetLogEvents",
5039
"logs:FilterLogEvents",
51-
"logs:PutLogEvents",
5240
]
5341
resources = ["*"]
54-
# TODO. make an input-var out of this. make it more specific "arn:aws:logs:eu-central-1:522353683035:log-group:test:*"
42+
# TODO. make an input-var out of this. make it more specific "arn:aws:logs:*:*:log-group:test:*"
5543
}
5644
}

0 commit comments

Comments
 (0)