Aller au contenu
hs-sql-agent
2.0.2
Documentation 2.0.2
Documentation Administration

Clés MCP

Émettre, restreindre, renouveler, dupliquer et révoquer les identifiants MCP dans hs-sql-agent 2.0.2.

Périmètre de base Chaque clé de production est liée à une entrée Database Management.
Périmètre d’outils N’exposez que les outils intégrés et Custom Tools publiés dont le client a besoin.
Périmètre de tables Restreignez éventuellement la clé à une liste blanche explicite de tables qualifiées.

Les clés MCP authentifient les requêtes /mcp et portent le périmètre d’autorisation runtime utilisé par hs-sql-agent. Elles sont distinctes des sessions utilisateur Admin et des identités OIDC.

Surface officielle des outils intégrés 2.0.2

Le service de gestion des clés reconnaît cinq outils intégrés :

ToolPérimètre
get_schemasdécouverte des schémas
get_tablesdécouverte des tables
get_columnsdécouverte des colonnes
execute_query_sqlexécution gouvernée de SELECT
execute_dml_sqlSafe DML gouverné

Les Custom Tools publiés pour la même base peuvent aussi être sélectionnés par nom. Consultez Outils personnalisés.

Émettre une clé

  1. Choisir un nom

    La requête exige un nom non vide, limité à 100 caractères.

  2. Lier une base

    DbManagementId est requis par le validateur d’émission 2.0.2.

  3. Sélectionner les outils

    Choisissez les outils intégrés ainsi que les Custom Tools publiés pour cette base.

  4. Restreindre l’accès aux données

    Activez une liste blanche de tables si le client ne doit voir qu’une partie de la base liée.

  5. Définir le cycle de vie

    Configurez éventuellement expiration, origines CORS et mode/overrides de limitation de débit.

  6. Copier le secret en clair

    Stockez la nouvelle clé dans le magasin de secrets du client avant de fermer la boîte de dialogue.

Champs d’émission

ChampSignification
NameNom de clé visible par l’opérateur
ExpiresAtExpiration facultative ; si présente, elle doit être dans le futur
AllowedToolsNoms d’outils séparés par des virgules ; vide = sans restriction
CorsAllowedOriginsRestriction facultative des origines pour les requêtes MCP issues d’un navigateur
DbManagementIdEntrée de base liée ; requise à l’émission
TableWhitelistListe facultative de tables qualifiées autorisées
RateLimitModeInherit, Custom ou Unlimited
PermitLimitOverrideUtilisé pour une limitation par clé personnalisée
WindowSecondsOverrideUtilisé pour une limitation par clé personnalisée

L’enregistrement stocké n’expose qu’un court préfixe d’identification. Le secret brut est vérifié avec le secret HMAC serveur et n’est pas destiné à être réaffiché plus tard.

Renouveler une clé

La rotation crée une clé de remplacement avec le même périmètre base/outils/tables/CORS/limitation que l’ancienne.

L’opérateur choisit une période de grâce de 0 à 1440 minutes :

  • 0 révoque immédiatement l’ancienne clé ;
  • une valeur positive avance si nécessaire son expiration vers la fin de la période de grâce ;
  • la clé de remplacement reçoit son propre secret en clair nouvellement généré.

Dupliquer une clé

La duplication crée une nouvelle clé avec le même périmètre runtime mais un nouveau nom et un nouveau secret. Elle est utile lorsque deux clients ont besoin des mêmes permissions sans partager un identifiant.

La clé dupliquée possède son propre cycle de vie et peut être révoquée ou renouvelée indépendamment de la source.

Révoquer une clé

La révocation marque la clé inactive et écrit un tombstone de révocation dans le chemin de cache de validation avant le commit. L’objectif est d’empêcher un identifiant récemment révoqué de continuer à être validé à cause d’un état de cache obsolète.

Les clés gérées par bootstrap ne peuvent pas être modifiées, renouvelées ou révoquées par les méthodes ordinaires ; leur cycle de vie est contrôlé par la configuration bootstrap.

Limitation de débit

Une clé peut hériter de la politique runtime, définir un override personnalisé ou être explicitement illimitée. La liste Admin indique également la limite effective après combinaison du mode de la clé et de la politique de sécurité courante.

Dans un déploiement multi-instance, utilisez le limiteur distribué lorsque les limites doivent être coordonnées entre les nœuds.

DML et Elicitation

Sélectionner execute_dml_sql ajoute une exigence de compatibilité client. Le client MCP doit prendre en charge le flux form Elicitation utilisé pour l’approbation interactive des modifications.

Lisez Intégration des clients MCP avant d’accorder DML à un nouveau client.