11.9.6. Configurer Attribution de rôles de groupe avec jboss-cli.sh

Les groupes à inclure ou à exclure d'un rôle peuvent être configurés dans la Console de gestion et par le jboss-cli.sh. Cette section explique uniquement comment utiliser l'outil jboss-cli.sh.
La configuration du mappage des utilisateurs et des groupes en rôles se situe dans l'API de gestion à : /core-service=management/access=authorization en tant qu'éléments de mappage.
Seuls les utilisateurs qui possèdent les rôles SuperUser ou Administrator peuvent faire cette configuration.

Procédure 11.16. Affichage de la Configuration Attribution de rôles de groupe

  1. Utiliser l'opération read-children-names pour obtenir une liste complète des rôles configurés :
    /core-service=management/access=authorization:read-children-names(child-type=role-mapping)
    [standalone@localhost:9999 access=authorization] :read-children-names(child-type=role-mapping)
    {
        "outcome" => "success",
        "result" => [
            "ADMINISTRATOR",
            "DEPLOYER",
            "MAINTAINER",
            "MONITOR",
            "OPERATOR",
            "SuperUser"
        ]
    }
    
  2. Utiliser l'opération read-resource d'un mappage de rôle (role-mapping) pour obtenir toutes les informations sur un rôle particulier :
    /core-service=management/access=authorization/role-mapping=ROLENAME:read-resource(recursive=true)
    [standalone@localhost:9999 access=authorization] ./role-mapping=ADMINISTRATOR:read-resource(recursive=true)
    {
        "outcome" => "success",
        "result" => {
            "include-all" => false,
            "exclude" => undefined,
            "include" => {
                "user-theboss" => {
                    "name" => "theboss",
                    "realm" => undefined,
                    "type" => "USER"
                },
                "user-harold" => {
                    "name" => "harold",
                    "realm" => undefined,
                    "type" => "USER"
                },
                "group-SysOps" => {
                    "name" => "SysOps",
                    "realm" => undefined,
                    "type" => "GROUP"
                }
            }
        }
    }
    [standalone@localhost:9999 access=authorization]
    

Procédure 11.17. Ajouter un nouveau rôle

Cette procédure montre comment ajouter un role-mapping pour un rôle. Doit être effectué avant que le rôle puisse être configuré.
  • Utiliser l'opération add pour ajouter une nouvelle configuration de rôle.
    /core-service=management/access=authorization/role-mapping=ROLENAME:add
    [standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR:add             
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]
    

Procédure 11.18. Ajouter un Groupe comme inclus dans un rôle

Cette procédure montre comment ajouter un Groupe dans la liste d'inclusions d'un rôle.
S'il n'y a pas de configuration de rôle, alors vous devez commencer par la saisie du role-mapping.
  • Utiliser l'opération add pour ajouter une entrée de Groupe dans la liste d'inclusions du rôle.
    /core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:add(name=GROUPNAME, type=GROUP)
    ROLENAME est le nom du rôle en cours de configuration.
    GROUPNAME est le nom du groupe entrain d'être ajouté à la liste des inclusions.
    ALIAS est un nom unique pour ce mappage. Red Hat recommande d'utiliser une convention de mappage pour tous les alias comme group-GROUPNAME.
    [standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR/include=group-investigators:add(name=investigators, type=GROUP)
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]
    

Procédure 11.19. Ajouter un groupe comme exclus dans un rôle

Cette procédure montre comment ajouter un groupe dans la liste d'exclusions d'un rôle.
S'il n'y a pas de configuration de rôle, alors vous devez commencer par la saisie du role-mapping.
  • Utiliser l'opération add pour ajouter une entrée de Groupe dans la liste d'exclusions du rôle.
    /core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=GROUPNAME, type=GROUP)
    ROLENAME est le nom du rôle en cours de configuration
    GROUPNAME est le nom du groupe entrain d'être ajouté à la liste des inclusions
    ALIAS est un nom unique pour ce mappage. Red Hat recommande d'utiliser une convention de mappage pour tous les alias comme group-GROUPNAME.
    [standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR/exclude=group-supervisors:add(name=supervisors, type=USER)
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]
    

Procédure 11.20. Configuration Suppression d'un rôle de groupe

Cette procédure vous montre comment supprimer une entrée d'inclusion de groupe d'un mappage de groupe.
  • Utiliser l'opération remove pour supprimer la saisie.
    /core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:remove
    ROLENAME est le nom du rôle en cours de configuration
    ALIAS est un nom unique pour ce mappage. Red Hat recommande d'utiliser une convention de mappage pour tous les alias comme group-GROUPNAME.
    [standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR/include=group-investigators:remove
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]
    
    Supprimer le groupe de la liste d'inclusions ne permet pas de supprimer le groupe du système, ni ne garantit que le rôle ne sera pas assigné à des utilisateurs de ce groupe. Le rôle peut être assigné à des utilisateurs du groupe individuellement.

Procédure 11.21. Supprimer une entrée d'exclusion de groupe d'utilisateurs

Cette procédure montre comment supprimer une entrée d'exclusion d'un mappage de rôle.
  • Utiliser l'opération remove pour supprimer la saisie.
    /core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
    ROLENAME est le nom du rôle en cours de configuration.
    ALIAS est un nom unique pour ce mappage. Red Hat recommande d'utiliser une convention de mappage pour tous les alias comme group-GROUPNAME.
    [standalone@localhost:9999 access=authorization] ./role-mapping=AUDITOR/exclude=group-supervisors:remove
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]
    
    Supprimer le groupe de la liste d'exclusions ne permet pas de supprimer le groupe du système, ni ne garantit que le rôle ne va pas être assigné à des membres du groupe. Les rôles peuvent être exclus sur la base de l'appartenance à un groupe.