Visualisez les rapports IAM d'identification pour tous les AWS comptes à l'aide d'Amazon QuickSight - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Visualisez les rapports IAM d'identification pour tous les AWS comptes à l'aide d'Amazon QuickSight

Créé par Parag Nagwekar (AWS) et Arun Chanapillai () AWS

Référentiel de code : bénéficiez d'une visibilité de vos rapports d'IAMidentification à l'échelle de l'organisation

Environnement : Production

Technologies : analyse ; conseil ; gestion et gouvernance ; sécurité, identité, conformité

Charge de travail : toutes les autres charges de travail

AWSservices : Amazon Athena ; AWS CloudFormation Amazon EventBridge ; AWS Identity and Access Management ; Amazon QuickSight

Récapitulatif

Avertissement : IAM les utilisateurs disposent d'informations d'identification à long terme, ce qui présente un risque de sécurité. Pour atténuer ce risque, nous vous recommandons de ne fournir à ces utilisateurs que les autorisations dont ils ont besoin pour effectuer la tâche et de supprimer ces utilisateurs lorsqu'ils ne sont plus nécessaires.

Vous pouvez utiliser les rapports d'identification d'AWSIdentity and Access Management (IAM) pour vous aider à répondre aux exigences de sécurité, d'audit et de conformité de votre organisation. Les rapports d'identification fournissent une liste de tous les utilisateurs de vos AWS comptes et indiquent l'état de leurs informations d'identification, telles que les mots de passe, les clés d'accès et les dispositifs d'authentification multifactorielle (MFA). Vous pouvez utiliser les rapports d'identification pour plusieurs AWS comptes gérés par AWSOrganizations.

Ce modèle inclut des étapes et du code pour vous aider à créer et à partager des rapports IAM d'identification pour tous les AWS comptes de votre organisation à l'aide des QuickSight tableaux de bord Amazon. Vous pouvez partager les tableaux de bord avec les parties prenantes de votre organisation. Les rapports peuvent aider votre organisation à atteindre les résultats commerciaux ciblés suivants :

  • Identifier les incidents de sécurité liés aux IAM utilisateurs

  • Suivez en temps réel la migration des IAM utilisateurs vers l'authentification unique (SSO)

  • Suivez AWS les régions consultées par IAM les utilisateurs

  • Restez en conformité

  • Partage d'informations avec d'autres parties prenantes

Conditions préalables et limitations

Prérequis

Architecture

Pile technologique

  • Amazon Athena

  • Amazon EventBridge

  • Amazon QuickSight

  • Amazon Simple Storage Service (Amazon S3)

  • Glue AWS

  • AWSIdentity and Access Management (IAM)

  • AWSLambda

  • AWSOrganisations

Architecture cible

Le schéma suivant montre une architecture permettant de configurer un flux de travail qui capture les données des rapports IAM d'identification provenant de plusieurs AWS comptes.

La capture d'écran suivante illustre le schéma d'architecture
  1. EventBridge invoque une fonction Lambda tous les jours.

  2. La fonction Lambda IAM joue un rôle dans tous les AWS comptes de l'organisation. La fonction crée ensuite le rapport IAM d'informations d'identification et stocke les données du rapport dans un compartiment S3 centralisé. Vous devez activer le chiffrement et désactiver l'accès public sur le compartiment S3.

  3. Un robot AWS Glue explore le compartiment S3 tous les jours et met à jour la table Athena en conséquence.

  4. QuickSight importe et analyse les données du rapport d'identification et crée un tableau de bord qui peut être visualisé et partagé avec les parties prenantes.

Outils

AWSservices

  • Amazon Athena est un service de requête interactif qui facilite l'analyse des données dans Amazon S3 à l'aide de la norme. SQL

  • Amazon EventBridge est un service de bus d'événements sans serveur qui vous permet de connecter vos applications à des données en temps réel provenant de diverses sources. Par exemple, les fonctions Lambda, les points de terminaison HTTP d'invocation utilisant des API destinations ou les bus d'événements dans d'autres comptes. AWS

  • Amazon QuickSight est un service de business intelligence (BI) à l'échelle du cloud qui vous permet de visualiser, d'analyser et de rapporter vos données dans un tableau de bord unique.

  • AWSIdentity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.

  • AWSLambda est un service de calcul qui vous permet d'exécuter du code sans avoir à approvisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.

