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

Permissions

Comprendre le modèle d’autorisation chemin + action utilisé par les opérations Admin de hs-sql-agent 2.0.2.

Chemin de permission Identifie la ressource Admin protégée, par exemple /runtime/db-management ou /auth/user.
Action Identifie l’opération autorisée, par exemple view, create, edit, delete ou export.
Sélection de rôle Les rôles ne stockent que des paires permission/action présentes dans l’inventaire de modèles du serveur.

L’autorisation Admin en 2.0.2 utilise un canonical permission path + action code. Le chemin canonique est un identifiant stable de ressource d’autorisation ; ce n’est ni une route de l’Admin UI ni un chemin de montage HTTP. Par exemple, /runtime/db-management et /auth/role restent les mêmes identifiants d’autorisation même si la navigation ou les URL des contrôleurs changent.

Les mêmes identifiants canoniques servent deux modes d’autorisation d’administration mutuellement exclusifs. Avec l’identité intégrée, les membres et rôles HsSqlAgent résolvent les modèles permission/action. Avec AddHsSqlAgentHostAuthorization(), HsSqlAgent transmet les clés de permission canoniques demandées via HsSqlAgentPermissionResource.Permissions et l’application hôte les mappe vers sa propre politique. Sauf mention contraire, les sections sur les rôles et modèles ci-dessous décrivent le mode d’identité intégré.

Exemples du runtime

Opération protégéePaire requise
voir Database Management/runtime/db-managementview
créer une entrée Database Management/runtime/db-managementcreate
modifier les métadonnées sémantiques/runtime/db-management/semanticedit
émettre/gérer les clés MCP/runtime/mcp-keys avec l’action correspondante
voir les utilisateurs/auth/userview
modifier les rôles/auth/roleedit
voir l’audit/runtime/auditview
exporter l’audit/runtime/auditexport
modifier la politique de sécurité/runtime/securityedit
relancer une livraison sortante/runtime/operabilityedit

En mode d’identité intégré, l’authentification seule n’est donc pas suffisante : la paire chemin/action requise doit aussi être résolue via les rôles du membre. En mode d’autorisation hôte, le même besoin de permission est délégué à la politique de l’application hôte.

Les modèles permission-action font autorité

L’API Role expose un inventaire permission-action-templates. Chaque modèle contient :

  • un identifiant, un nom et un chemin de permission ;
  • un identifiant, un code et un nom d’action.

Un payload de rôle soumet les sélections sous forme de paires { PermissionId, ActionId }. Le service de rôles normalise les doublons et ne stocke que les paires existantes dans l’inventaire.

Le rôle est l’unité d’attribution

Les membres reçoivent des rôles, et les rôles contiennent des sélections permission/action. Cela sépare le cycle de vie des utilisateurs de la politique d’accès réutilisable :

Member
  └─ Role(s)
       └─ Permission path + Action

Un membre peut avoir plusieurs rôles. Son accès Admin effectif correspond à la surface cumulée de ces rôles.

Les changements d’autorisation invalident l’état obsolète

La modification d’un rôle est sensible pour la sécurité. Lorsque ses permissions changent, le service trouve les membres concernés, incrémente leur version de sécurité et effectue la mutation via la barrière de cache d’état runtime d’authentification.

Le but est d’empêcher une session déjà authentifiée de conserver une autorisation périmée après modification du rôle.

Rôle SuperUser protégé

SuperUser est un rôle intégré protégé en 2.0.2. Il ne peut pas être modifié ni supprimé par la gestion normale des rôles. Le rôle bootstrap/de contrôle complet ne peut donc pas être redéfini silencieusement avec un autre ensemble de permissions.

Guides associés