Principes de base des autorisations Docker
Comprendre les autorisations des conteneurs Docker
Les conteneurs Docker s'exécutent avec des autorisations d'utilisateur et de groupe spécifiques, qui sont essentielles pour la sécurité du système et la gestion des ressources. Par défaut, les conteneurs s'exécutent en tant qu'utilisateur root, mais cette pratique n'est pas recommandée en raison des risques potentiels pour la sécurité.
Espace de noms utilisateur et modèle d'autorisations
Docker utilise un modèle d'autorisations unique qui associe les utilisateurs des conteneurs aux utilisateurs du système hôte :
graph TD
A[Utilisateur du conteneur] --> B[Association avec l'utilisateur hôte]
B --> C[Remappage de l'espace de noms utilisateur]
C --> D[Contrôle des autorisations]
Concepts clés des autorisations
Concept |
Description |
Comportement par défaut |
Utilisateur root |
Utilisateur par défaut du conteneur |
Accès complet au système |
Utilisateur non-root |
Compte utilisateur restreint |
Autorisations limitées sur le système |
Espace de noms utilisateur |
Association entre les utilisateurs du conteneur et ceux de l'hôte |
Fournit une isolation |
Comportement par défaut de l'utilisateur du conteneur
Lorsque vous créez un conteneur Docker sans spécifier d'utilisateur, il s'exécute en tant que root :
## Conteneur avec l'utilisateur root par défaut
docker run ubuntu:latest whoami
## Sortie : root
Défis liés aux autorisations
- Vulnérabilités de sécurité
- Accès potentiel au système hôte
- Violation du principe du moindre privilège
Bonnes pratiques
- Exécutez toujours les conteneurs en tant qu'utilisateurs non-root
- Utilisez des spécifications d'utilisateur explicites
- Mettez en œuvre le remappage de l'espace de noms utilisateur
Exemple : Création d'un conteneur avec un utilisateur non-root
## Création d'un conteneur avec un utilisateur spécifique
docker run -u 1000:1000 ubuntu:latest whoami
## Sortie : utilisateur avec l'UID 1000
En comprenant ces principes de base, les développeurs peuvent mettre en œuvre des déploiements de conteneurs Docker plus sécurisés en suivant les pratiques de sécurité recommandées par LabEx.