Qu’est-ce qu’Amazon IAM ?
AWS Idendity and Access Management (IAM) est le service de gestion des identités et des accès d’AWS. Lorsque vous utilisez un service Amazon AWS quel qu’il soit (hébergement de site web, clusters Kubernetes, machines virtuelles, etc), vous passerez automatiquement par une phase d’identification, dont le service IAM vous octroiera plus ou moins d’accès selon les droits qui vous ont été accordés.
Les différentes entités IAM
IAM dispose de plusieurs entités qui vous permettront d’affiner les différents accès aux différentes ressources :
Entité | Description | Quand l’utiliser |
---|---|---|
Utilisateur |
Chaque personne ayant besoin d’accéder à vos ressources AWS se doit d’avoir un compte utilisateur. Les autorisations sont ensuite définies via les politiques d’accès. | Accorder un accès spécifique à des personnes pour certaines tâches. |
Groupes |
Il s’agit d’un ensemble d’utilisateurs avec des autorisations communes. Des utilisateurs peuvent être ajoutés ou supprimés en fonction des besoins. | Permet d’accorder des autorisations communes à un ensemble de comptes utilisateurs. |
Rôles |
Les rôles sont utilisés pour accorder temporairement des autorisations à des utilisateurs ou des ressources AWS. | Utilisez les rôles lorsque vous avez besoin d’accorder temporairement des autorisations à des utilisateurs ou des ressources. |
Politique d’accès |
Document Json définissant les autorisations pour une ou plusieurs entités IAM. Ces politiques déterminent les actions que les utilisateurs peuvent effectuer sur les ressources, et les conditions dans lesquelles ces actions peuvent être effectuées. | Utilisez les politiques d’accès pour définir des autorisations granulaires pour chaque entité IAM dans votre compte AWS. |
Rapport de credentials |
Rapport fournissant des informations sur les différentes authentifications et autorisation de votre compte IAM. | Auditer et surveiller l’accès des utilisateurs et détecter les anomalies de sécurité. |
Identity Provider |
Service tiers pour fournir une authentification à vos ressources via d’autres fournisseurs (Google, Facebook, Cognito, etc.) | Authentification via un service tiers plutôt que via les informations d’identification AWS. |
Comment fonctionne IAM ?
IAM est entièrement compatible avec la plupart des offres de calcul, de conteneurs, de stockage, de bases de données et autres offres de cloud AWS. Cependant, IAM n’est pas entièrement compatible avec toutes les offres de la plateforme, il est donc préférable de vérifier la compatibilité avant de mettre en œuvre le service.
L’infrastructure IAM est illustrée selon le diagramme suivant :
Explication : Un principal (utilisateur humain ou application qui effectue une requête dans le but d’utiliser les ressources AWS) utilise ses credentials pour s’authentifier. Une requête est réalisée pour donner l’accès au principal. L’accès est donné par une requête d’autorisation. Une fois autorisé, le principal est en mesure d’effectuer des actions ou des opérations sur votre compte AWS.
Quelques bonnes pratiques
✅ Ne jamais utiliser l’utilisateur racine (root user) pour effectuer les tâches habituelles.
✅Les utilisateurs humains doivent utiliser des identifiants temporaires pour accéder aux ressources AWS. Vous pouvez utiliser un fournisseur d’identité pour ces utilisateurs afin de leur attribuer un rôle qui fournira des informations d’identifications temporaires.
✅Utilisez une authentification à facteurs multiples (MFA) pour les utilisateurs et rôles.
✅Prévoir un roulement régulier des clés d’accès pour les utilisations nécessitant des identifiants longue durée.
✅Pour accorder les permissions nécessaires pour une tâche précise, il est conseillé d’utiliser des politiques d’accès minimales basées sur l’activité souhaitée. IAM Access Analyzer vous permettra de générer et d’auditer ces politiques.
✅Passez régulièrement en revue les utilisateurs, comptes, rôles, et politiques de sécurité, et supprimez ceux qui sont devenus obsolètes, ou qui sont inutilisés.
Conclusion
Pour conclure, IAM permet de gérer les identités et les accès à un compte AWS. Ce service vous permettra de contrôler les autorisations d’accès aux ressources, d’auditer l’utilisation des ressources et de gérer les politiques de sécurité. Ainsi, vos utilisateurs peuvent bénéficier d’un niveau de sécurité élevé tout en profitant de la flexibilité et de l’évolutivité offertes par AWS.