Avec le système RBAC (Role Based Access Control, contrôle d'accès basé sur les rôles) de SaltStack Config, vous pouvez définir des paramètres d'autorisation pour plusieurs utilisateurs à la fois, car les paramètres d'autorisation d'un rôle s'appliquent à tous les utilisateurs inclus dans le rôle. Vous pouvez définir ces paramètres dans l'espace de travail Rôles de l'interface utilisateur.

SaltStack Config est fourni avec plusieurs rôles intégrés qui ne peuvent pas être supprimés.
  • Utilisateur : rôle par défaut attribué à tous les nouveaux utilisateurs locaux, SSO et LDAP. Le rôle Utilisateur couvre les autorisations de base, telles que l'accès en lecture, nécessaires pour exécuter de nombreuses fonctions de base. Les utilisateurs obtenant ce rôle peuvent afficher et exécuter des tâches, ainsi que consulter l'historique des tâches, les retours des tâches et les rapports de certains minions et types de tâches, limités aux paramètres d'accès aux ressources du rôle.
  • Administrateur : ce rôle doit accéder à des outils plus avancés que le rôle d'utilisateur et a donc accès à l'administration du système. Les administrateurs peuvent afficher (et, dans certains cas, modifier) des données sensibles se trouvant dans les paramètres utilisateur et de Pillar. Le rôle peut créer, mettre à jour et supprimer des ressources telles que des fichiers, des tâches et des cibles. Les administrateurs peuvent également gérer les clés si nécessaire lors de la configuration de nouveaux nodes.
  • Superutilisateur : les superutiliseurs peuvent effectuer n'importe quelle opération dans SaltStack Config, notamment accéder à l'administration du système. root est attribué au rôle superutiliseur. Le rôle ne peut pas être supprimé ni cloné. Vous pouvez ajouter n'importe quel groupe ou utilisateur au rôle, mais vous ne pouvez pas modifier les autres paramètres du rôle. Seuls les utilisateurs avancés doivent être ajoutés au rôle Superutiliseur, car il contourne efficacement les restrictions d'autorisations.

En outre, vous pouvez créer des rôles personnalisés pour les besoins uniques de votre organisation.

Pour autoriser un rôle à exécuter une tâche, vous devez définir la tâche autorisée et également attribuer l'accès à une ressource ou à une zone fonctionnelle. Une autorisation est une large catégorie d'actions autorisées, tandis que l'accès aux ressources vous permet de définir une ressource spécifique (par exemple, une tâche ou une cible) sur laquelle l'action peut être effectuée.

L'accès aux ressources pour certains types de ressources et zones fonctionnelles doit être défini dans l'API (RaaS) plutôt que dans l'éditeur de rôles.

Après avoir créé un rôle, vous pouvez choisir de le cloner, de définir les tâches autorisées et d'attribuer l'accès à une tâche ou à une cible.

Pour définir un rôle pour les contrôles d'accès basés sur les rôles (RBAC) dans SaltStack Config, vous devez définir la tâche autorisée et également attribuer l'accès aux ressources. Une tâche est une opération spécifique qui peut être effectuée dans l’interface utilisateur de , telle que la création, la modification ou l’exécution d’une tâche. Une ressource est un élément de votre environnement, tel que des masters, des minions, des cibles, des données de fichier, etc.

Une tâche autorisée est une large catégorie d'actions autorisées, tandis que l'accès aux ressources est plus granulaire, et vous permet de spécifier une ressource particulière (telle qu'une tâche ou une cible) sur laquelle une action peut être exécutée.


permissions-resources-concept

Dans cet exemple, un rôle peut exécuter test.ping sur le groupe cible Linux avec les paramètres d'autorisation suivants :

  • Accès en lecture à la cible Linux
  • Accès Lire/exécuter à une tâche qui inclut la commande test.ping

permissions-resources-example

Tâches

L'onglet Tâches inclut les options suivantes.

Tâche

Description

Créer et supprimer des cibles

Le rôle peut créer des cibles. Les utilisateurs attribués à ce rôle peuvent modifier et supprimer les cibles qu'ils ont créées ou d'autres cibles définies sous Accès aux ressources.

Une cible est le groupe de minions, dans un ou plusieurs masters Salt, à qui s'applique la commande Salt d'une tâche. Un master Salt peut également être géré comme un minion et peut être une cible s'il exécute le service de minion. Reportez-vous à la section Création de cibles.

Modifier les données de colonne

Le rôle peut afficher, modifier et supprimer des informations sensibles stockées dans des colonnes. Les utilisateurs appartenant au rôle peuvent modifier ou supprimer des colonnes qu’ils ont créés. Ils peuvent également modifier ou supprimer d'autres Pillars s'ils disposent d'un accès aux ressources (disponible uniquement via l'API (RaaS)).

Les Pillars sont des structures de données définies sur le master Salt et transmises à un ou plusieurs minions, à l'aide de cibles. Ils permettent l'envoi sécurisé de données confidentielles et ciblées uniquement au minion approprié. Reportez-vous à la section Création de fichiers d'état et de données de Pillar.

Modifier le serveur de fichiers

Le rôle peut afficher le serveur de fichiers et créer, modifier ou supprimer des fichiers. Les utilisateurs appartenant au rôle peuvent modifier ou supprimer les fichiers qu’ils ont créés. Ils peuvent également modifier ou supprimer d'autres fichiers s'ils disposent d'un accès aux ressources (disponible uniquement via l'API (RaaS)).

