6.8.2. Activer le RBAC (Role-Based Access Control)

Le système de contrôle d'accès basé sur les rôles (RABC) est désactivé par défaut. Il est activé en changeant l'attribut provider en le faisant passer de simple à rbac. Cela peut être fait en utilisant l'outil jboss-cli.sh, ou en modifiant la configuration du serveur XML du fichier si le serveur est hors ligne. Quand RBAC est désactivé ou activé sur un serveur en cours d'exécution, la configuration du serveur doit être rechargée avant de prendre effet.
Une fois activé, ne peut être désactivé que par un utilisateur ayant les rôles Adminstrateur ou Superutilisateur. Par défaut, le jboss-cli.sh est exécuté par le rôle SuperUser s'il est exécuté dans la même machine que le serveur.

Procédure 6.1. Activer RBAC

  • Pour activer RBAC avec jboss-cli.sh utiliser l'opération write-attribute de la ressource d'autorisation d'accès, pour définir la valeur de l'attribut provider à rbac
    /core-service=management/access=authorization:write-attribute(name=provider, value=rbac)
    [standalone@localhost:9999 /] /core-service=management/access=authorization:write-attribute(name=provider, value=rbac)
    {
        "outcome" => "success",
        "response-headers" => {
            "operation-requires-reload" => true,
            "process-state" => "reload-required"
        }
    }
    [standalone@localhost:9999 /] /:reload
    {
        "outcome" => "success",
        "result" => undefined
    }

Procédure 6.2. Désactiver RBAC

  • Pour désactiver RBAC avec jboss-cli.sh utiliser l'opération write-attribute de la ressource d'autorisation d'accès pour définir la valeur de l'attribut provider à simple
    /core-service=management/access=authorization:write-attribute(name=provider, value=simple)
    [standalone@localhost:9999 /] /core-service=management/access=authorization:write-attribute(name=provider, value=simple)
    {
        "outcome" => "success",
        "response-headers" => {
            "operation-requires-reload" => true,
            "process-state" => "reload-required"
        }
    }
    [standalone@localhost:9999 /] /:reload
    {
        "outcome" => "success",
        "result" => undefined
    }
Si le serveur est hors ligne, la configuration XML peuvent être sur RBAC « activé » ou « désactivé ». Pour ce faire, modifiez l'attribut provider de l'élément de contrôle d'accès de l'élément access-control. Définissez la valeur rbac sur « activé » et simple sur « désactivé ».
<management>

        <access-control provider="rbac">
            <role-mapping>
                <role name="SuperUser">
                    <include>
                        <user name="$local"/>
                    </include>
                </role>
            </role-mapping>
        </access-control>

    </management>