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.
- 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.
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
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 . |
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 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.
Type de ressource | Niveaux d'accès |
---|---|
Cibles |
|
Tâches |
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).
|
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.