Le serveur de fichiers est un emplacement permettant de stocker des fichiers spécifiques de Salt, tels que des fichiers principaux ou des fichiers d'état, ainsi que des fichiers qui peuvent être distribués à des minions, tels que des fichiers de configuration système. Reportez-vous à la section Création de fichiers d'état et de données de Pillar.

Exécuter des commandes arbitraires sur des minions

Le rôle peut déclencher des commandes en dehors d'une tâche que le master Salt peut récupérer. Le rôle n'est pas limité à l'exécution de commandes incluses dans la définition d'une tâche donnée.

Les minions sont des nœuds exécutant le service de minion, qui peut écouter les commandes d'un master Salt et effectuer les tâches demandées.

Accepter, supprimer et rejeter les clés

Le rôle peut accepter, supprimer et rejeter des clés de minion si nécessaire pour la configuration initiale.

Une clé de minion permet une communication chiffrée entre un master Salt et un minion Salt.

Lire et modifier des utilisateurs, des rôles, des autorisations

Le rôle peut afficher les utilisateurs et les données associées, ainsi que modifier les paramètres des rôles et des autorisations.

Remarque : cette tâche s'applique uniquement aux rôles d'administrateur et de superutiliseur intégrés.

Les rôles servent à définir des autorisations pour plusieurs utilisateurs qui partagent un ensemble commun de besoins.

Exécuter des commandes sur les masters Salt

Le rôle peut exécuter des commandes sur des masters Salt, notamment pour exécuter l'orchestration.

Les commandes qui s'exécutent sur le master Salt sont également appelées exécuteurs Salt. Les exécuteurs Salt sont des modules utilisés pour exécuter des fonctions pratiques sur le master Salt. Reportez-vous à la section Création de tâches. L'ajout de cette autorisation permet au rôle d'utiliser l'option salt-run depuis la fonctionnalité Commandes Exécuter sous l'onglet Minions de l'espace de travail Cibles.

Conformité : créer, modifier, supprimer et évaluer

Le rôle peut créer, modifier, supprimer et évaluer des stratégies SaltStack SecOps Compliance. En plus d'accorder une autorisation pour cette tâche, vous devez également définir l'accès aux ressources pour toutes les cibles sur lesquelles vous souhaitez que le rôle effectue des actions. Par exemple, si vous souhaitez que le rôle OracleLinuxAdmin définisse des stratégies pour une cible OracleLinux, vous attribuez au rôle l'autorisation d'effectuer cette tâche et l'accès en lecture à la cible OracleLinux.

Cette tâche n'autorise pas le rôle à corriger les stratégies SaltStack SecOps Compliance.

SaltStack SecOps Compliance est un module complémentaire de SaltStack Config qui gère la conformité de sécurité pour tous les systèmes de votre environnement. Pour plus d'informations, consultez Utilisation et gestion de SaltStack SecOps.

Note :

Une licence SaltStack SecOps est requise.

Conformité : corriger

Le rôle peut corriger tous les minions non conformes détectés dans une évaluation de SaltStack SecOps Compliance.

SaltStack SecOps Compliance est un module complémentaire de SaltStack Config qui gère la conformité de sécurité pour tous les systèmes de votre environnement. Pour plus d'informations, consultez Utilisation et gestion de SaltStack SecOps.

Note :

Une licence SaltStack SecOps est requise.

Conformité : mettre à jour le contenu SaltStack

Le rôle peut télécharger des mises à jour dans la bibliothèque de sécurité de SaltStack SecOps Compliance.

Vulnérabilité : créer, modifier, supprimer et évaluer

Le rôle peut créer, modifier, supprimer et évaluer des stratégies SaltStack SecOps Vulnerability. En plus d'accorder une autorisation pour cette tâche, vous devez également définir l'accès aux ressources pour toutes les cibles pour lesquelles vous souhaitez que le rôle exécute des évaluations.

Cette tâche n'autorise pas le rôle à corriger les stratégies SaltStack SecOps Vulnerability.

SaltStack SecOps Compliance est un module complémentaire de SaltStack Config qui gère la conformité de sécurité pour tous les systèmes de votre environnement. Pour plus d'informations, consultez Utilisation et gestion de SaltStack SecOps.

