Cluster Security

Introduction

Muppy gère la sécurité de toutes les ressources des mClusters.

La sécurité est définie par des Tasks appelées pour chaque Resource du Cluster afin d'ajuster la configuration du Firewall.

Le paramètre Security Setup Task permet de sélectionner une Task qui sera appelées par défaut pour toutes les Resources du Cluster.

Cluster Security Tab

Il est possible de définir une Task spécifique au niveau de chaque Muppy Cluster Resource.

Muppy est livrée avec une Task nommée Muppy Default Cluster Security Setup.

Muppy Default Cluster Security Setup Task

Cette Task configure la sécurité des Muppy Cluster Resources de la manière suivante:

  • Reverse Proxy ; les ports 443 et 80 sont globalement ouverts.

  • Computes Nodes ; les Reverse Proxies ont accès à tous les ports et tous les protocoles (Trusted Hosts) des Computes Nodes

  • PostgreSQL Cluster ; les Computes Nodes peuvent se connecter à tous les Clusters PostgreSQL sur le port du Cluster (5432). Le fichier pg_hba.conf du Cluster PostgreSQL est ajusté en conséquence.

Ces règles sont adaptées à la mise au point d'un cluster et constituent un point de départ. Nous encourageons les Utilisateurs à créer des Security Setup Tasks plus restrictives.

Application de la sécurité

Sur le formulaire des Muppy Cluster, le bouton lance la configuration de la sécurité de toutes les Ressources du Cluster.

Le bouton présent en entête du formulaire des ressources lance uniquement la configuration de la sécurité de la ressource sélectionnée.

Custom Security Setup Tasks

Les utilisateurs peuvent créer leur propre Task de configuration de sécurité des Clusters.

Voici un template de Task de Security Setup.

@fabric_task()
def acme_megacluster_security_setup(
    cnx, host_obj, m_cluster_resource_obj:OdooModelType, _imq_logger=None
):
    """ Acme Megacluster Security Setup Task
    :param host_obj: Host of the m_cluster_resource
    :param m_cluster_resource_obj: The cluster resource whose security needs to 
        be reconfigured.

    :returns: No value is expected. The Task must raise in case of errror.
    """
    _task_logger = _imq_logger or _logger
    odoo_env = (host_obj or mpk_pack_obj).env
    _commit = odoo_env.cr.commit
    # ...
    return None

Nous vous invitons à analyser le code source de la Task mpk_default_cluster_security_setup (muppy_pack__security.py) qui peut constituer un point de départ pour vos Cluster Security Task.

Last updated