Skip to content

Commit e8e7d1d

Browse files
feat: SSPROD-9467 CloudFormation template changes for provisioning agentless role (#53)
1 parent e2bd083 commit e8e7d1d

File tree

4 files changed

+69
-273
lines changed

4 files changed

+69
-273
lines changed

templates/CloudAgentlessRole.yaml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
AWSTemplateFormatVersion: "2010-09-09"
2+
Description: IAM Role for Agentless
3+
Parameters:
4+
SysdigRoleName:
5+
Type: String
6+
Default: "SysdigAgentlessRole"
7+
Description: Unique role for monitoring AWS accounts
8+
SysdigExternalID:
9+
Type: String
10+
Description: ExternalID required for the policy
11+
SysdigTrustedIdentity:
12+
Type: String
13+
Description: Trusted identity required for policy
14+
15+
Resources:
16+
CloudAgentlessRole:
17+
Type: "AWS::IAM::Role"
18+
Properties:
19+
RoleName: !Ref SysdigRoleName
20+
AssumeRolePolicyDocument:
21+
Version: "2012-10-17"
22+
Statement:
23+
-
24+
Effect: "Allow"
25+
Principal:
26+
AWS: !Ref SysdigTrustedIdentity
27+
Action: "sts:AssumeRole"
28+
Condition:
29+
StringEquals:
30+
sts:ExternalId: !Ref SysdigExternalID
31+
ManagedPolicyArns:
32+
- arn:aws:iam::aws:policy/SecurityAudit

templates/CloudBench.yaml

Lines changed: 0 additions & 246 deletions
This file was deleted.

templates/CloudVision.yaml

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ Metadata:
99
Parameters:
1010
- SysdigSecureEndpoint
1111
- SysdigSecureAPIToken
12+
- SysdigRoleName
13+
- SysdigExternalID
14+
- SysdigTrustedIdentity
1215

1316
- Label:
1417
default: "Modules to Deploy"
1518
Parameters:
16-
- CloudBenchDeploy
1719
- CloudConnectorDeploy
1820
- ECRImageScanningDeploy
1921
- ECSImageScanningDeploy
@@ -31,8 +33,12 @@ Metadata:
3133
default: "Sysdig Secure Endpoint"
3234
SysdigSecureAPIToken:
3335
default: "Sysdig Secure API Token"
34-
CloudBenchDeploy:
35-
default: "Do you want to deploy Cloud Security Posture Management / Compliance?"
36+
SysdigRoleName:
37+
default: "Sysdig Role Name"
38+
SysdigExternalID:
39+
default: "Sysdig External ID"
40+
SysdigTrustedIdentity:
41+
default: "Sysdig Trusted Identity"
3642
CloudConnectorDeploy:
3743
default: "Do you want to deploy Real-Time Threat Investigation based on CloudTrail?"
3844
ECRImageScanningDeploy:
@@ -49,13 +55,6 @@ Metadata:
4955
default: "CloudTrail SNS Topic"
5056

5157
Parameters:
52-
CloudBenchDeploy:
53-
Type: String
54-
AllowedValues:
55-
- "Yes"
56-
- "No"
57-
Default: "Yes"
58-
5958
CloudConnectorDeploy:
6059
Type: String
6160
AllowedValues:
@@ -100,6 +99,22 @@ Parameters:
10099
SysdigSecureEndpoint:
101100
Type: String
102101
Default: "https://secure.sysdig.com"
102+
SysdigRoleName:
103+
Type: String
104+
Default: "SysdigAgentlessRole"
105+
SysdigExternalID:
106+
Type: String
107+
Default: ""
108+
SysdigTrustedIdentity:
109+
Type: String
110+
Default: ""
111+
112+
CreateSysdigRole:
113+
Type: String
114+
AllowedValues:
115+
- "Yes"
116+
- "No"
117+
Default: "No"
103118

104119
Conditions:
105120
RequiresCloudTrail: !Equals [!Ref ExistentCloudTrailSNSTopic, ""]
@@ -108,7 +123,6 @@ Conditions:
108123
- !Equals [!Ref ExistentECSClusterVPC, ""]
109124
- !Equals [!Join [",", !Ref ExistentECSClusterPrivateSubnets], ""]
110125
DeployCloudConnector: !Equals [!Ref CloudConnectorDeploy, "Yes"]
111-
DeployCloudBench: !Equals [ !Ref CloudBenchDeploy, "Yes" ]
112126
DeployCloudScanning: !Or
113127
- !Equals [!Ref ECRImageScanningDeploy, "Yes"]
114128
- !Equals [!Ref ECSImageScanningDeploy, "Yes"]
@@ -122,11 +136,11 @@ Conditions:
122136
- !Or
123137
- !Condition DeployCloudConnector
124138
- !Condition DeployCloudScanning
125-
- !Condition DeployCloudBench
126139
EndpointIsSaas: !Or
127140
- !Equals [!Ref SysdigSecureEndpoint, "https://secure.sysdig.com"]
128141
- !Equals [!Ref SysdigSecureEndpoint, "https://eu1.app.sysdig.com"]
129142
- !Equals [!Ref SysdigSecureEndpoint, "https://us2.app.sysdig.com"]
143+
RequireSysdigRole: !Equals [ !Ref CreateSysdigRole, "Yes" ]
130144

131145
Resources:
132146
S3ConfigBucket:
@@ -220,16 +234,12 @@ Resources:
220234
BuildProject: !GetAtt [ "ScanningCodeBuildStack", "Outputs.BuildProject" ]
221235
CloudTrailTopic: !If [ DeployCloudTrail, !GetAtt ["CloudTrailStack", "Outputs.Topic"], !Ref ExistentCloudTrailSNSTopic ]
222236

223-
CloudBenchStack:
237+
CloudAgentlessRole:
224238
Type: AWS::CloudFormation::Stack
225-
Condition: DeployCloudBench
239+
Condition: RequireSysdigRole
226240
Properties:
227-
TemplateURL: ./CloudBench.yaml
241+
TemplateURL: ./CloudAgentlessRole.yaml
228242
Parameters:
229-
ECSCluster: !If [ DeployNewECSCluster, !GetAtt [ "ECSFargateClusterStack", "Outputs.ClusterName" ], !Ref ExistentECSCluster ]
230-
VPC: !If [ DeployNewECSCluster, !GetAtt [ "ECSFargateClusterStack", "Outputs.VPC" ], !Ref ExistentECSClusterVPC ]
231-
Subnets: !If [ DeployNewECSCluster, !GetAtt [ "ECSFargateClusterStack", "Outputs.PrivateSubnets" ], !Join [ ",", !Ref ExistentECSClusterPrivateSubnets ] ]
232-
SysdigSecureEndpointSsm: !Ref SysdigSecureEndpointParameter
233-
SysdigSecureAPITokenSsm: !Ref SysdigSecureAPITokenParameter
234-
S3ConfigBucket: !Ref S3ConfigBucket
235-
VerifySSL: !If [ EndpointIsSaas, "Yes", "No" ]
243+
SysdigRoleName: !Ref SysdigRoleName
244+
SysdigExternalID: !Ref SysdigExternalID
245+
SysdigTrustedIdentity: !Ref SysdigTrustedIdentity

0 commit comments

Comments
 (0)