Created
February 19, 2026 18:33
-
-
Save omgjlk/15a94579237399bac32e1b9f5a7f048a to your computer and use it in GitHub Desktop.
FedRAMP Resource Tagging & Compliance Dashboard — Port Mockup (for issue github/compute-foundation#5913)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>FedRAMP Resource Tagging & Compliance — Port Dashboard Mockup</title> | |
| <style> | |
| :root { | |
| --bg: #f5f5f5; --surface: #ffffff; --border: #e8e8e8; --border-light: #f0f0f0; | |
| --text: #1a1a2e; --text-secondary: #6b7280; --text-dim: #9ca3af; | |
| --primary: #6c5ce7; --primary-light: #a29bfe; | |
| --green: #10b981; --green-bg: #d1fae5; --green-text: #065f46; | |
| --red: #ef4444; --red-bg: #fee2e2; --red-text: #991b1b; | |
| --yellow: #f59e0b; --yellow-bg: #fef3c7; --yellow-text: #92400e; | |
| --blue: #3b82f6; --blue-bg: #dbeafe; --blue-text: #1e40af; | |
| --purple: #8b5cf6; --purple-bg: #ede9fe; --purple-text: #5b21b6; | |
| --gray-bg: #f3f4f6; --gray-text: #6b7280; | |
| } | |
| * { margin: 0; padding: 0; box-sizing: border-box; } | |
| body { font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); display: flex; min-height: 100vh; } | |
| .sidebar { width: 240px; background: #1a1a2e; color: #fff; padding: 0; flex-shrink: 0; } | |
| .sidebar-logo { padding: 16px 20px; display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,0.08); } | |
| .sidebar-section { padding: 12px 0; } | |
| .sidebar-label { padding: 6px 20px; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.35); font-weight: 600; } | |
| .sidebar-item { padding: 8px 20px; font-size: 13px; color: rgba(255,255,255,0.6); display: flex; align-items: center; gap: 10px; cursor: pointer; } | |
| .sidebar-item:hover { background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.9); } | |
| .sidebar-item.active { background: rgba(108,92,231,0.2); color: #fff; border-right: 3px solid var(--primary); } | |
| .sidebar-icon { width: 18px; text-align: center; font-size: 14px; } | |
| .main { flex: 1; overflow-y: auto; } | |
| .topbar { background: var(--surface); border-bottom: 1px solid var(--border); padding: 14px 24px; display: flex; justify-content: space-between; align-items: center; } | |
| .topbar-title { font-size: 18px; font-weight: 600; display: flex; align-items: center; gap: 8px; } | |
| .topbar-actions { display: flex; gap: 8px; align-items: center; } | |
| .btn { padding: 6px 14px; border-radius: 6px; font-size: 13px; border: 1px solid var(--border); background: var(--surface); color: var(--text); cursor: pointer; display: flex; align-items: center; gap: 6px; } | |
| .btn:hover { background: var(--bg); } | |
| .btn-primary { background: var(--primary); color: #fff; border-color: var(--primary); } | |
| .dashboard-filters { background: var(--surface); border-bottom: 1px solid var(--border); padding: 10px 24px; display: flex; gap: 8px; align-items: center; } | |
| .filter-chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 16px; font-size: 12px; background: var(--blue-bg); color: var(--blue-text); border: 1px solid rgba(59,130,246,0.2); } | |
| .filter-chip .remove { cursor: pointer; opacity: 0.5; font-size: 14px; } | |
| .filter-add { color: var(--text-secondary); font-size: 12px; cursor: pointer; padding: 4px 8px; } | |
| .content { padding: 20px 24px; } | |
| .widget-row { display: flex; gap: 16px; margin-bottom: 16px; } | |
| .widget-row > * { flex: 1; } | |
| .number-widget { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 20px; position: relative; } | |
| .number-widget .widget-title { font-size: 12px; color: var(--text-secondary); font-weight: 500; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; } | |
| .number-widget .widget-value { font-size: 36px; font-weight: 700; line-height: 1; } | |
| .number-widget .widget-unit { font-size: 13px; color: var(--text-secondary); margin-top: 4px; } | |
| .number-widget .widget-condition { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; } | |
| .number-widget.condition-green { border-left: 4px solid var(--green); } | |
| .number-widget.condition-green .widget-condition { color: var(--green); } | |
| .number-widget.condition-red { border-left: 4px solid var(--red); } | |
| .number-widget.condition-red .widget-condition { color: var(--red); } | |
| .number-widget.condition-yellow { border-left: 4px solid var(--yellow); } | |
| .number-widget.condition-yellow .widget-condition { color: var(--yellow); } | |
| .number-widget.condition-blue { border-left: 4px solid var(--blue); } | |
| .number-widget.condition-blue .widget-condition { color: var(--blue); } | |
| .pie-widget { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 20px; } | |
| .pie-widget .widget-title { font-size: 13px; color: var(--text-secondary); font-weight: 500; margin-bottom: 16px; } | |
| .pie-chart-container { display: flex; align-items: center; gap: 24px; } | |
| .pie-svg { width: 140px; height: 140px; flex-shrink: 0; } | |
| .pie-legend { font-size: 12px; } | |
| .pie-legend-item { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; } | |
| .pie-legend-dot { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; } | |
| .pie-legend-label { color: var(--text-secondary); } | |
| .pie-legend-value { font-weight: 600; margin-left: auto; min-width: 30px; text-align: right; } | |
| .table-widget { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; } | |
| .table-widget-header { padding: 14px 20px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; } | |
| .table-widget-header .widget-title { font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 6px; } | |
| .table-widget-header .widget-actions { display: flex; gap: 6px; } | |
| .table-toolbar { padding: 8px 16px; border-bottom: 1px solid var(--border-light); display: flex; gap: 8px; align-items: center; background: #fafafa; } | |
| .table-toolbar .search-box { border: 1px solid var(--border); border-radius: 6px; padding: 5px 10px; font-size: 12px; width: 200px; background: var(--surface); } | |
| .table-toolbar .filter-btn { font-size: 12px; color: var(--text-secondary); border: 1px solid var(--border); border-radius: 6px; padding: 5px 10px; background: var(--surface); cursor: pointer; } | |
| table { width: 100%; border-collapse: collapse; font-size: 13px; } | |
| th { text-align: left; padding: 10px 16px; border-bottom: 1px solid var(--border); color: var(--text-secondary); font-weight: 500; font-size: 12px; background: #fafafa; white-space: nowrap; } | |
| td { padding: 10px 16px; border-bottom: 1px solid var(--border-light); white-space: nowrap; } | |
| tr:hover td { background: #f8faff; } | |
| .badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 500; } | |
| .badge-green { background: var(--green-bg); color: var(--green-text); } | |
| .badge-red { background: var(--red-bg); color: var(--red-text); } | |
| .badge-yellow { background: var(--yellow-bg); color: var(--yellow-text); } | |
| .badge-blue { background: var(--blue-bg); color: var(--blue-text); } | |
| .badge-purple { background: var(--purple-bg); color: var(--purple-text); } | |
| .badge-gray { background: var(--gray-bg); color: var(--gray-text); } | |
| .mono { font-family: 'JetBrains Mono', 'SF Mono', monospace; font-size: 12px; } | |
| .entity-link { color: var(--primary); text-decoration: none; font-weight: 500; } | |
| .entity-link:hover { text-decoration: underline; } | |
| .table-footer { padding: 10px 16px; display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--text-secondary); border-top: 1px solid var(--border-light); background: #fafafa; } | |
| .pagination { display: flex; gap: 4px; } | |
| .pagination button { border: 1px solid var(--border); background: var(--surface); border-radius: 4px; padding: 4px 8px; font-size: 11px; cursor: pointer; } | |
| .pagination button.active { background: var(--primary); color: #fff; border-color: var(--primary); } | |
| .markdown-widget { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 20px; } | |
| .markdown-widget .widget-title { font-size: 13px; color: var(--text-secondary); font-weight: 500; margin-bottom: 12px; } | |
| .markdown-widget p { font-size: 13px; color: var(--text-secondary); line-height: 1.6; } | |
| .markdown-widget a { color: var(--primary); text-decoration: none; } | |
| .markdown-widget code { background: var(--gray-bg); padding: 1px 5px; border-radius: 3px; font-size: 12px; font-family: 'JetBrains Mono', 'SF Mono', monospace; } | |
| .mockup-banner { background: #fef3c7; border: 1px solid #fcd34d; border-radius: 6px; padding: 8px 16px; font-size: 12px; color: #92400e; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="sidebar"> | |
| <div class="sidebar-logo"> | |
| <div style="width:28px;height:28px;background:var(--primary);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;">🌊</div> | |
| Port | |
| </div> | |
| <div class="sidebar-section"> | |
| <div class="sidebar-label">Catalog</div> | |
| <div class="sidebar-item"><span class="sidebar-icon">📦</span> Services</div> | |
| <div class="sidebar-item"><span class="sidebar-icon">☁️</span> Azure Subscriptions</div> | |
| <div class="sidebar-item"><span class="sidebar-icon">📁</span> Azure Resource Groups</div> | |
| <div class="sidebar-item"><span class="sidebar-icon">🔷</span> Azure Resources</div> | |
| <div class="sidebar-item"><span class="sidebar-icon">🏗️</span> Infrastructure Assets</div> | |
| </div> | |
| <div class="sidebar-section"> | |
| <div class="sidebar-label">Dashboards</div> | |
| <div class="sidebar-item active"><span class="sidebar-icon">🛡️</span> FedRAMP Compliance</div> | |
| <div class="sidebar-item"><span class="sidebar-icon">📊</span> Tagging Overview</div> | |
| <div class="sidebar-item"><span class="sidebar-icon">🏠</span> Home</div> | |
| </div> | |
| </div> | |
| <div class="main"> | |
| <div class="topbar"> | |
| <div class="topbar-title">🛡️ FedRAMP Resource Tagging & Compliance</div> | |
| <div class="topbar-actions"> | |
| <button class="btn">🔄 Last synced: 6:00 PM</button> | |
| <button class="btn-primary btn">+ Widget</button> | |
| </div> | |
| </div> | |
| <div class="dashboard-filters"> | |
| <span style="font-size:12px;color:var(--text-secondary);font-weight:500;">Filters:</span> | |
| <span class="filter-chip">Azure Resource → Location = centralus <span class="remove">×</span></span> | |
| <span class="filter-add">+ Add filter</span> | |
| </div> | |
| <div class="content"> | |
| <div class="mockup-banner">⚠️ MOCKUP — Conceptual representation of a Port dashboard. All data is sample data. Generated by GitHub Copilot.</div> | |
| <!-- Number chart widgets --> | |
| <div class="widget-row"> | |
| <div class="number-widget condition-blue"> | |
| <div class="widget-title">Total CentralUS Resources</div> | |
| <div class="widget-value">1,247</div> | |
| <div class="widget-unit">Azure Resources</div> | |
| </div> | |
| <div class="number-widget condition-yellow"> | |
| <div class="widget-condition">⚠ Needs attention</div> | |
| <div class="widget-title">Tagging Compliant</div> | |
| <div class="widget-value">68%</div> | |
| <div class="widget-unit">843 of 1,247 resources</div> | |
| </div> | |
| <div class="number-widget condition-blue"> | |
| <div class="widget-title">FedRAMP In-Scope</div> | |
| <div class="widget-value">312</div> | |
| <div class="widget-unit">Resources</div> | |
| </div> | |
| <div class="number-widget condition-red"> | |
| <div class="widget-condition">⛔ Action required</div> | |
| <div class="widget-title">FedRAMP Non-Compliant</div> | |
| <div class="widget-value">89</div> | |
| <div class="widget-unit">Resources need to move</div> | |
| </div> | |
| <div class="number-widget condition-green"> | |
| <div class="widget-condition">✓ On track</div> | |
| <div class="widget-title">FedRAMP Compliant</div> | |
| <div class="widget-value">72%</div> | |
| <div class="widget-unit">223 of 312 in-scope</div> | |
| </div> | |
| </div> | |
| <!-- Pie charts --> | |
| <div class="widget-row"> | |
| <div class="pie-widget"> | |
| <div class="widget-title">Tagging Status</div> | |
| <div class="pie-chart-container"> | |
| <svg class="pie-svg" viewBox="0 0 42 42"> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#e5e7eb" stroke-width="4"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#10b981" stroke-width="4" stroke-dasharray="68 32" stroke-dashoffset="25"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#f59e0b" stroke-width="4" stroke-dasharray="9.5 90.5" stroke-dashoffset="57"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#ef4444" stroke-width="4" stroke-dasharray="22.5 77.5" stroke-dashoffset="47.5"></circle> | |
| </svg> | |
| <div class="pie-legend"> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#10b981"></span><span class="pie-legend-label">Both tags ✓</span><span class="pie-legend-value">843</span></div> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#f59e0b"></span><span class="pie-legend-label">Missing one tag</span><span class="pie-legend-value">119</span></div> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#ef4444"></span><span class="pie-legend-label">Missing both</span><span class="pie-legend-value">285</span></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="pie-widget"> | |
| <div class="widget-title">FedRAMP In-Scope Compliance</div> | |
| <div class="pie-chart-container"> | |
| <svg class="pie-svg" viewBox="0 0 42 42"> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#e5e7eb" stroke-width="4"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#10b981" stroke-width="4" stroke-dasharray="72 28" stroke-dashoffset="25"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#ef4444" stroke-width="4" stroke-dasharray="28 72" stroke-dashoffset="53"></circle> | |
| </svg> | |
| <div class="pie-legend"> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#10b981"></span><span class="pie-legend-label">Compliant</span><span class="pie-legend-value">223</span></div> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#ef4444"></span><span class="pie-legend-label">Non-Compliant</span><span class="pie-legend-value">89</span></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="pie-widget"> | |
| <div class="widget-title">Resources by Stamp</div> | |
| <div class="pie-chart-container"> | |
| <svg class="pie-svg" viewBox="0 0 42 42"> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#e5e7eb" stroke-width="4"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#8b5cf6" stroke-width="4" stroke-dasharray="38 62" stroke-dashoffset="25"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#6c5ce7" stroke-width="4" stroke-dasharray="10 90" stroke-dashoffset="63"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#3b82f6" stroke-width="4" stroke-dasharray="30 70" stroke-dashoffset="53"></circle> | |
| <circle cx="21" cy="21" r="15.9" fill="transparent" stroke="#9ca3af" stroke-width="4" stroke-dasharray="22 78" stroke-dashoffset="23"></circle> | |
| </svg> | |
| <div class="pie-legend"> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#8b5cf6"></span><span class="pie-legend-label">prod-cus-01</span><span class="pie-legend-value">480</span></div> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#6c5ce7"></span><span class="pie-legend-label">mgmt-cus-01</span><span class="pie-legend-value">124</span></div> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#3b82f6"></span><span class="pie-legend-label">prod-cus-02</span><span class="pie-legend-value">358</span></div> | |
| <div class="pie-legend-item"><span class="pie-legend-dot" style="background:#9ca3af"></span><span class="pie-legend-label">(untagged)</span><span class="pie-legend-value">285</span></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Table: FedRAMP Non-Compliant --> | |
| <div class="table-widget" style="margin-bottom:16px"> | |
| <div class="table-widget-header"> | |
| <div class="widget-title">🔷 FedRAMP Non-Compliant Resources</div> | |
| <div class="widget-actions"> | |
| <button class="btn" style="font-size:12px;padding:4px 10px;">⬇ Export</button> | |
| <button class="btn" style="font-size:12px;padding:4px 10px;">⚙ Manage properties</button> | |
| </div> | |
| </div> | |
| <div class="table-toolbar"> | |
| <input class="search-box" type="text" placeholder="🔍 Search..."> | |
| <button class="filter-btn">⊞ Group by</button> | |
| <button class="filter-btn">↕ Sort</button> | |
| <button class="filter-btn">🔽 Filter</button> | |
| <span style="font-size:11px;color:var(--text-dim);margin-left:auto;">89 results · Filtered: is_fedramp_in_scope = true, is_fedramp_compliant = false</span> | |
| </div> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th>Title</th> | |
| <th>Resource Type</th> | |
| <th>Owning Catalog Service</th> | |
| <th>Stamp</th> | |
| <th>Subscription</th> | |
| <th>Tagging Compliant</th> | |
| <th>FedRAMP Compliant</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr> | |
| <td><a class="entity-link" href="#">proxy-lb-cus-01</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.network/loadbalancers</td> | |
| <td><a class="entity-link" href="#">proxima-control-plane</a></td> | |
| <td class="mono">prod-cus-01</td> | |
| <td><a class="entity-link" href="#">sub-team-alpha-prod</a></td> | |
| <td><span class="badge badge-green">✓ True</span></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| </tr> | |
| <tr> | |
| <td><a class="entity-link" href="#">log-analytics-cus</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.operationalinsights/workspaces</td> | |
| <td><a class="entity-link" href="#">compute-provisioning</a></td> | |
| <td class="mono">prod-cus-01</td> | |
| <td><a class="entity-link" href="#">sub-team-alpha-prod</a></td> | |
| <td><span class="badge badge-green">✓ True</span></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| </tr> | |
| <tr> | |
| <td><a class="entity-link" href="#">appconfig-feature-flags</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.appconfiguration/configurationstores</td> | |
| <td><a class="entity-link" href="#">actions-runner-service</a></td> | |
| <td class="mono">mgmt-cus-01</td> | |
| <td><a class="entity-link" href="#">sub-team-alpha-prod</a></td> | |
| <td><span class="badge badge-green">✓ True</span></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| </tr> | |
| <tr> | |
| <td><a class="entity-link" href="#">net-appgw-frontend</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.network/applicationgateways</td> | |
| <td><a class="entity-link" href="#">network-fabric</a></td> | |
| <td class="mono">prod-cus-01</td> | |
| <td><a class="entity-link" href="#">sub-network-prod</a></td> | |
| <td><span class="badge badge-green">✓ True</span></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| </tr> | |
| <tr> | |
| <td><a class="entity-link" href="#">keyvault-secrets-cus</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.keyvault/vaults</td> | |
| <td><a class="entity-link" href="#">identity-platform</a></td> | |
| <td class="mono">mgmt-cus-01</td> | |
| <td><a class="entity-link" href="#">sub-cus-shared-services</a></td> | |
| <td><span class="badge badge-green">✓ True</span></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <div class="table-footer"> | |
| <span>Showing 1–5 of 89</span> | |
| <div class="pagination"> | |
| <button>‹</button> | |
| <button class="active">1</button> | |
| <button>2</button> | |
| <button>3</button> | |
| <button>...</button> | |
| <button>18</button> | |
| <button>›</button> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Table: Missing tags --> | |
| <div class="table-widget" style="margin-bottom:16px"> | |
| <div class="table-widget-header"> | |
| <div class="widget-title">🏷️ Resources Missing Required Tags</div> | |
| <div class="widget-actions"> | |
| <button class="btn" style="font-size:12px;padding:4px 10px;">⬇ Export</button> | |
| <button class="btn" style="font-size:12px;padding:4px 10px;">⚙ Manage properties</button> | |
| </div> | |
| </div> | |
| <div class="table-toolbar"> | |
| <input class="search-box" type="text" placeholder="🔍 Search..."> | |
| <button class="filter-btn">⊞ Group by</button> | |
| <button class="filter-btn">↕ Sort</button> | |
| <button class="filter-btn">🔽 Filter</button> | |
| <span style="font-size:11px;color:var(--text-dim);margin-left:auto;">404 results · Filtered: is_tagging_compliant = false</span> | |
| </div> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th>Title</th> | |
| <th>Resource Type</th> | |
| <th>Owning Catalog Service</th> | |
| <th>Subscription</th> | |
| <th>Has Stamp Tag</th> | |
| <th>Has Catalog Service Tag</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr> | |
| <td><a class="entity-link" href="#">func-webhook-handler</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.web/sites</td> | |
| <td><span style="color:var(--text-dim)">—</span></td> | |
| <td><a class="entity-link" href="#">sub-cus-shared-services</a></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| </tr> | |
| <tr> | |
| <td><a class="entity-link" href="#">storage-diagnostics</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.storage/storageaccounts</td> | |
| <td><span style="color:var(--text-dim)">—</span></td> | |
| <td><a class="entity-link" href="#">sub-cus-shared-services</a></td> | |
| <td><span class="badge badge-green">✓ True</span></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| </tr> | |
| <tr> | |
| <td><a class="entity-link" href="#">appgw-frontend-01</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.network/applicationgateways</td> | |
| <td><a class="entity-link" href="#">network-fabric</a></td> | |
| <td><a class="entity-link" href="#">sub-network-prod</a></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| <td><span class="badge badge-green">✓ True</span></td> | |
| </tr> | |
| <tr> | |
| <td><a class="entity-link" href="#">insights-app-01</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.insights/components</td> | |
| <td><span style="color:var(--text-dim)">—</span></td> | |
| <td><a class="entity-link" href="#">sub-team-alpha-prod</a></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| </tr> | |
| <tr> | |
| <td><a class="entity-link" href="#">redis-session-cache</a></td> | |
| <td class="mono" style="color:var(--text-secondary)">microsoft.cache/redis</td> | |
| <td><a class="entity-link" href="#">identity-platform</a></td> | |
| <td><a class="entity-link" href="#">sub-cus-shared-services</a></td> | |
| <td><span class="badge badge-red">✗ False</span></td> | |
| <td><span class="badge badge-green">✓ True</span></td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <div class="table-footer"> | |
| <span>Showing 1–5 of 404</span> | |
| <div class="pagination"> | |
| <button>‹</button> | |
| <button class="active">1</button> | |
| <button>2</button> | |
| <button>3</button> | |
| <button>...</button> | |
| <button>81</button> | |
| <button>›</button> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Markdown widget --> | |
| <div class="markdown-widget"> | |
| <div class="widget-title">📋 About this Dashboard</div> | |
| <p> | |
| This dashboard tracks FedRAMP compliance for Azure resources in the CentralUS region. | |
| Resources must be tagged with <code>stamp</code> and <code>catalog_service</code> to be tagging compliant. | |
| Resources belonging to FedRAMP in-scope stamps (<code>prod-cus-01</code>, <code>mgmt-cus-01</code>) must reside in the matching Scale Unit Subscription | |
| or a subscription tagged <code>compliance_tier=fedramp</code> to be FedRAMP compliant. | |
| <br><br> | |
| 📖 <a href="#">Tagging Standard</a> · 📖 <a href="#">Team Playbook</a> · 📖 <a href="#">TPM Playbook</a> · 📋 <a href="#">Issue #5913</a> | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment