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.

Tâches

Les tâches représentent des cas d'utilisation courants de SaltStack Config. L'activation d'une tâche accorde au rôle toutes les autorisations requises pour exécuter la tâche.

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 Minions.

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é. Consultez Pillars.

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 Serveur de fichiers.

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. Reportez-vous à la section Minions.

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. Reportez-vous à la section Clés de minion.

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 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 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. Reportez-vous à la section Conformité 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. Reportez-vous à la section Conformité 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 Vulnerability est un module complémentaire de SaltStack Config qui gère les vulnérabilités sur tous les systèmes de votre environnement. Reportez-vous à la section Vulnérabilité 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. Reportez-vous à la section Vulnérabilité 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.

Les différents niveaux d’accès aux ressources sont décrits ci-dessous :

  • 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.
  • Autres types de ressources : l'accès aux types de ressources suivants doit être défini à l'aide de l'API (RaaS). Reportez-vous à la section Définition des autorisations d'API ou contactez un administrateur pour obtenir de l'aide.
    • Fichiers dans le serveur de fichiers
    • Données du Pillar
    • Configuration de l'authentification

Tous les autres types de ressources (à l’exception des tâches, des cibles et de ceux répertoriés ci-dessus) n’ont pas besoin de paramètres d’accès aux ressources spécifiques.

Différence entre les tâches autorisées et l'accès aux ressources

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, comme illustré dans le diagramme suivant.


permissions-resources-concept

Dans l'exemple suivant, un rôle peut exécuter test.ping sur le groupe cible Linux. Le rôle dispose des 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

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. Reportez-vous à la section Attribution de l'accès à une tâche ou à une cible.