Skip to content

Commit 8bf2c90

Browse files
authored
Merge pull request #7916 from zalando-incubator/session-manager-logging
Add Session Manager logging CF
2 parents 1750992 + 15de866 commit 8bf2c90

File tree

4 files changed

+81
-0
lines changed

4 files changed

+81
-0
lines changed

cluster/cluster.yaml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,13 @@ Resources:
482482
- "ssmmessages:OpenDataChannel"
483483
Effect: Allow
484484
Resource: "*"
485+
- Action:
486+
- "logs:CreateLogStream"
487+
- "logs:PutLogEvents"
488+
- "logs:DescribeLogGroups"
489+
- "logs:DescribeLogStreams"
490+
Effect: Allow
491+
Resource: "*"
485492
{{ if eq .Cluster.Environment "e2e" }}
486493
# Add extra permissions to worker IAM role to test that if a pod manages to get
487494
# the WorkerIAMRole assigned it can list a specific s3 bucket.
@@ -1417,6 +1424,13 @@ Resources:
14171424
- "ssmmessages:OpenDataChannel"
14181425
Effect: Allow
14191426
Resource: "*"
1427+
- Action:
1428+
- "logs:CreateLogStream"
1429+
- "logs:PutLogEvents"
1430+
- "logs:DescribeLogGroups"
1431+
- "logs:DescribeLogStreams"
1432+
Effect: Allow
1433+
Resource: "*"
14201434
Version: 2012-10-17
14211435
PolicyName: root
14221436
Type: 'AWS::IAM::Role'
@@ -2108,6 +2122,66 @@ Resources:
21082122
- BucketArn: !GetAtt AuditTrailBucket.Arn
21092123
{{- end }}
21102124

2125+
SessionManagerLogGroup:
2126+
Type: AWS::Logs::LogGroup
2127+
Properties:
2128+
LogGroupName: "SessionManagerLogGroup-{{accountID .Cluster.InfrastructureAccount}}"
2129+
RetentionInDays: 30
2130+
2131+
SessionManagerPreferencesDocument:
2132+
Type: AWS::SSM::Document
2133+
Properties:
2134+
UpdateMethod: NewVersion
2135+
Name: SSM-SessionManagerRunShell
2136+
DocumentFormat: YAML
2137+
DocumentType: Session
2138+
Content:
2139+
schemaVersion: '1.0'
2140+
description: Document to hold regional settings for Session Manager
2141+
sessionType: Standard_Stream
2142+
inputs:
2143+
cloudWatchLogGroupName: !Ref SessionManagerLogGroup
2144+
cloudWatchEncryptionEnabled: false
2145+
cloudWatchStreamingEnabled: true
2146+
runAsEnabled: false
2147+
idleSessionTimeout: '20'
2148+
shellProfile:
2149+
linux: 'bash'
2150+
2151+
SessionManagerSubscriptionFilter:
2152+
Type: AWS::Logs::SubscriptionFilter
2153+
Properties:
2154+
LogGroupName: !Ref SessionManagerLogGroup
2155+
RoleArn: !GetAtt SessionManagerSubscriptionFilterRole.Arn
2156+
FilterName: "SessionManagerSubscriptionFilter-{{accountID .Cluster.InfrastructureAccount}}"
2157+
FilterPattern: ""
2158+
DestinationArn: "{{.Cluster.ConfigItems.session_manager_destination_arn}}"
2159+
2160+
SessionManagerSubscriptionFilterRole:
2161+
Type: AWS::IAM::Role
2162+
Properties:
2163+
AssumeRolePolicyDocument:
2164+
Version: "2012-10-17"
2165+
Statement:
2166+
- Effect: Allow
2167+
Principal:
2168+
Service:
2169+
- logs.amazonaws.com
2170+
Action:
2171+
- "sts:AssumeRole"
2172+
Path: /
2173+
Policies:
2174+
- PolicyName: root
2175+
PolicyDocument:
2176+
Version: "2012-10-17"
2177+
Statement:
2178+
- Effect: Allow
2179+
Action:
2180+
- "logs:PutLogEvents"
2181+
Resource:
2182+
- !GetAtt SessionManagerLogGroup.Arn
2183+
RoleName: "SessionManagerSubscriptionFilterRole"
2184+
21112185
AWSNodeDecommissionerIAMRole:
21122186
Type: 'AWS::IAM::Role'
21132187
Properties:

