Gouvernance de la sortie réseau des notebooks
Contrôlez les hôtes externes accessibles aux notebooks Python isolés : PyPI, domaines personnalisés ou politique entièrement hors ligne.
Les notebooks Marimo exécutent Python dans un runtime isolé. Par défaut, ce runtime n'a aucun accès à Internet. La page Paramètres → Gouvernance → Sortie réseau permet à un administrateur d'autoriser uniquement les destinations adaptées à la politique de risque de l'organisation.
La politique est propre à l'organisation et figée lors de la préparation du calcul. Une modification clôture et remplace les runtimes concernés avant une nouvelle exécution.
Application de la politique
Le Runtime Plane combine les valeurs minimales de l'opérateur avec la politique active de l'organisation. Chaque runtime interactif et chaque job à usage unique reçoit un enforcer de confiance. Le conteneur Python non fiable n'a pas les capacités réseau nécessaires pour modifier ou contourner cet enforcer.
Un déploiement pris en charge exige aussi un CNI Kubernetes qui applique les NetworkPolicy, par exemple Calico, Cilium ou la politique réseau Azure sur AKS. L'opérateur doit qualifier à la fois le niveau d'isolation, l'enforcer et les chemins réseau Kubernetes.
Ouvrir la page
- Connectez-vous comme propriétaire ou administrateur d'organisation.
- Ouvrez Paramètres → Gouvernance → Sortie réseau.
Deux contrôles sont disponibles :
- Autoriser le trafic Scrydon par défaut active la liste maintenue par la plateforme.
- Domaines personnalisés autorisés contient les destinations propres à votre organisation.
Liste par défaut
Pour l'installation de paquets PyPI, la liste par défaut contient :
| Hôte | Rôle |
|---|---|
pypi.org | Métadonnées et versions des paquets |
files.pythonhosted.org | Téléchargement des wheels et distributions source |
Les autres registres, par exemple un miroir privé, doivent être ajoutés explicitement.
Ajouter un domaine
Ajoutez soit un hôte exact (pypi.internal.example.com), soit un domaine parent (internal.example.com) pour couvrir ses sous-domaines. Les adresses IP ne sont pas acceptées.
Après l'enregistrement, un notebook connecté avec un ancien snapshot est remplacé avant sa prochaine exécution. Reconnectez-vous si l'interface indique que l'ancien runtime est obsolète.
Refus par défaut
Lorsque la liste est vide et que le trafic par défaut est désactivé :
- la réconciliation d'une dépendance absente échoue ;
requests.get("https://api.example.com")échoue ;- la tentative refusée est auditée ;
- aucun code n'est déplacé vers le processus Analytics pour contourner le refus.
Les paquets déjà présents dans l'image épinglée restent disponibles sans accès réseau.
Dépendances du notebook
Déclarez les dépendances dans la source du notebook, notamment via PEP 723. Scrydon utilise uv pendant la préparation et ne déclare le noyau prêt qu'après la résolution complète.
Si un paquet n'est pas disponible :
- vérifiez son nom et sa compatibilité avec la version Python du runtime ;
- vérifiez que tous les hôtes de l'index et de téléchargement sont autorisés ;
- choisissez Réessayer après correction de la politique.
Une nouvelle tentative crée une génération clôturée ; elle ne rejoue pas automatiquement une cellule déjà transmise au noyau.
Autorisations
| Rôle | Consulter | Modifier |
|---|---|---|
| Propriétaire d'organisation | Oui | Oui |
| Administrateur d'organisation | Oui | Oui |
| Membre | Non | Non |