Guide d'administration système de Sun Cluster 3.1 10/03

Chapitre 2 Sun Cluster et RBAC

Ce chapitre décrit le RBAC (Contrôle d'accès basé sur les rôles) appliqué à Sun Cluster. Il aborde les sujets suivants :

Installation et utilisation du RBAC avec Sun Cluster

Le tableau indiqué ci-dessous vous permet de déterminer la documentation à consulter pour l'installation et l'utilisation du RBAC. Les étapes spécifiques à suivre pour installer et utiliser le RBAC sous Sun Cluster sont présentées plus loin dans ce chapitre.

Pour 

Reportez-vous à la rubrique 

En savoir plus sur le RBAC 

“Role-Based Access Control (Overview)” in System Administration Guide: Security Services

Définir, gérer des éléments et utiliser le RBAC 

“Role-Based Access Control (Tasks)” in System Administration Guide: Security Services

En savoir plus sur les éléments et outils du RBAC 

“Role-Based Access Control (Reference)” in System Administration Guide: Security Services

Profils d'autorisations d'accès RBAC pour Sun Cluster

Les commandes et options SunPlex Manager ainsi que certaines des commandes et options Sun Cluster exécutées à partir de la ligne de commande utilisent le RBAC pour l'authentification. Sun Cluster comprend plusieurs profils d'autorisations d'accès RBAC. Vous pouvez assigner ces profils d'autorisations d'accès aux utilisateurs ou aux rôles pour leur affecter différents niveaux d'accès à Sun Cluster. Sun fournit les profils d'autorisations d'accès indiqués ci-dessous avec le logiciel Sun Cluster.

Profil d'autorisations d'accès 

Autorisations incluses 

Cette autorisation permet à l'identité de rôle de  

Commandes Sun Cluster 

Aucune, mais comprend une liste de commandes Sun Cluster s'exécutant avec euid=0

Exécuter des commandes Sun Cluster spécifiques permettant de configurer et de gérer un cluster, notamment : 

scgdevs( 1M)

scswitch(1M) (options spécifiques)

scha_control( 1HA)

scha_resource_get(1HA)

scha_resource_setstatus(1HA)

scha_resourcegroup_get(1HA)

scha_resourcetype_get(1HA)

Utilisateur Solaris de base 

Ce profil d'autorisations d'accès existant contient des autorisations Solaris, ainsi que : 

Effectuer les mêmes opérations que l'identité de rôle de l'utilisateur Solaris de base, ainsi que : 

 

solaris.cluster.device.read

Lire les informations sur les groupes de périphériques  

  

solaris.cluster.gui

Accéder à SunPlex Manager 

  

solaris.cluster.network.read

Lire les informations sur les multi-acheminements sur réseau IP 


Remarque :

cette autorisation ne s'applique pas à SunPlex Manager.


  

solaris.cluster.node.read

Lire les informations sur les attributs des noeuds 

  

solaris.cluster.quorum.read

Lire les informations sur les périphériques de quorum et l'état du quorum 

  

solaris.cluster.resource.read

Lire les informations sur les ressources et les groupes de ressources 

  

solaris.cluster.system.read

Lire le statut du cluster 

  

solaris.cluster.transport.read

Lire les informations sur le transport 

Fonctionnement du cluster 

solaris.cluster.appinstall

Installer des applications en cluster 

  

solaris.cluster.device.admin

Exécuter des tâches administratives sur les attributs des groupes de périphériques 

 

solaris.cluster.device.read

Lire les informations sur les aux groupes de périphériques  

  

solaris.cluster.gui

Accéder à SunPlex Manager 

  

solaris.cluster.install

Installer le logiciel de clustering 


Remarque :

cette autorisation ne s'applique pas à SunPlex Manager.


  

solaris.cluster.network.admin

Exécuter des tâches administratives sur les attributs du multi-acheminement sur réseau IP 


Remarque :

cette autorisation ne s'applique pas à SunPlex Manager.


  

solaris.cluster.network.read

Lire les informations sur le multi-acheminement sur réseau IP 


Remarque :

cette autorisation ne s'applique pas à SunPlex Manager.


  

solaris.cluster.node.admin

Exécuter des tâches administratives sur les attributs des noeuds 

  

solaris.cluster.node.read

Lire les informations sur les attributs des noeuds 

  

solaris.cluster.quorum.admin

Exécuter des tâches administratives sur les périphériques de quorum et les attributs de l'état du quorum  

  

solaris.cluster.quorum.read

Lire les informations sur les périphériques de quorum et sur l'état du quorum 

  

solaris.cluster.resource.admin

Exécuter des tâches administratives sur les attributs des ressources et des groupes de ressources  

  

solaris.cluster.resource.read

Lire les informations sur les ressources et groupes de ressources 

  

solaris.cluster.system.admin

Administrer le système 


Remarque :

cette autorisation ne s'applique pas à SunPlex Manager.


  

solaris.cluster.system.read

Lire le statut du cluster 

  

solaris.cluster.transport.admin

Exécuter des tâches administratives sur les attributs de transport 

  

solaris.cluster.transport.read

Lire les informations sur le transport 

Administrateur système 

Ce profil de d'autorisations Solaris existant contient les mêmes autorisations que le profil de gestion du cluster. 

Exécuter les mêmes opérations que l'identité de rôle de gestion du cluster, ainsi que d'autres opérations d'administration du système 

Gestion du cluster 

Ce profil d'autorisations d'accès contient les mêmes autorisations que le profil de fonctionnement du cluster, ainsi que les autorisations suivantes : 

Exécuter les mêmes opérations que l'identité de rôle de fonctionnement du cluster, ainsi que : 

  

solaris.cluster.device.modify

Modifier les attributs des groupes de périphériques 

  

solaris.cluster.gui

Accéder à SunPlex Manager 

  

solaris.cluster.network.modify

Modifier les attributs du multi-acheminement sur réseau IP 


Remarque :

cette autorisation ne s'applique pas à SunPlex Manager.


  

solaris.cluster.node.modify

Modifier les attributs des noeuds 


Remarque :

cette autorisation ne s'applique pas à SunPlex Manager.


  

solaris.cluster.quorum.modify

Modifier les périphériques de quorum ainsi que les attributs d'état du quorum 

  

solaris.cluster.resource.modify

Modifier les attributs des ressources et des groupes de ressources 

  

solaris.cluster.system.modify

Modifier les attributs du système 


Remarque :

cette autorisation ne s'applique pas à SunPlex Manager.


  

solaris.cluster.transport.modify

Modifier les attributs du transport 

Création et attribution d'un rôle RBAC avec un profil d'autorisations de gestion Sun Cluster

Pour créer un rôle, vous devez utiliser un rôle possédant le profil d'autorisations d'administrateur principal ou exécuter l'opération en tant que root.

Création d'un rôle à l'aide de l'outil Rôles administratifs
  1. Démarrez l'outil Rôles administratifs.

    Démarrez cet outil ainsi que la Solaris Management Console comme le décrit la rubrique “How to Assume a Role in the Console Tools” in System Administration Guide: Security Services. Puis, ouvrez la User Tool Collection et cliquez sur l'icône Rôles administratifs.

  2. Lancez l'assistant Ajout de rôles administratifs.

    Sélectionnez Ajouter un rôle administratif dans le menu Action afin de démarrer l'assistant Ajout d'un rôle administratif qui vous permettra de configurer les rôles.

  3. Définissez un rôle disposant du profil d'autorisations de Gestion de cluster.

    Utilisez les boutons Suivant et Retour pour naviguer entre les boîtes de dialogue. Vous remarquerez que le bouton Suivant n'est actif que lorsque vous avez renseigné tous les champs voulus. La dernière boîte de dialogue vous permet de voir l'ensemble des données entrées ; vous pouvez en modifier ou cliquer sur Terminer pour enregistrer le nouveau rôle. Le Tableau 2–1 fournit un résumé des boîtes de dialogue.


    Remarque :

    vous devez placer ce profil en premier dans la liste des profils attribués au rôle.


  4. Ajoutez les utilisateurs devant utiliser les fonctions de SunPlex Manager ou les commandes de Sun Cluster au rôle créé.

    La commande useradd(1M) vous permet d'ajouter un compte utilisateur sur le système. L'option -P affecte un rôle à un compte utilisateur.

  5. Cliquez sur Terminé lorsque vous avez fini.

  6. Ouvrez une fenêtre du terminal, connectez-vous en tant que root, puis démarrez et arrêtez le démon de la mémoire cache du service de noms.

    Le nouveau rôle n'est valide qu'une fois redémarré le démon de la mémoire cache du service de noms. Après vous être connecté en tant que root, entrez la commande suivante :


    # /etc/init.d/nscd stop
    # /etc/init.d/nscd start
    
Tableau 2–1 Assistant Ajout d'un rôle administratif : boîtes de dialogue et champs

Boîte de dialogue 

Champs 

Description du champ 

Étape 1 : entrer un nom de rôle 

Nom du rôle 

Nom abrégé du rôle. 

 

Nom complet 

Version longue du nom. 

 

Description 

Description du rôle. 

 

ID du rôle 

ID utilisateur pour le rôle, automatiquement incrémenté. 

 

Shell du rôle 

Shells de profils disponibles pour les rôles : C shell administrateur, bourne-shell administrateur ou korn-shell administrateur. 

 

Créez une liste de distribution du rôle 

Création d'une liste de distribution pour les utilisateurs auxquels est assigné ce rôle. 

Étape 2 : entrer un mot de passe de rôle 

Mot de passe du rôle 

********. 

 

Confirmer le mot de passe 

********. 

Étape 3 : sélectionner les autorisations d'accès au rôle 

Autorisations disponibles / autorisations accordées 

Permet d'attribuer ou de supprimer des profils d'autorisations.  

Vous remarquerez que le système vous permet de saisir plusieurs occurrences de la même commande. Les attributs affectés à la première occurrence d'une commande dans un profil d'autorisations sont prioritaires et toutes les autres occurrences sont ignorées. Les flèches vers le haut et vers le bas vous permettent d'en modifier l'ordre. 

Étape 4 : sélectionner un répertoire personnel 

Serveur 

Serveur du répertoire personnel. 

 

Chemin 

Chemin du répertoire personnel. 

Étape 5 : affecter des utilisateurs à ce rôle 

Ajouter 

Permet d'ajouter des utilisateurs pouvant utiliser ce rôle. Il doivent avoir la même portée. 

 

Supprimer 

Permet de supprimer les utilisateurs affectés à ce rôle. 

Création d'un rôle à partir de la ligne de commande
  1. Connectez-vous en tant que superutilisateur ou utilisez un rôle permettant de créer de nouveaux rôles.

  2. Sélectionnez une méthode pour créer un rôle :

    • Pour un rôle de portée locale, utilisez la commande roleadd (1M) pour définir le nouveau rôle local et ses attributs.

    • Pour un rôle de portée locale, vous pouvez aussi éditer le fichier user_attr(4 ) pour ajouter un utilisateur avec type=role .

      Cette méthode n'est recommandée qu'en cas d'urgence car des erreurs peuvent facilement se glisser dans vos saisies.

    • Pour un rôle dans un service de noms, utilisez la commande smrole(1M) pour définir le nouveau rôle et ses attributs.

      Cette commande requiert une authentification de la part du superutilisateur ou un rôle permettant de créer de nouveaux rôles. Vous pouvez appliquer smrole à tous les services de noms. Cette commande s'exécute en tant que client du serveur de la Solaris Management Console.

  3. Démarrez puis arrêtez le démon de la mémoire cache du service de noms.

    Les nouveaux rôles ne sont valides qu'une fois redémarré le démon de la mémoire cache du service de noms. Après vous être connecté en tant que root, entrez la commande suivante :


    # /etc/init.d/nscd stop
    # /etc/init.d/nscd start
    

Exemple 2–1 Création d'un rôle Opérateur personnalisé à l'aide de la commande smrole

Les étapes suivantes illustrent la création d'un rôle à l'aide de la commande smrole. Dans cet exemple, une nouvelle version du rôle Opérateur est créée, à laquelle sont affectés les profils d'autorisations Opérateur standard et Restauration des supports.


% su primaryadmin
# /usr/sadm/bin/smrole add -H myHost -- -c "Custom Operator" -n oper2 -a johnDoe \
-d /export/home/oper2 -F "Backup/Restore Operator" -p "Operator" -p "Media Restore"
Authenticating as user: primaryadmin

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: <type primaryadmin password>

Loading Tool: com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost
Login to myHost as user primaryadmin was successful.
Download of com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost was successful.

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password ::<type oper2 password>

# /etc/init.d/nscd stop
# /etc/init.d/nscd start

Pour visualiser le nouveau rôle (et tout autre rôle). utilisez la commande smrole avec l'option list, de la manière suivante :


# /usr/sadm/bin/smrole list --
Authenticating as user: primaryadmin

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: <type  primaryadmin password>

Loading Tool: com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost
Login to myHost as user primaryadmin was successful.
Download of com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost was successful.
root                    0               Super-User
primaryadmin            100             Most powerful role
sysadmin                101             Performs non-security admin tasks
oper2                   102             Custom Operator

Modification des propriétés RBAC d'un utilisateur

Pour modifier les propriétés d'un utilisateur, vous devez exécuter la User Tool Collection en tant que root ou utiliser un rôle disposant du profil d'autorisations Administrateur principal.

Modification des propriétés RBAC d'un utilisateur à l'aide de l'outil Comptes utilisateur
  1. Démarrez l'outil Comptes utilisateurs.

    Pour ce faire, démarrez la Solaris Management Console, comme indiqué dans la rubrique “How to Assume a Role in the Console Tools” in System Administration Guide: Security Services. Ouvrez ensuite la User Tool Collection, et cliquez sur l'icône Comptes utilisateurs.

    Une fois l'outil Comptes utilisateurs lancé, les icônes correspondant aux comptes utilisateurs existants apparaissent dans le panneau d'affichage.

  2. Cliquez sur le compte utilisateur à modifier et sélectionnez Propriétés dans le menu (ou double-cliquez simplement sur l'icône du compte utilisateur).

  3. Dans la boîte de dialogue, cliquez sur l'onglet correspondant à la propriété à modifier, comme indiqué ci-dessous :

    • Pour modifier les rôles affectés à l'utilisateur, cliquez sur l'onglet Rôles et déplacez l'affectation de rôle à modifier dans la colonne appropriée : Rôles disponibles ou Rôles attribués.

    • Pour modifier les profils d'autorisations affectés à l'utilisateur, cliquez sur l'onglet Autorisations et déplacez-les dans la colonne appropriée : Autorisations disponibles ou Autorisations attribuées.


      Remarque :

      il est déconseillé d'affecter directement des profils d'autorisations aux utilisateurs. Il est préférable de laisser les utilisateurs s'attribuer eux-mêmes le rôle pour l'exécution d'applications privilégiées. Cela permet d'éviter que des utilisateurs normaux n'abusent des privilèges.


Modification des propriétés RBAC d'un utilisateur à partir de la ligne de commande
  1. Connectez-vous en tant que superutilisateur ou utilisez un rôle permettant de modifier les fichiers utilisateur.

  2. Utilisez la commande appropriée :

    • Pour modifier les autorisations, les rôles ou les profils d'autorisations affectés à un utilisateur de portée locale, utilisez la commande usermod (1M).

    • Pour modifier les autorisations, les rôles ou les profils d'autorisations affectés à un utilisateur du domaine local, vous pouvez également éditer le fichier user_attr.

      Cette méthode n'est recommandée qu'en cas d'urgence car des erreurs peuvent facilement se glisser dans vos saisies.

    • Pour modifier les autorisations, les rôles ou les profils d'autorisations affectés à un utilisateur défini dans un service de noms, utilisez la commande smuser(1M).

      Cette commande requiert l'authentification du superutilisateur ou d'un rôle permettant de modifier des fichiers utilisateur. Vous pouvez appliquer smuser à tous les services de noms. smuser s'exécute en tant que client du serveur de la Solaris Management Console.