Note :

Une licence SaltStack SecOps est requise.

Vulnérabilité : corriger

Le rôle peut corriger les vulnérabilités détectées dans une évaluation de SaltStack SecOps Vulnerability.

SaltStack SecOps Vulnerability est un module complémentaire de SaltStack Config qui gère les vulnérabilités sur tous les systèmes de votre environnement. Pour plus d'informations, consultez Utilisation et gestion de SaltStack SecOps.

Note :

Une licence SaltStack SecOps est requise.

Accès aux ressources

L'onglet Accès aux ressources vous permet de définir l'accès aux ressources pour les cibles et les tâches. Une cible est le groupe de minions, dans un ou plusieurs masters Salt, à qui s'applique la commande Salt d'une tâche. Un master Salt peut également être géré comme un minion et peut être une cible s'il exécute le service de minion. Les tâches servent à exécuter des tâches à distance, à appliquer des états et à démarrer des activités Salt.

Note : Les types de ressources non définis dans le tableau ne nécessitent pas de paramètres d'accès aux ressources spécifiques.
Type de ressource Niveaux d'accès
Cibles
  • Lecture seule : le rôle peut afficher la cible indiquée et ses détails, mais ne peut ni la modifier ni la supprimer.
  • Lire/écrire : le rôle peut afficher et modifier la cible indiquée.
  • Lire/écrire/supprimer : le rôle peut afficher, modifier et supprimer la cible indiquée.
Tâches
  • Lecture seule : le rôle peut afficher la tâche indiquée et ses détails, mais ne peut ni la modifier ni la supprimer ni l'exécuter.
  • Lire/exécuter : le rôle peut afficher et exécuter la tâche indiquée.
  • Lire/exécuter/écrire : le rôle peut afficher et modifier la tâche indiquée, ainsi que l'exécuter.
  • Lire/exécuter/écrire/supprimer : le rôle peut afficher, modifier et supprimer la tâche indiquée, ainsi que l'exécuter.

Pour plus d'informations, reportez-vous à la section Création de tâches.

Autres types de ressources : l'accès aux types de ressources suivants doit être défini à l'aide de l'API (RaaS).
  • Fichiers dans le serveur de fichiers
  • Données du Pillar
  • Configuration de l'authentification
Défini dans l'API (RaaS)

Conditions préalables

Pour définir des rôles d'utilisateur, vous devez disposer d'un accès administrateur.

Procédure

  1. Dans le menu latéral, cliquez sur Administration > Rôles.
  2. Cliquez sur Créer, puis entrez un nom pour le rôle.
  3. Sous Tâches, sélectionnez les actions autorisées pour accorder le rôle.
  4. Cliquez sur Enregistrer.
  5. Pour attribuer l'accès à une tâche ou à une cible, sélectionnez le rôle dans l'espace de travail Rôles, localisez la tâche ou la cible requise sous l'onglet Accès aux ressources, puis sélectionnez le niveau d'accès souhaité. Par exemple, pour autoriser un rôle à exécuter des tâches, sélectionnez Lire/Exécuter et cliquez sur Enregistrer.
  6. (Facultatif) Pour inclure des groupes, sélectionnez le rôle dans l'espace de travail Rôles, sélectionnez les groupes que vous souhaitez inclure depuis l'onglet Groupes, puis cliquez sur Enregistrer.
    Note : Les autorisations de rôle sont cumulatives. Les utilisateurs des groupes attribués à plusieurs rôles obtiennent accès à une combinaison de tous les éléments accordés à partir de chaque rôle. Les groupes sélectionnés, y compris tous les utilisateurs de ces groupes, se sont vus accorder toutes les tâches autorisées et l’accès aux ressources définis dans les paramètres de rôle.
  7. (Facultatif) Pour cloner un rôle, sélectionnez-le dans l'espace de travail Rôles, cliquez sur Cloner, entrez un nouveau nom pour le rôle puis cliquez sur Enregistrer.
    Note : Les rôles clonés héritent par défaut des tâches autorisées du rôle d'origine. Les rôles clonés n'héritent pas de l'accès aux ressources, qui doit être défini séparément.
  8. (Facultatif) Dans certaines situations, vous devrez peut-être configurer des autorisations plus granulaires. Pour accorder des autorisations avancées, cliquez sur Administration > Rôles > Avancé, sélectionnez le rôle puis sélectionnez ou désélectionnez les autorisations avancées. Cliquez sur Enregistrer. Pour plus d'informations sur les autorisations avancées et les types d'éléments, reportez-vous à la section Autorisations avancées et types d'éléments.
    Note : Les autorisations minimales recommandées pour les opérations d'utilisateur classiques sont surlignées en bleu.
    roles-advanced-blue-highlighting