open-consul/contributing/acl/erd.svg

1 line
21 KiB
XML

<svg id="graph-div" width="100%" xmlns="http://www.w3.org/2000/svg" height="808" style="max-width: 905.6640625px;" viewBox="0 0 905.6640625 808"><style>#graph-div{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#graph-div .error-icon{fill:#552222;}#graph-div .error-text{fill:#552222;stroke:#552222;}#graph-div .edge-thickness-normal{stroke-width:2px;}#graph-div .edge-thickness-thick{stroke-width:3.5px;}#graph-div .edge-pattern-solid{stroke-dasharray:0;}#graph-div .edge-pattern-dashed{stroke-dasharray:3;}#graph-div .edge-pattern-dotted{stroke-dasharray:2;}#graph-div .marker{fill:#333333;stroke:#333333;}#graph-div .marker.cross{stroke:#333333;}#graph-div svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#graph-div .entityBox{fill:#ECECFF;stroke:#9370DB;}#graph-div .attributeBoxOdd{fill:#ffffff;stroke:#9370DB;}#graph-div .attributeBoxEven{fill:#f2f2f2;stroke:#9370DB;}#graph-div .relationshipLabelBox{fill:hsl(80,100%,96.2745098039%);opacity:0.7;background-color:hsl(80,100%,96.2745098039%);}#graph-div .relationshipLabelBox rect{opacity:0.5;}#graph-div .relationshipLine{stroke:#333333;}#graph-div .node rect,#graph-div .er.entityBox{fill:rgb(220,71,125);stroke-width:1;stroke:black;}#graph-div .node .label{color:white;}#graph-div .cluster rect{fill:#f0f0f0;stroke-width:1px;stroke:#333;}#graph-div .edgeLabel{background-color:#f0f0f0;}#graph-div .er.entityBox + .er.entityLabel{fill:white;}#graph-div .er.attributeBoxEven,#graph-div .er.attributeBoxOdd{fill:#fff;stroke:#777;}#graph-div:root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g></g><defs><marker id="ONLY_ONE_START" refX="0" refY="9" markerWidth="18" markerHeight="18" orient="auto"><path stroke="gray" fill="none" d="M9,0 L9,18 M15,0 L15,18"></path></marker></defs><defs><marker id="ONLY_ONE_END" refX="18" refY="9" markerWidth="18" markerHeight="18" orient="auto"><path stroke="gray" fill="none" d="M3,0 L3,18 M9,0 L9,18"></path></marker></defs><defs><marker id="ZERO_OR_ONE_START" refX="0" refY="9" markerWidth="30" markerHeight="18" orient="auto"><circle stroke="gray" fill="white" cx="21" cy="9" r="6"></circle><path stroke="gray" fill="none" d="M9,0 L9,18"></path></marker></defs><defs><marker id="ZERO_OR_ONE_END" refX="30" refY="9" markerWidth="30" markerHeight="18" orient="auto"><circle stroke="gray" fill="white" cx="9" cy="9" r="6"></circle><path stroke="gray" fill="none" d="M21,0 L21,18"></path></marker></defs><defs><marker id="ONE_OR_MORE_START" refX="18" refY="18" markerWidth="45" markerHeight="36" orient="auto"><path stroke="gray" fill="none" d="M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"></path></marker></defs><defs><marker id="ONE_OR_MORE_END" refX="27" refY="18" markerWidth="45" markerHeight="36" orient="auto"><path stroke="gray" fill="none" d="M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"></path></marker></defs><defs><marker id="ZERO_OR_MORE_START" refX="18" refY="18" markerWidth="57" markerHeight="36" orient="auto"><circle stroke="gray" fill="white" cx="48" cy="18" r="6"></circle><path stroke="gray" fill="none" d="M0,18 Q18,0 36,18 Q18,36 0,18"></path></marker></defs><defs><marker id="ZERO_OR_MORE_END" refX="39" refY="18" markerWidth="57" markerHeight="36" orient="auto"><circle stroke="gray" fill="white" cx="9" cy="18" r="6"></circle><path stroke="gray" fill="none" d="M21,18 Q39,0 57,18 Q39,36 21,18"></path></marker></defs><path class="er relationshipLine" d="M70,620L70,628.3333333333334C70,636.6666666666666,70,653.3333333333334,124.16666666666667,673.8000000000001C178.33333333333334,694.2666666666668,286.6666666666667,718.5333333333333,340.8333333333333,730.6666666666666L395,742.8" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONLY_ONE_START)"></path><path class="er relationshipLine" d="M197.7109375,442.5L185.2109375,451.25C172.7109375,460,147.7109375,477.5,130.1908482142857,494.5833333333333C112.67075892857143,511.6666666666667,102.63058035714285,528.3333333333334,97.61049107142856,536.6666666666666L92.59040178571428,545" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONLY_ONE_START)"></path><path class="er relationshipLine" d="M236.99665178571428,445L234.6156994047619,453.3333333333333C232.23474702380952,461.6666666666667,227.47284226190473,478.3333333333333,243.2142857142857,496.3264245827781C258.9557291666667,514.3195158322228,295.2005208333333,533.6390316644457,313.3229166666667,543.2987895805571L331.4453125,552.9585474966685" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONE_OR_MORE_START)"></path><path class="er relationshipLine" d="M297.7109375,441.7570502232826L310.6627604166667,450.6308751860688C323.6145833333333,459.5047001488551,349.5182291666667,477.2523500744275,390.28125,497.34723547406907C431.0442708333333,517.4421208737107,486.6666666666667,539.8842417474212,514.4778645833334,551.1053021842766L542.2890625,562.3263626211319" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONE_OR_MORE_START)"></path><path class="er relationshipLine" d="M425.421875,242.10647751054998L357.8515625,255.08873125879165C290.28125,268.07098500703336,155.140625,294.03549250351665,87.5703125,321.60107958509167C20,349.1666666666667,20,378.3333333333333,20,407.5C20,436.6666666666667,20,465.8333333333333,24.76190476190476,488.75C29.523809523809522,511.6666666666667,39.047619047619044,528.3333333333334,43.8095238095238,536.6666666666666L48.57142857142857,545" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONE_OR_MORE_START)"></path><path class="er relationshipLine" d="M425.421875,251.71295502109993L395.8033854166667,263.09412918424994C366.1848958333333,274.4753033473999,306.9479166666667,297.2376516737,277.3294270833333,316.95215917018334C247.7109375,336.6666666666667,247.7109375,353.3333333333333,247.7109375,361.6666666666667L247.7109375,370" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONE_OR_MORE_START)"></path><path class="er relationshipLine" d="M475.421875,270L475.421875,278.3333333333333C475.421875,286.6666666666667,475.421875,303.3333333333333,475.421875,326.25C475.421875,349.1666666666667,475.421875,378.3333333333333,475.421875,407.5C475.421875,436.6666666666667,475.421875,465.8333333333333,466.98809523809524,488.75C458.55431547619054,511.6666666666667,441.68675595238096,528.3333333333334,433.2529761904762,536.6666666666666L424.81919642857144,545" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONE_OR_MORE_START)"></path><path class="er relationshipLine" d="M525.421875,261.1488975290326L542.5403645833334,270.95741460752714C559.6588541666666,280.7659316860217,593.8958333333334,300.3829658430109,611.0143229166666,324.77481625483875C628.1328125,349.1666666666667,628.1328125,378.3333333333333,628.1328125,407.5C628.1328125,436.6666666666667,628.1328125,465.8333333333333,624.7191220238095,488.75C621.305431547619,511.6666666666667,614.4780505952381,528.3333333333334,611.0643601190476,536.6666666666666L607.6506696428571,545" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONE_OR_MORE_START)"></path><path class="er relationshipLine" d="M332.56473214285717,95L323.04092261904765,103.33333333333333C313.51711309523813,111.66666666666667,294.46949404761904,128.33333333333334,284.9456845238095,145C275.421875,161.66666666666666,275.421875,178.33333333333334,275.421875,186.66666666666666L275.421875,195" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONLY_ONE_START)"></path><path class="er relationshipLine" d="M418.27901785714283,95L427.80282738095235,103.33333333333333C437.3266369047619,111.66666666666667,456.37425595238096,128.33333333333334,465.8980654761904,145C475.421875,161.66666666666666,475.421875,178.33333333333334,475.421875,186.66666666666666L475.421875,195" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONLY_ONE_START)"></path><path class="er relationshipLine" d="M386.8671875,620L386.8671875,628.3333333333334C386.8671875,636.6666666666666,386.8671875,653.3333333333334,392.63433159722223,670C398.4014756944444,686.6666666666666,409.93576388888886,703.3333333333334,415.7029079861111,711.6666666666666L421.4700520833333,720" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONLY_ONE_START)"></path><path class="er relationshipLine" d="M592.2890625,620L592.2890625,628.3333333333334C592.2890625,636.6666666666666,592.2890625,653.3333333333334,576.07421875,670.9141073922806C559.859375,688.4948814512278,527.4296875,706.9897629024558,511.21484375,716.2372036280698L495,725.4846443536837" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONLY_ONE_START)"></path><path class="er relationshipLine" d="M525.421875,245.42257990077306L573.5143229166666,257.8521499173109C621.6067708333334,270.2817199338487,717.7916666666666,295.1408599669243,765.8841145833334,315.9037633167955C813.9765625,336.6666666666667,813.9765625,353.3333333333333,813.9765625,361.6666666666667L813.9765625,370" stroke="gray" fill="none" marker-end="url(#ONLY_ONE_END)" marker-start="url(#ONLY_ONE_START)"></path><path class="er relationshipLine" d="M813.9765625,445L813.9765625,453.3333333333333C813.9765625,461.6666666666667,813.9765625,478.3333333333333,813.9765625,495C813.9765625,511.6666666666667,813.9765625,528.3333333333334,813.9765625,536.6666666666666L813.9765625,545" stroke="gray" fill="none" marker-end="url(#ONE_OR_MORE_END)" marker-start="url(#ONLY_ONE_START)"></path><g id="Token" transform="translate(425.421875,195 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="100" height="75"></rect><text class="er entityLabel" id="entity-Token" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(50,37.5)">Token</text></g><g id="Policy" transform="translate(20,545 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="100" height="75"></rect><text class="er entityLabel" id="entity-Policy" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(50,37.5)">Policy</text></g><g id="Role" transform="translate(197.7109375,370 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="100" height="75"></rect><text class="er entityLabel" id="entity-Role" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(50,37.5)">Role</text></g><g id="ServiceIdentity" transform="translate(331.4453125,545 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="110.84375" height="75"></rect><text class="er entityLabel" id="entity-ServiceIdentity" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(55.421875,37.5)">ServiceIdentity</text></g><g id="NodeIdentity" transform="translate(542.2890625,545 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="100" height="75"></rect><text class="er entityLabel" id="entity-NodeIdentity" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(50,37.5)">NodeIdentity</text></g><g id="AuthMethod" transform="translate(325.421875,20 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="100" height="75"></rect><text class="er entityLabel" id="entity-AuthMethod" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(50,37.5)">AuthMethod</text></g><g id="BindingRule" transform="translate(225.421875,195 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="100" height="75"></rect><text class="er entityLabel" id="entity-BindingRule" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(50,37.5)">BindingRule</text></g><g id="Rule" transform="translate(395,720 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="100" height="68"></rect><text class="er entityLabel" id="entity-Rule" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(50,12)">Rule</text><rect class="er attributeBoxOdd" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="24" width="35.7734375" height="22"></rect><text class="er entityLabel" id="entity-Rule-attr-1-type" x="0" y="0" dominant-baseline="middle" text-anchor="left" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 10.2px" transform="translate(5,35)">string</text><rect class="er attributeBoxOdd" fill="honeydew" fill-opacity="100%" stroke="gray" x="035.7734375" y="24" width="64.2265625" height="22"></rect><text class="er entityLabel" id="entity-Rule-attr-1-name" x="0" y="0" dominant-baseline="middle" text-anchor="left" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 10.2px" transform="translate(40.7734375,35)">Resource</text><rect class="er attributeBoxEven" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="46" width="35.7734375" height="22"></rect><text class="er entityLabel" id="entity-Rule-attr-2-type" x="0" y="0" dominant-baseline="middle" text-anchor="left" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 10.2px" transform="translate(5,57)">enum</text><rect class="er attributeBoxEven" fill="honeydew" fill-opacity="100%" stroke="gray" x="035.7734375" y="46" width="64.2265625" height="22"></rect><text class="er entityLabel" id="entity-Rule-attr-2-name" x="0" y="0" dominant-baseline="middle" text-anchor="left" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 10.2px" transform="translate(40.7734375,57)">AccessLevel</text></g><g id="Authorizer" transform="translate(763.9765625,370 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="100" height="75"></rect><text class="er entityLabel" id="entity-Authorizer" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(50,37.5)">Authorizer</text></g><g id="EnforcementDecision" transform="translate(742.2890625,545 )"><rect class="er entityBox" fill="honeydew" fill-opacity="100%" stroke="gray" x="0" y="0" width="143.375" height="75"></rect><text class="er entityLabel" id="entity-EnforcementDecision" x="0" y="0" dominant-baseline="middle" text-anchor="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px" transform="translate(71.6875,37.5)">EnforcementDecision</text></g><rect class="er relationshipLabelBox" x="201.52041625976562" y="694.7286376953125" width="33.3125" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel2995" x="218.17666625976562" y="701.7364501953125" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">grants</text><rect class="er relationshipLabelBox" x="116.23052978515625" y="480.0229797363281" width="44.265625" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel2996" x="138.36334228515625" y="487.0307922363281" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">includes</text><rect class="er relationshipLabelBox" x="240.11386108398438" y="505.84283447265625" width="44.265625" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel2997" x="262.2466735839844" y="512.8506469726562" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">includes</text><rect class="er relationshipLabelBox" x="394.0325622558594" y="502.56201171875" width="44.265625" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel2998" x="416.1653747558594" y="509.56982421875" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">includes</text><rect class="er relationshipLabelBox" x="105.85314178466797" y="300.4960632324219" width="44.265625" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel2999" x="127.98595428466797" y="307.5038757324219" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">includes</text><rect class="er relationshipLabelBox" x="298.2134094238281" y="287.09234619140625" width="44.265625" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3000" x="320.3462219238281" y="294.10015869140625" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">includes</text><rect class="er relationshipLabelBox" x="453.2828369140625" y="408.2726745605469" width="44.265625" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3001" x="475.4156494140625" y="415.2804870605469" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">includes</text><rect class="er relationshipLabelBox" x="605.5233154296875" y="373.96051025390625" width="44.25" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3002" x="627.6483154296875" y="380.96832275390625" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">includes</text><rect class="er relationshipLabelBox" x="270.1820983886719" y="130.55674743652344" width="39.203125" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3003" x="289.7836608886719" y="137.56455993652344" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">defines</text><rect class="er relationshipLabelBox" x="441.1772766113281" y="130.55674743652344" width="39.765625" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3004" x="461.0600891113281" y="137.56455993652344" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">creates</text><rect class="er relationshipLabelBox" x="374.6014099121094" y="666.41748046875" width="38.59375" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3005" x="393.8982849121094" y="673.42529296875" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">implies</text><rect class="er relationshipLabelBox" x="540.7578125" y="678.1350708007812" width="38.578125" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3006" x="560.046875" y="685.1428833007812" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">implies</text><rect class="er relationshipLabelBox" x="655.17333984375" y="281.07073974609375" width="58.71875" height="14.015625" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3007" x="684.53271484375" y="288.07855224609375" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">resolves to</text><rect class="er relationshipLabelBox" x="789.7109375" y="488" width="48.53125" height="14" fill="white" fill-opacity="85%"></rect><text class="er relationshipLabel" id="rel3008" x="813.9765625" y="495" text-anchor="middle" dominant-baseline="middle" style="font-family: &quot;trebuchet ms&quot;, verdana, arial, sans-serif;; font-size: 12px">produces</text></svg>