Files
document-haness/docs/clean-architecture-backend-template/final/assets/diagrams/rls-three-preconditions/rls-three-preconditions.drawio
T

37 lines
3.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" modified="2026-07-23T00:00:00.000Z" agent="techviz-harness" version="24.7.17" type="device">
<diagram id="rls-three-preconditions" name="PostgreSQL RLS 적용 여부를 가르는 분기">
<mxGraphModel dx="860" dy="300" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="860" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="g_role" value="policy 적용 대상 판정" style="swimlane;html=1;rounded=1;startSize=30;horizontal=1;dashed=1;strokeWidth=1.5;fillColor=#f7f9fb;strokeColor=#66788a;fontStyle=1;fontSize=13;" vertex="1" parent="1">
<mxGeometry x="45.0" y="49.0" width="470.0" height="177.0" as="geometry"/>
</mxCell>
<mxCell id="g_policy-zone" value="policy 존재와 평가" style="swimlane;html=1;rounded=1;startSize=30;horizontal=1;dashed=1;strokeWidth=1.5;fillColor=#f7f9fb;strokeColor=#66788a;fontStyle=1;fontSize=13;" vertex="1" parent="1">
<mxGeometry x="565.0" y="49.0" width="250.0" height="160.0" as="geometry"/>
</mxCell>
<mxCell id="n_rls" value="RLS 활성 여부&lt;br/&gt;no → policy 미적용" tooltip="process | Evidence: L7400-L7432" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="75.0" y="95.0" width="190.0" height="71.0" as="geometry"/>
</mxCell>
<mxCell id="n_subject" value="policy 적용 대상&lt;br/&gt;superuser / BYPASSRLS → 우회&lt;br/&gt;owner + FORCE off → 우회&lt;br/&gt;non-owner 또는 owner + FORCE on → 대상" tooltip="process | Evidence: L7400-L7432" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="295.0" y="95.0" width="190.0" height="105.0" as="geometry"/>
</mxCell>
<mxCell id="n_policy" value="applicable policy&lt;br/&gt;none → default deny&lt;br/&gt;exists → USING / WITH CHECK 평가" tooltip="process | Evidence: L7400-L7432" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;strokeColor=#2563eb;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="595.0" y="95.0" width="190.0" height="88.0" as="geometry"/>
</mxCell>
<mxCell id="e_e1" value="RLS on" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="n_rls" target="n_subject">
<mxGeometry relative="1" as="geometry">
<mxPoint x="271.5" y="31.0" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="e_e2" value="적용" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="n_subject" target="n_policy">
<mxGeometry relative="1" as="geometry">
<mxPoint x="564.0" y="143.2" as="offset"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>