Comment rédiger une politique IAM efficace
Les politiques IAM définissent les autorisations associées aux objets d'un stockage dans le cloud. Votre capacité à rédiger des politiques efficaces peut renforcer la protection des données.
La gestion des identités et des accès (IAM, Identity and Access Management) est un concept largement utilisé dans les services AWS pour régler les questions de sécurité. Il est donc bien utile d'en apprendre davantage à son sujet. Le système IAM peut sembler très complexe au premier abord, car il comprend plusieurs composants. Cet article vous permettra d'approfondir vos connaissances sur IAM et ses principes, et de créer une politique IAM efficace.
Il est important de noter qu'IAM n'est qu'un service parmi tous ceux qu'AWS propose. Cependant, il est conseillé d'associer ces services de manière prudente.
AWS IAM est un service Web qui vous permet de gérer l'accès de vos utilisateurs aux ressources S3 de façon sécurisée. Avec AWS, vous déterminez qui peut accéder à vos ressources AWS (authentification), à quelles ressources ces utilisateurs ont accès et de quelle manière ils peuvent accéder à celles-ci (autorisation).
C'est vous qui contrôlez l'accès aux ressources en définissant des politiques et en les associant à des identités IAM (utilisateurs, groupes d'utilisateurs ou rôles). Une politique est un objet qui définit les autorisations associées à une identité ou une ressource. Le système de stockage responsable examine ces politiques lorsqu'un principal IAM (utilisateur ou rôle) envoie une demande visant à les mettre en œuvre. Les autorisations définies dans les politiques déterminent si une demande est acceptée ou refusée. Les politiques sont généralement définies dans des fichiers JSON.
Les politiques IAM établissent l'autorisation d'effectuer des actions indépendamment de la manière dont elles seront réalisées. Si une politique autorise l’action GetUser, un utilisateur associé à cette politique peut obtenir des informations sur les utilisateurs via la console de gestion (AWS Management Console), l'interface en ligne de commande (AWS CLI) ou l'API AWS. Lors de la création d’un utilisateur IAM, vous pouvez indiquer si vous autorisez l’accès via la console ou par programmation. Si l’accès via la console est autorisé, l'utilisateur IAM peut se connecter avec son nom d'utilisateur et son mot de passe. Si l'accès par programmation est autorisé, l'utilisateur peut travailler via la CLI ou l'API avec des clés d'accès.
Lyve Cloud est un élément qui complète le stockage d'objets S3. Ce service renforce la sécurité et favorise l'exploitation des stockages à long terme de données peu utilisées et peut être associé à des services supplémentaires pour optimiser la stratégie de sauvegarde et de récupération. Les politiques IAM vous permettent de personnaliser les mesures de sécurité et les autorisations des différents objets stockés au sein de Lyve Cloud sur des environnements privés, publics, hybrides et multicloud.
Voici la liste des politiques disponibles dans AWS, de la plus utilisée à la moins utilisée. Pour plus d'informations sur ces politiques, consultez les sections ci-dessous.
Vous pouvez associer des identités IAM à des politiques gérées et à des politiques en ligne (utilisateurs, groupes auxquels les utilisateurs appartiennent, ou rôles). Les autorisations sont accordées à l'identité via les politiques basées sur une identité.
Vous pouvez associer des ressources à des politiques en ligne. La plupart du temps, les politiques basées sur une ressource sont associées à des compartiments S3 et à des rôles IAM. Les autorisations sont accordées au principal défini dans la politique par le biais de politiques basées sur une ressource. Le principal peut appartenir au même compte que la ressource ou à un autre compte.
Vous pouvez utiliser une politique gérée pour définir les autorisations d'une entité IAM (utilisateur ou rôle). Cette politique établit les autorisations maximales que les politiques basées sur une ressource peuvent accorder à une entité, mais elle n'accorde pas ces autorisations. Les limites d'autorisations ne spécifient pas le nombre maximal d'autorisations qu'une politique basée sur une ressource peut accorder à un objet.
Vous pouvez utiliser une politique de contrôle des services (SCP) AWS Organizations pour définir les autorisations maximales dont les membres du compte d'une organisation ou d'une unité d'organisation peuvent bénéficier. Les SCP limitent les autorisations que les politiques basées sur une identité ou sur une ressource accordent aux entités (utilisateurs ou rôles) au sein du compte, mais n'accordent pas ces autorisations.
Vous pouvez utiliser une ACL pour restreindre l'accès à une ressource par les principaux appartenant à d'autres comptes. Les ACL sont semblables aux politiques basées sur une ressource, bien qu'elles soient le seul type de politique qui n'utilise pas la structure d'un document de politique JSON. Les ACL sont des règles d'autorisations entre comptes qui accordent des autorisations au principal spécifié. Les ACL ne permettent pas d'accorder des autorisations à des entités membres du même compte.
Vous pouvez transmettre des politiques de session avancées lorsque vous utilisez la CLI ou l'API AWS pour endosser un rôle ou un utilisateur fédéré. Les politiques de session limitent les droits que les politiques basées sur une identité applicables au rôle ou à l'utilisateur accordent à la session. Ces politiques définissent les autorisations applicables à une nouvelle session, mais n'accordent pas ces autorisations.
Les utilisateurs IAM AWS sont des entités que vous créez pour représenter une personne ou une application qui interagit avec AWS. Les utilisateurs AWS sont constitués d'un nom et d'identifiants.
Les utilisateurs IAM disposant d'autorisations d'administrateur sont différents des utilisateurs racine du compte AWS. Les comptes AWS ne sont associés qu'à un et un seul utilisateur IAM.
Objets ressource qui sont utilisés pour identifier et grouper des ressources IAM. Des politiques peuvent être attachées aux identités IAM. Cela inclut les utilisateurs, les groupes et les rôles.
Une ressource contient des objets tels que des utilisateurs, des groupes, des rôles, des politiques et des fournisseurs d'identité. IAM vous permet d'ajouter, de modifier et de supprimer des ressources, comme les autres services AWS.
AWS utilise les objets ressource IAM pour l'authentification. Cela comprend les utilisateurs et les rôles IAM, entre autres.
Application ou utilisateur qui se sert de l’utilisateur racine du compte AWS, d’un utilisateur IAM ou d’un rôle IAM pour se connecter à AWS. Cela inclut les utilisateurs fédérés et les rôles assumés.
Dans AWS, les rôles sont semblables aux utilisateurs puisqu'ils sont des objets identité associés à des politiques d'autorisation qui déterminent ce que l'identité concernée est autorisée à faire. Cependant, un rôle n'a pas d'identifiants (mot de passe ou clé d'accès). Un rôle individuel est fait pour être endossé par quiconque en a besoin, et n'est associé à personne en particulier.
Vous pouvez créer une politique gérée par le client en appliquant une des méthodes suivantes dans AWS Management Console :
Le nombre et la taille des ressources IAM dans un compte AWS sont limités. Pour plus d'informations, veuillez consulter les quotas IAM et AWS STS.
L'outil AWS Policy Generator (Générateur de politique AWS) permet de développer des politiques régissant l'accès aux produits et ressources AWS.
Le nouvel outil AWS Policy Generator simplifie le processus de création des documents de politique pour le stockage d'objets. Pour commencer, choisissez le type de politique que vous souhaitez écrire.
Chaque politique inclut des autorisations. Vous pouvez créer les types de politiques suivants : Politique IAM (IAM Policy), politique de compartiment S3 (S3 Bucket Policy), politique de rubrique SNS (SNS Topic Policy), politique de point de terminaison VPC (VPC Endpoint Policy) et politique de file d'attente SQS (SQS Queue Policy).
Une instruction est la présentation concise d'une autorisation. Lisez l'explication qui suit pour savoir quels éléments peuvent être utilisés dans une instruction.
Une fois les instructions ajoutées, vous pouvez générer la politique. Une politique est un document (rédigé dans le langage de la politique d'accès) qui contient une ou plusieurs instructions.