<mxfile host="65bd71144e">
    <diagram id="s3tables_l3_diagram" name="Page-1">
        <mxGraphModel dx="1060" dy="418" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1700" pageHeight="1100" background="#FFFFFF" math="0" shadow="0">
            <root>
                <mxCell id="0"/>
                <mxCell id="1" parent="0"/>
                <mxCell id="boundary" value="" style="rounded=1;whiteSpace=wrap;html=1;fontSize=20;fillColor=none;arcSize=2;dashed=1;" parent="1" vertex="1">
                    <mxGeometry x="161" y="240" width="1200" height="640" as="geometry"/>
                </mxCell>
                <mxCell id="deployed" value="Deployed Resources" style="rounded=1;whiteSpace=wrap;html=1;fontSize=20;fillColor=none;arcSize=2;dashed=1;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" parent="1" vertex="1">
                    <mxGeometry x="430" y="300" width="620" height="520" as="geometry"/>
                </mxCell>
                <mxCell id="tablebucket_group" value="Table Bucket" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=none;arcSize=6;dashed=1;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" parent="1" vertex="1">
                    <mxGeometry x="640" y="320" width="380" height="360" as="geometry"/>
                </mxCell>
                <mxCell id="account" value="Deployment/Target&lt;br style=&quot;font-size: 20px;&quot;&gt;Account" style="outlineConnect=0;dashed=0;verticalLabelPosition=middle;verticalAlign=middle;align=left;html=1;shape=mxgraph.aws3.cloud_2;fillColor=#F58534;gradientColor=none;labelPosition=right;fontSize=20;" parent="1" vertex="1">
                    <mxGeometry x="160" y="240" width="60" height="60" as="geometry"/>
                </mxCell>
                <mxCell id="deploy_edge" value="Deploy" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=20;" parent="1" source="cdk" target="deployed" edge="1">
                    <mxGeometry relative="1" as="geometry">
                        <mxPoint x="288" y="483" as="sourcePoint"/>
                        <mxPoint x="430" y="483" as="targetPoint"/>
                    </mxGeometry>
                </mxCell>
                <mxCell id="cdk" value="MDAA/CDK" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=20;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloud_development_kit;" parent="1" vertex="1">
                    <mxGeometry x="210" y="410" width="78" height="78" as="geometry"/>
                </mxCell>
                <mxCell id="kmskey" value="Table Bucket&lt;br&gt;KMS Key&lt;br&gt;(per-bucket or BYOK)" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.key_management_service;" parent="1" vertex="1">
                    <mxGeometry x="466" y="360" width="78" height="78" as="geometry"/>
                </mxCell>
                <mxCell id="encrypts_edge" value="Encrypts" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=14;" parent="1" source="kmskey" target="tablebucket" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
                <mxCell id="tablebucket" value="Table Bucket&lt;br&gt;(AWS::S3Tables)" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;gradientColor=#60A337;gradientDirection=north;fillColor=#277116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" parent="1" vertex="1">
                    <mxGeometry x="700" y="350" width="78" height="78" as="geometry"/>
                </mxCell>
                <mxCell id="namespace" value="Namespace(s)" style="sketch=0;outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.folder;fillColor=#277116;strokeColor=none;" parent="1" vertex="1">
                    <mxGeometry x="700" y="480" width="70" height="60" as="geometry"/>
                </mxCell>
                <mxCell id="contains_ns" value="Contains" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=14;" parent="1" source="tablebucket" target="namespace" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
                <mxCell id="table" value="Iceberg&lt;br&gt;Table(s)" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;gradientColor=#60A337;gradientDirection=north;fillColor=#277116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.simple_storage_service_s3_object;" parent="1" vertex="1">
                    <mxGeometry x="900" y="480" width="78" height="78" as="geometry"/>
                </mxCell>
                <mxCell id="dependson_edge" value="DependsOn" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=14;dashed=1;" parent="1" source="table" target="namespace" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
                <mxCell id="bucketpolicy_group" value="Table Bucket&#10;Policy" style="group;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;fontSize=14;" parent="1" vertex="1" connectable="0">
                    <mxGeometry x="701" y="720" width="80" height="80" as="geometry"/>
                </mxCell>
                <mxCell id="bucketpolicy_box" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=14;verticalAlign=top;fillColor=#277116;strokeColor=#ffffff;fontColor=#232F3E;sketch=0;gradientColor=#60A337;gradientDirection=north;dashed=0;fontStyle=0;" parent="bucketpolicy_group" vertex="1">
                    <mxGeometry width="80" height="80" as="geometry"/>
                </mxCell>
                <mxCell id="bucketpolicy_icon" value="" style="sketch=0;outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.policy;gradientDirection=north;" parent="bucketpolicy_group" vertex="1">
                    <mxGeometry x="7.110000000000014" y="13" width="65.78" height="56.5" as="geometry"/>
                </mxCell>
                <mxCell id="bucketpolicy_applied" value="deny-non-TLS +&#10;deny-by-default +&#10;grants" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;" parent="1" source="bucketpolicy_box" target="tablebucket" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
                <mxCell id="tablepolicy_group" value="Table&#10;Policy&#10;(per table)" style="group;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;fontSize=14;" parent="1" vertex="1" connectable="0">
                    <mxGeometry x="909" y="720" width="80" height="80" as="geometry"/>
                </mxCell>
                <mxCell id="tablepolicy_box" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=14;verticalAlign=top;fillColor=#277116;strokeColor=#ffffff;fontColor=#232F3E;sketch=0;gradientColor=#60A337;gradientDirection=north;dashed=0;fontStyle=0;" parent="tablepolicy_group" vertex="1">
                    <mxGeometry width="80" height="80" as="geometry"/>
                </mxCell>
                <mxCell id="tablepolicy_icon" value="" style="sketch=0;outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=14;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.policy;gradientDirection=north;" parent="tablepolicy_group" vertex="1">
                    <mxGeometry x="7.110000000000014" y="13" width="65.78" height="56.5" as="geometry"/>
                </mxCell>
                <mxCell id="tablepolicy_applied" value="deny-non-TLS +&#10;table grants" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;" parent="1" source="tablepolicy_box" target="table" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
                <mxCell id="roles_group" value="Reader / Writer / Admin&#10;IAM Roles" style="group;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;fontSize=16;" parent="1" vertex="1" connectable="0">
                    <mxGeometry x="1120" y="470" width="72" height="68" as="geometry"/>
                </mxCell>
                <mxCell id="roles_box" value="" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#C7131F;strokeColor=#ffffff;fontColor=#232F3E;sketch=0;gradientColor=#F54749;gradientDirection=north;dashed=0;fontStyle=0;" parent="roles_group" vertex="1">
                    <mxGeometry width="72" height="68" as="geometry"/>
                </mxCell>
                <mxCell id="roles_icon" value="" style="sketch=0;outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.role;" parent="roles_group" vertex="1">
                    <mxGeometry x="5" y="17" width="60.27" height="34" as="geometry"/>
                </mxCell>
                <mxCell id="grant_edge" value="Granted access&#10;via policies" style="edgeStyle=orthogonalEdgeStyle;html=1;rounded=0;fontSize=12;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="roles_box" target="bucketpolicy_box" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
                <mxCell id="keyuser_edge" value="Key user grant" style="edgeStyle=orthogonalEdgeStyle;html=1;rounded=0;fontSize=12;" parent="1" source="roles_box" target="kmskey" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
                <mxCell id="maint_principal" value="S3 Tables&#10;Maintenance&#10;Principal" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0]];outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management_iam;" parent="1" vertex="1">
                    <mxGeometry x="255" y="620" width="66" height="66" as="geometry"/>
                </mxCell>
                <mxCell id="maint_edge" value="Decrypt/GenerateDataKey&#10;(construct-created keys,&#10;scoped by encryption context)" style="edgeStyle=orthogonalEdgeStyle;html=1;rounded=0;fontSize=11;dashed=1;" parent="1" source="maint_principal" target="kmskey" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
                <mxCell id="ssm" value="SSM Parameter&#10;Store" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=13;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.systems_manager_parameter_store;" parent="1" vertex="1">
                    <mxGeometry x="1200" y="700" width="78" height="78" as="geometry"/>
                </mxCell>
                <mxCell id="export_edge" value="Exports ARNs / names&#10;for cross-stack discovery" style="edgeStyle=orthogonalEdgeStyle;html=1;rounded=0;fontSize=11;dashed=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="tablebucket" target="ssm" edge="1">
                    <mxGeometry relative="1" as="geometry"/>
                </mxCell>
            </root>
        </mxGraphModel>
    </diagram>
</mxfile>
