11.9.2. Les RBAC (Role-Based Access Control) dans la console de gestion et le CLI
Lorsque le contrôle d'accès basé sur les rôles (RBAC) est activé, le rôle assigné à un utilisateur déterminera les ressources auxquelles il aura accès et les opérations qu'il pourra effectuer avec des attributs de ressources.
- La console de gestion
- Dans la console de gestion, certains contrôles et vues sont désactivés (en gris) ou invisibles selon les permissions du rôle assignées à l'utilisateur.Si vous n'avez pas de permission de lecture pour un attribut de ressource, cet attribut apparaîtra en blanc sur la console. Ainsi, la plupart des rôles ne peuvent pas lire les champs Nom d'utilisateur ou Mot de passe des sources de données.Si vous n'avez pas de permission d'écriture sur un attribut de ressource, cet attribut sera désactivé (grisé) dans le formulaire de modification de la ressource. Si vous n'avez pas de permission d'écriture sur la ressource, le bouton de modification de la ressource ne s'affichera pas.Si un utiliisateur ne possède pas les permissions nécessaires pour accéder à une ressource ou à un attribut (c'est « non adressable » ce pour rôle), ce n'apparaîtra pas dans la console. L'accès contrôle système lui-même uniquement visible par quelques rôles par défaut en est un exemple.
- l'interface CLI ou l'API
- Les utilisateurs de l'outil
jboss-cli.sh
ou de l'API rencontreront un comportement légèrement différent dans l'API lorsque RBAC est activé.Les ressources et les attributs qui ne peuvent être lus sont filtrés des résultats. Si les éléments filtrés sont adressables par le rôle, leurs noms seront répertoriés en tant quefiltered-attributes
dans la sectionresponse-headers
du résultat. Si une ressource ou un attribut n'est pas adressable par le rôle, il n'apparaîtra pas.Toute tentative d'accès à une ressource non adressable résultera par l'erreurresource not found
.Si un utilisateur tente d'écrire ou de lire une ressource qu'il peut adresser, mais qu'il n'a pas les permissions de lecture ou d'écriture qui conviennent, une erreurPermission Denied
apparaîtra.