A page under Overvågning lists the monitored servers (from SQLInsight Web and,
read-only, from the agent's configuration file), adds a server (name\instance,
optional port, Windows via the agent's account or a SQL login, encryption),
pauses, resumes and removes it, and finds instances via the agent (SQL Server
Browser). Each server's page shows the agent's connection test with the rights
it has and lacks, the least-privilege GRANT script for the login the agent
arrives as, and the discovered databases (state, size, recovery model,
compatibility level, Dynamics AX) to tick for monitoring, with "overvåg
automatisk nye databaser" and AX findings to the hub per database. Pages
refresh while the agent works on a request.
Only SQLInsight:Web:AdminGroups (new) may change anything; others see it.
SQL login passwords are sealed with the agent's public key on arrival and
never shown or returned; a new server or login needs the password again.
API v1: /monitored-instances (list, add, get, patch pause/monitor-new,
connection, delete), …/connection-test (start, latest with missing
permissions), …/discovery, …/databases (read, choose), …/grant-script,
/instance-discovery and /agent-requests/{id}. Changes need the new token scope
config:write, or AdminGroups for Windows users.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
34 lines
1.6 KiB
C#
34 lines
1.6 KiB
C#
namespace SQLInsight.Web;
|
|
|
|
public sealed class WebOptions
|
|
{
|
|
public const string SectionName = "SQLInsight:Web";
|
|
|
|
/// <summary>Windows (Negotiate/Kerberos) or None. None is for development only.</summary>
|
|
public string Authentication { get; set; } = "Windows";
|
|
|
|
/// <summary>Windows groups allowed to use the UI (e.g. DOMAIN\SQL-Admins). Empty: any authenticated user.</summary>
|
|
public IList<string> AllowedGroups { get; } = [];
|
|
|
|
/// <summary>
|
|
/// Windows groups that may change which servers and databases are monitored (Konfiguration og sikkerhed → Servere
|
|
/// og databaser), e.g. DOMAIN\SQL-Admins. Empty: nobody can change it in the UI; everyone with access can see it.
|
|
/// </summary>
|
|
public IList<string> AdminGroups { get; } = [];
|
|
|
|
/// <summary>Time zone for display, e.g. Europe/Copenhagen. Defaults to the server's local time zone.</summary>
|
|
public string? TimeZone { get; set; }
|
|
|
|
|
|
/// <summary>Include evidence marked sensitive (query text, logins, host names) in /api/v1/findings. Off by default.</summary>
|
|
public bool ApiIncludesSensitiveEvidence { get; set; }
|
|
|
|
/// <summary>Name shown on reports, e.g. the company or department.</summary>
|
|
public string Organization { get; set; } = "SQL Server-miljøet";
|
|
|
|
/// <summary>The SQLInsight Pro website (documentation, downloads, support plans), linked from the menu.</summary>
|
|
public Uri CommunityUrl { get; set; } = new("https://sqlinsight.seosoft.dk/");
|
|
|
|
/// <summary>The community forum, linked from the menu.</summary>
|
|
public Uri ForumUrl { get; set; } = new("https://forum.seosoft.dk/c/sqlinsight");
|
|
}
|