Code

Le code de ce modèle est disponible dans le GitHub getiamcredsreport-allaccounts-orgréférentiel. Vous pouvez utiliser le code de ce référentiel pour créer des rapports IAM d'identification pour tous les AWS comptes dans Organizations et les stocker dans un emplacement central.

Épopées

TâcheDescriptionCompétences requises

Configurez QuickSight l'édition Amazon Enterprise.

  1. Activez l'édition Amazon QuickSight Enterprise dans votre AWS compte. Pour plus d'informations, consultez la section Gestion de l'accès des utilisateurs au sein d'Amazon QuickSight dans la QuickSight documentation.

  2. Pour accorder des autorisations au tableau de bord, obtenez le nom de ressource Amazon (ARN) des QuickSight utilisateurs.

AWSadministrateur AWS DevOps, Administrateur cloud, architecte cloud

Intégrez Amazon QuickSight à Amazon S3 et Athena.

Vous devez QuickSight autoriser l'utilisation d'Amazon S3 et Athena avant de déployer la AWS CloudFormation pile.

AWSadministrateur AWS DevOps, Administrateur cloud, architecte cloud
TâcheDescriptionCompétences requises

Clonez le GitHub dépôt.

  1. Clonez le GitHub getiamcredsreport-allaccounts-orgdépôt sur votre machine locale en exécutant la commande suivante : git clone https://github.com/aws-samples/getiamcredsreport-allaccounts-org

AWSadministrateur

Déployez l'infrastructure.

  1. Connectez-vous à la console AWS de gestion et CloudFormation ouvrez-la.

  2. Dans le volet de navigation, choisissez Create stack, puis sélectionnez With new resources (standard).

  3. Sur la page Identifier les ressources, choisissez Next.

  4. Sur la page Spécifier le modèle, pour Source du modèle, sélectionnez Télécharger un fichier modèle.

  5. Choisissez Choisir un fichier, sélectionnez le Cloudformation-createcredrepo.yaml fichier dans votre GitHub référentiel cloné, puis cliquez sur Suivant.

  6. Dans Paramètres, effectuez une mise à jour IAMRoleName en fonction de votre IAM rôle. C'est le IAM rôle que vous souhaitez que Lambda assume dans tous les comptes de l'organisation. Ce rôle crée le rapport d'identification. Remarque : Il n'est pas nécessaire que le rôle soit présent dans tous les comptes à cette étape de la création de la pile.

  7. Dans Paramètres, mettez à jour S3BucketName avec le nom du compartiment S3 dans lequel Lambda peut stocker les informations d'identification de tous les comptes.

  8. Dans le champ Nom de la pile, entrez le nom de la pile.

  9. Sélectionnez Envoyer.

  10. Notez le nom du rôle de la fonction Lambda.

AWSadministrateur

Créez une politique IAM d'autorisation.

Créez une IAM politique pour chaque AWS compte de votre organisation avec les autorisations suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GenerateCredentialReport", "iam:GetCredentialReport" ], "Resource": "*" } ] }
AWS DevOps, Administrateur cloud, architecte cloud, ingénieur de données

Créez un IAM rôle avec une politique de confiance.

  1. Créez un IAM rôle pour les AWS comptes et joignez la politique d'autorisation que vous avez créée à l'étape précédente.

  2. Associez la politique de confiance suivante au IAM rôle :

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":[ "arn:aws:iam::<MasterAccountID>:role/<LambdaRole>" ] }, "Action":"sts:AssumeRole" } ] }

Important : remplacez-le par arn:aws:iam::<MasterAccountID>:role/<LambdaRole> ARN le rôle Lambda que vous avez noté précédemment.

