|
1 | 1 | # diagrams as code vía https://diagrams.mingrammer.com
|
2 | 2 | from diagrams import Diagram, Cluster, Diagram, Edge, Node
|
| 3 | +from diagrams.custom import Custom |
3 | 4 | from diagrams.aws.general import General
|
4 | 5 | from diagrams.aws.management import Cloudtrail
|
5 | 6 | from diagrams.aws.storage import S3, SimpleStorageServiceS3Bucket
|
|
35 | 36 | with Cluster("master account"):
|
36 | 37 |
|
37 | 38 |
|
38 |
| - cloudtrail = Cloudtrail("cloudtrail", shape="plaintext") |
39 |
| - cloudtrail_legend = ("for clarity purpose events received from 'secure for cloud' member account\n\ |
| 39 | + cloudtrail = Cloudtrail("cloudtrail", shape="plaintext") |
| 40 | + cloudtrail_legend = ("for clarity purpose events received from 'secure for cloud' member account\n\ |
40 | 41 | and master account have been removed from diagram, but will be processed too ")
|
| 42 | + |
41 | 43 | Node(label=cloudtrail_legend, width="5",shape="plaintext", labelloc="t", fontsize="10")
|
42 | 44 |
|
43 |
| - master_credentials = IAM("credentials \npermissions: cloudtrail, role creation,...", fontsize="10") |
44 |
| - secure_for_cloud_role = IAMRole("SysdigSecureForCloudRole", **role_attr) |
45 |
| - cloudtrail_s3 = S3("cloudtrail-s3-events") |
46 |
| - sns = SNS("cloudtrail-sns-events", comment="i'm a graph") |
| 45 | + master_credentials = IAM("credentials \npermissions: cloudtrail, role creation,...", fontsize="10") |
| 46 | + secure_for_cloud_role = IAMRole("SysdigSecureForCloudRole", **role_attr) |
| 47 | + cloudtrail_s3 = S3("cloudtrail-s3-events") |
| 48 | + sns = SNS("cloudtrail-sns-events", comment="i'm a graph") |
47 | 49 |
|
48 | 50 | cloudtrail >> Edge(color=event_color, style="dashed") >> cloudtrail_s3 >> Edge(color=event_color, style="dashed") >> sns
|
49 | 51 |
|
|
56 | 58 | with Cluster("ecs-cluster"):
|
57 | 59 | cloud_connector = ElasticContainerServiceService("cloud-connector")
|
58 | 60 |
|
59 |
| - sqs = SQS("cloudtrail-sqs") |
60 |
| - s3_config = S3("cloud-connector-config") |
61 |
| - cloudwatch = Cloudwatch("cloudwatch\nlogs and alarms") |
| 61 | + sqs = SQS("cloudtrail-sqs") |
| 62 | + s3_config = S3("cloud-connector-config") |
| 63 | + cloudwatch = Cloudwatch("cloudwatch\nlogs and alarms") |
62 | 64 |
|
63 | 65 | sqs << Edge(color=event_color) << cloud_connector
|
64 | 66 | cloud_connector - s3_config
|
65 |
| - cloud_connector - cloudwatch |
| 67 | + cloud_connector >> cloudwatch |
66 | 68 |
|
67 | 69 |
|
68 | 70 | member_accounts >> Edge(color=event_color, style="dashed") >> cloudtrail
|
69 | 71 | sns >> Edge(color=event_color, style="dashed") >> sqs
|
70 | 72 | # cloudtrail_s3 << Edge(color=event_color) << cloud_connector
|
71 | 73 | (cloudtrail_s3 << Edge(color=event_color) << secure_for_cloud_role) - Edge(xlabel="assumeRole", color=event_color) - cloud_connector
|
| 74 | + |
| 75 | + with Cluster("AWS account (sysdig)"): |
| 76 | + sds = Custom("Sysdig Secure", "../../resources/diag-sysdig-icon.png") |
| 77 | + |
| 78 | + cloud_connector >> sds |
0 commit comments