11.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 Adminstrator ou SuperUser. 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 11.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
    }
    [standalone@localhost:9999 /]
    

Procédure 11.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
    }
    [standalone@localhost:9999 /]
    
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 de gestion. 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>