delivery.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ pipeline:
105105
secretKeyRef:
106106
name: kubernetes-e2e-config-secret
107107
key: "AUDITTRAIL_ROOT_ACCOUNT_ROLE"
108+
- name: SESSION_MANAGER_DESTINATION_ARN
109+
valueFrom:
110+
secretKeyRef:
111+
name: kubernetes-e2e-config-secret
112+
key: "SESSION_MANAGER_DESTINATION_ARN"
108113
- name: APISERVER_BUSINESS_PARTNER_IDS
109114
valueFrom:
110115
secretKeyRef:

test/e2e/apply/secret.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ data:
1818
ETCD_CLIENT_CA_KEY: "deployment-secret:2:stups-test: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"
1919
ETCD_SCALYR_KEY: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwETRzvm1hGplyUn23FEXUVtAAAAnjCBmwYJKoZIhvcNAQcGoIGNMIGKAgEAMIGEBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDOfPJJJy60sDkZEIHgIBEIBXiANNciEqpcuZ3hFPCt6NkFtk0WBTSasDQHHbyuR8O+n5iM9k8/nUTLUrFlhba8blArq/ALE8vuKNdlS17q6PxGlvwJFFXQn/McohMpdyfnfQYKW8MPCu"
2020
OKTA_AUTH_ISSUER_URL: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwGmCMhSN2Er1sw2ofYnI44EAAAApDCBoQYJKoZIhvcNAQcGoIGTMIGQAgEAMIGKBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDO2IC+r/zcUzXoQEHAIBEIBdrFchwu9i7LpMbyDbslu/lBxvfyh+nCGK33jtcxT3RdxuTXWuSJhkX+gU4cgFXAI5LLnXh4M20jHUEEPU78MJWR47HLTPGPJcKQj5fOpPqpD3duuKIrZDRm5ba6AN"
21+
SESSION_MANAGER_DESTINATION_ARN: "deployment-secret:2:stups-test:AQICAHjXIrc66g/+P4X1Gl4MKcInWmwpFxivAqFGMI0fr9DvCwF7fOZ9i6BDvWdNEddR7LZOAAAArjCBqwYJKoZIhvcNAQcGoIGdMIGaAgEAMIGUBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDBJwU/Zns+mzOBgczQIBEIBn/86xpnVO2Apr5nG3waPEAGCFYDWdOXcaS7pFKdNIhpXaADtODQtEd874HcE0W2I3bjKr3d3ghJFdN8r0BZiSmTbgc0fn+5ZiBTyGBfzWP4BCzxjRMvURl/7MX8ygwL78hpSxyRypAQ=="

test/e2e/cluster_config.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ clusters:
1111
zmon_root_account_role: ${ZMON_ROOT_ACCOUNT_ROLE}
1212
experimental_new_etcd_stack: "true"
1313
audittrail_root_account_role: ${AUDITTRAIL_ROOT_ACCOUNT_ROLE}
14+
session_manager_destination_arn: ${SESSION_MANAGER_DESTINATION_ARN}
1415
apiserver_etcd_prefix: /registry-${LOCAL_ID}
1516
apiserver_business_partner_ids: ${APISERVER_BUSINESS_PARTNER_IDS}
1617
etcd_s3_backup_bucket: zalando-kubernetes-etcd-${AWS_ACCOUNT}-${REGION}

0 commit comments

Comments
 (0)