Remarque : Les organisations utilisent généralement l'automatisation pour créer IAM des rôles pour leurs AWS comptes. Nous vous recommandons d'utiliser cette automatisation, si elle est disponible. Vous pouvez également utiliser le CreateRoleforOrg.py script depuis le référentiel de code. Le script nécessite un rôle administratif existant ou tout autre IAM rôle autorisé à créer une IAM politique et un rôle pour chaque AWS compte.

Administrateur cloud, architecte cloud, AWS administrateur

Configurez Amazon QuickSight pour visualiser les données.

  1. Connectez-vous à l' QuickSightaide de vos informations d'identification.

  2. Créez un jeu de données à l'aide d'Athena (à l'aide de la iamcredreportdb base de données et de la “cfn_iamcredreport” table), puis actualisez automatiquement le jeu de données.

  3. Créez une analyse dans QuickSight.

  4. Créez un QuickSight tableau de bord.

AWS DevOps, Administrateur cloud, architecte cloud, ingénieur de données

Informations supplémentaires

Considérations supplémentaires

Éléments à prendre en compte :

  • Après CloudFormation avoir déployé l'infrastructure, vous pouvez attendre que les rapports soient créés dans Amazon S3 et analysés par Athena jusqu'à ce que Lambda et AWS Glue soient exécutés conformément à leurs plannings. Vous pouvez également exécuter Lambda manuellement pour obtenir les rapports dans Amazon S3, puis exécuter le robot AWS Glue pour obtenir la table Athena créée à partir des données.

  • QuickSight est un outil puissant pour analyser et visualiser les données en fonction des besoins de votre entreprise. Vous pouvez utiliser des paramètres QuickSight pour contrôler les données du widget en fonction des champs de données que vous choisissez. Vous pouvez également utiliser une QuickSight analyse pour créer des paramètres (par exemple, des champs Compte, Date et Utilisateur tels que partition_0partition_1, et user respectivement) à partir de votre ensemble de données afin d'ajouter des contrôles pour les paramètres Compte, Date et Utilisateur.

  • Pour créer vos propres QuickSight tableaux de bord, consultez la section QuickSight Workshops sur le site Web de AWS Workshop Studio.

  • Pour voir des exemples de QuickSight tableaux de bord, consultez le référentiel de GitHub getiamcredsreport-allaccounts-orgcode.

Résultats commerciaux ciblés

Vous pouvez utiliser ce modèle pour obtenir les résultats commerciaux ciblés suivants :

  • Identifiez les incidents de sécurité liés aux IAM utilisateurs : étudiez chaque utilisateur de chaque AWS compte de votre organisation à l'aide d'un seul écran. Vous pouvez suivre la tendance des AWS régions individuelles les plus récemment consultées par un IAM utilisateur et des services qu'il a utilisés.

  • Suivez la migration en temps réel des IAM utilisateurs vers SSO l'authentification : grâce à SSO cette méthode, les utilisateurs peuvent se connecter une seule fois avec un seul identifiant et accéder à plusieurs AWS comptes et applications. Si vous envisagez de migrer vos IAM utilisateurs versSSO, ce modèle peut vous aider à effectuer la transition SSO et à suivre toutes les utilisations des informations d'identification IAM utilisateur (telles que l'accès à la console de AWS gestion ou l'utilisation des clés d'accès) sur tous les AWS comptes.

  • Suivi AWS des régions consultées par IAM les utilisateurs — Vous pouvez contrôler IAM l'accès des utilisateurs aux régions à diverses fins, telles que la souveraineté des données et le contrôle des coûts. Vous pouvez également suivre l'utilisation des régions par n'importe quel IAM utilisateur.

  • Restez en conformité : en suivant le principe du moindre privilège, vous ne pouvez accorder que IAM les autorisations spécifiques nécessaires à l'exécution d'une tâche spécifique. Vous pouvez également suivre l'accès aux AWS services, la console de AWS gestion et l'utilisation à long terme des informations d'identification.

  • Partagez des informations avec d'autres parties prenantes : vous pouvez partager des tableaux de bord personnalisés avec d'autres parties prenantes, sans leur accorder l'accès aux rapports ou aux comptes IAM d'identification. AWS