39 lines
3.9 KiB
XML
39 lines
3.9 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 1300" role="img" aria-labelledby="title desc">
|
|
<title id="title">Маршрут ротации утёкшего секрета</title>
|
|
<desc id="desc">Вертикальная схема показывает, что после обнаружения утечки команда ограничивает распространение, создаёт замену, обновляет потребителей, отзывает старое значение и только затем закрывает follow-up.</desc>
|
|
<rect width="720" height="1300" rx="32" fill="#f8fafc"/>
|
|
<text x="360" y="58" text-anchor="middle" font-family="Arial, sans-serif" font-size="30" font-weight="700" fill="#172033">Ротация без ложного исправления</text>
|
|
<text x="360" y="92" text-anchor="middle" font-family="Arial, sans-serif" font-size="22" fill="#475569">Удалить строку недостаточно, пока старая пара активна</text>
|
|
<g font-family="Arial, sans-serif">
|
|
<rect x="58" y="140" width="604" height="156" rx="24" fill="#fee2e2" stroke="#f87171" stroke-width="3"/>
|
|
<text x="94" y="188" font-size="28" font-weight="700" fill="#7f1d1d">1. Обнаружить</text>
|
|
<text x="94" y="232" font-size="22" fill="#7f1d1d">ID incident, имя, носитель</text>
|
|
<text x="94" y="264" font-size="20" fill="#991b1b">Не копировать value в issue</text>
|
|
<path d="M360 296 L360 340" stroke="#64748b" stroke-width="6" marker-end="url(#arrow)"/>
|
|
<rect x="58" y="352" width="604" height="156" rx="24" fill="#fef3c7" stroke="#fbbf24" stroke-width="3"/>
|
|
<text x="94" y="400" font-size="28" font-weight="700" fill="#78350f">2. Ограничить</text>
|
|
<text x="94" y="444" font-size="22" fill="#78350f">Остановить новый вывод в лог</text>
|
|
<text x="94" y="476" font-size="20" fill="#92400e">Собрать consumers по имени</text>
|
|
<path d="M360 508 L360 552" stroke="#64748b" stroke-width="6" marker-end="url(#arrow)"/>
|
|
<rect x="58" y="564" width="604" height="156" rx="24" fill="#dcfce7" stroke="#4ade80" stroke-width="3"/>
|
|
<text x="94" y="612" font-size="28" font-weight="700" fill="#14532d">3. Заменить</text>
|
|
<text x="94" y="656" font-size="22" fill="#14532d">Новая пара через delivery</text>
|
|
<text x="94" y="688" font-size="20" fill="#166534">Проверить каждого consumer</text>
|
|
<path d="M360 720 L360 764" stroke="#64748b" stroke-width="6" marker-end="url(#arrow)"/>
|
|
<rect x="58" y="776" width="604" height="156" rx="24" fill="#e0f2fe" stroke="#38bdf8" stroke-width="3"/>
|
|
<text x="94" y="824" font-size="28" font-weight="700" fill="#0c4a6e">4. Отозвать старое</text>
|
|
<text x="94" y="868" font-size="22" fill="#0c4a6e">После проверки или окна простоя</text>
|
|
<text x="94" y="900" font-size="20" fill="#075985">Фиксировать время revoke</text>
|
|
<path d="M360 932 L360 976" stroke="#64748b" stroke-width="6" marker-end="url(#arrow)"/>
|
|
<rect x="58" y="988" width="604" height="156" rx="24" fill="#fae8ff" stroke="#e879f9" stroke-width="3"/>
|
|
<text x="94" y="1036" font-size="28" font-weight="700" fill="#701a75">5. Проверить следы</text>
|
|
<text x="94" y="1080" font-size="22" fill="#701a75">Git, image, job, diagnostic path</text>
|
|
<text x="94" y="1112" font-size="20" fill="#86198f">Добавить redaction test</text>
|
|
</g>
|
|
<rect x="58" y="1190" width="604" height="62" rx="16" fill="#e2e8f0"/>
|
|
<text x="360" y="1228" text-anchor="middle" font-family="Arial, sans-serif" font-size="22" font-weight="700" fill="#334155">Cleanup не заменяет revoke</text>
|
|
<defs>
|
|
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="8" markerHeight="8" orient="auto"><path d="M0 0 L10 5 L0 10 Z" fill="#64748b"/></marker>
|
|
</defs>
|
|
</svg>
|