Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Validez et déployez automatiquement les politiques et les rôles IAM dans un compte AWS à l'aide d' CodePipelineIAM Access Analyzer et de macros AWS CloudFormation - 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.

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.

Validez et déployez automatiquement les politiques et les rôles IAM dans un compte AWS à l'aide d' CodePipelineIAM Access Analyzer et de macros AWS CloudFormation

Créée par Helton Ribeiro (AWS) et Guilherme Simoes (AWS)

Récapitulatif

Remarque : AWS n' CodeCommit est plus disponible pour les nouveaux clients. Les clients actuels d'AWS CodeCommit peuvent continuer à utiliser le service normalement. En savoir plus.

Ce modèle décrit les étapes et fournit le code permettant de créer un pipeline de déploiement permettant à vos équipes de développement de créer des politiques et des rôles AWS Identity and Access Management (IAM) dans vos comptes Amazon Web Services (AWS). Cette approche permet à votre organisation de réduire les frais généraux de vos équipes opérationnelles et d'accélérer le processus de déploiement. Il aide également vos développeurs à créer des rôles et des politiques IAM compatibles avec vos contrôles de gouvernance et de sécurité existants.

L'approche de ce modèle utilise AWS Identity and Access Management Access Analyzer pour valider les politiques IAM que vous souhaitez associer aux rôles IAM et utilise AWS CloudFormation pour déployer les rôles IAM. Toutefois, au lieu de modifier directement le fichier CloudFormation modèle AWS, votre équipe de développement crée des politiques et des rôles IAM au format JSON. Une CloudFormation macro AWS transforme ces fichiers de politique au format JSON en types de ressources AWS CloudFormation IAM avant de commencer le déploiement.

Le pipeline de déploiement (RolesPipeline) comporte des étapes de source, de validation et de déploiement. Au cours de la phase source, votre équipe de développement transmet les fichiers JSON contenant la définition des rôles et politiques IAM vers un référentiel AWS CodeCommit . AWS exécute CodeBuild ensuite un script pour valider ces fichiers et les copie dans un compartiment Amazon Simple Storage Service (Amazon S3). Vos équipes de développement n'ayant pas un accès direct au fichier CloudFormation modèle AWS stocké dans un compartiment S3 distinct, elles doivent suivre le processus de création et de validation du fichier JSON.

Enfin, pendant la phase de déploiement, AWS CodeDeploy utilise une CloudFormation pile AWS pour mettre à jour ou supprimer les politiques et les rôles IAM d'un compte.

Important

Le flux de travail de ce modèle est une preuve de concept (POC) et nous vous recommandons de ne l'utiliser que dans un environnement de test. Si vous souhaitez utiliser l'approche de ce modèle dans un environnement de production, consultez les meilleures pratiques de sécurité dans IAM dans la documentation IAM et apportez les modifications nécessaires à vos rôles IAM et à vos services AWS.

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif.

  • Un compartiment S3 nouveau ou existant pour le RolesPipeline pipeline. Assurez-vous que les informations d'accès que vous utilisez sont autorisées à télécharger des objets dans ce compartiment.

  • Interface de ligne de commande AWS (AWS CLI), installée et configurée. Pour plus d'informations à ce sujet, consultez la section Installation, mise à jour et désinstallation de l'interface de ligne de commande AWS dans la documentation de l'interface de ligne de commande AWS. 

  • CLI AWS Serverless Application Model (AWS SAM), installée et configurée. Pour plus d'informations à ce sujet, consultez la section Installation de l'interface de ligne de commande AWS SAM dans la documentation AWS SAM. 

  • Python 3, installé sur votre machine locale. Pour plus d'informations à ce sujet, consultez la documentation Python.

  • Un client Git, installé et configuré.

  • Le GitHub IAM roles pipeline référentiel, cloné sur votre machine locale. 

  • Politiques et rôles IAM existants au format JSON. Pour plus d'informations à ce sujet, consultez le ReadMefichier dans le IAM roles pipeline référentiel Github.

  • Votre équipe de développeurs ne doit pas être autorisée à modifier les CodeDeploy ressources AWS CodePipeline et AWS de cette solution. CodeBuild

Limites

  • Le flux de travail de ce modèle est une preuve de concept (POC) et nous vous recommandons de ne l'utiliser que dans un environnement de test. Si vous souhaitez utiliser l'approche de ce modèle dans un environnement de production, consultez les meilleures pratiques de sécurité dans IAM dans la documentation IAM et apportez les modifications nécessaires à vos rôles IAM et à vos services AWS.

Architecture

Le schéma suivant explique comment valider et déployer automatiquement les rôles et les politiques IAM sur un compte à l'aide CodePipeline de l'analyseur d'accès IAM et des macros AWS. CloudFormation

Étapes de validation et de déploiement des politiques et des rôles IAM dans un compte AWS.

Le schéma suivant illustre le flux de travail suivant :

  1. Un développeur écrit des fichiers JSON contenant les définitions des politiques et des rôles IAM. Le développeur envoie le code vers un CodeCommit référentiel CodePipeline , puis lance le RolesPipeline pipeline.

  2. CodeBuild valide les fichiers JSON à l'aide d'IAM Access Analyzer. En cas de détection de problèmes de sécurité ou d'erreur, le processus de déploiement est arrêté.

  3. S'il n'y a aucun résultat lié à la sécurité ou à une erreur, les fichiers JSON sont envoyés au RolesBucket compartiment S3.

  4. Une CloudFormation macro AWS implémentée en tant que fonction AWS Lambda lit ensuite les fichiers JSON depuis le RolesBucket compartiment et les transforme en types de ressources AWS CloudFormation IAM.

  5. Une CloudFormation pile AWS prédéfinie installe, met à jour ou supprime les politiques et les rôles IAM du compte. 

Automatisation et mise à l'échelle

CloudFormation Les modèles AWS qui déploient automatiquement ce modèle sont fournis dans le référentiel du pipeline de rôles GitHub IAM.

Outils

  • L'interface de ligne de commande AWS (AWS CLI) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.

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

  • IAM Access Analyzer vous aide à identifier les ressources de votre organisation et les comptes, tels que les compartiments S3 ou les rôles IAM, qui sont partagés avec une entité externe. Cela vous permet d'identifier les accès involontaires à vos ressources et à vos données.

  • AWS Serverless Application Model (AWS SAM) est un framework open source qui vous aide à créer des applications sans serveur dans le cloud AWS.

Code

Le code source et les modèles de ce modèle sont disponibles dans le référentiel de pipelines de rôles GitHub IAM.

Épopées

TâcheDescriptionCompétences requises

Clonez le référentiel d'échantillons.

Clonez le référentiel de pipelines de rôles GitHub IAM sur votre machine locale.

Développeur d'applications, AWS général

Cloner le référentiel

TâcheDescriptionCompétences requises

Clonez le référentiel d'échantillons.

Clonez le référentiel de pipelines de rôles GitHub IAM sur votre machine locale.

Développeur d'applications, AWS général
TâcheDescriptionCompétences requises

Déployez le pipeline.

  1. Accédez au répertoire qui contient le référentiel cloné.

  2. Important

    Exécutez la make deploy bucket=<bucket_name> commande. : vous devez <bucket_name> remplacer par le nom du compartiment S3 existant.

  3. Exécutez la aws codepipeline get-pipeline –name RolesPipeline commande pour vérifier si votre déploiement est réussi.

Développeur d'applications, AWS général

Clonez le référentiel du pipeline.

  1. La CloudFormation pile RolesPipeline AWS crée le roles-pipeline-repo CodeCommit référentiel.

  2. Connectez-vous à l'AWS Management Console, ouvrez la CodeCommit console AWS, puis copiez l'URL du CodeCommit référentiel pour le cloner sur votre machine locale. Pour plus d'informations à ce sujet, consultez Connect to an AWS CodeCommit repository dans la CodeCommit documentation AWS.

Développeur d'applications, AWS général

Déployer le RolesPipeline pipeline

TâcheDescriptionCompétences requises

Déployez le pipeline.

  1. Accédez au répertoire qui contient le référentiel cloné.

  2. Important

    Exécutez la make deploy bucket=<bucket_name> commande. : vous devez <bucket_name> remplacer par le nom du compartiment S3 existant.

  3. Exécutez la aws codepipeline get-pipeline –name RolesPipeline commande pour vérifier si votre déploiement est réussi.

Développeur d'applications, AWS général

Clonez le référentiel du pipeline.

  1. La CloudFormation pile RolesPipeline AWS crée le roles-pipeline-repo CodeCommit référentiel.

  2. Connectez-vous à l'AWS Management Console, ouvrez la CodeCommit console AWS, puis copiez l'URL du CodeCommit référentiel pour le cloner sur votre machine locale. Pour plus d'informations à ce sujet, consultez Connect to an AWS CodeCommit repository dans la CodeCommit documentation AWS.

Développeur d'applications, AWS général
TâcheDescriptionCompétences requises

Testez le RolesPipeline pipeline avec des politiques et des rôles IAM valides.

  1. Créez des fichiers JSON pour vos politiques et rôles IAM. Vous pouvez utiliser les exemples contenus dans le role-example répertoire depuis le GitHub IAM roles pipeline référentiel.

  2. Important

    Définissez vos politiques et rôles IAM avec les configurations requises. : Assurez-vous de suivre le format décrit dans le ReadMe fichier issu du GitHub IAM roles pipeline référentiel.

  3. Transférez les modifications dans le roles-pipeline-repo CodeCommit référentiel.

  4. Vérifiez la mise en œuvre du RolesPipeline pipeline.

  5. Assurez-vous que les politiques et les rôles IAM sont correctement déployés dans le compte.

  6. Validez s'il existe une limite d'autorisations associée aux politiques ou aux rôles IAM. Pour plus d'informations à ce sujet, consultez la section Limites d'autorisations pour les entités IAM dans la documentation IAM.

Développeur d'applications, AWS général

Testez le RolesPipeline pipeline avec des politiques et des rôles IAM non valides.

  1. Modifiez le roles-pipeline-repo CodeCommit référentiel et incluez des rôles ou des politiques IAM non valides. Par exemple, vous pouvez utiliser une action qui n'existe pas ou une version de politique IAM non valide.

  2. Vérifiez la mise en œuvre du pipeline. IAM Access Analyzer arrête le pipeline pendant la phase de validation s'il détecte des politiques ou des rôles IAM non valides.

Développeur d'applications, AWS général

Testez le RolesPipeline pipeline

TâcheDescriptionCompétences requises

Testez le RolesPipeline pipeline avec des politiques et des rôles IAM valides.

  1. Créez des fichiers JSON pour vos politiques et rôles IAM. Vous pouvez utiliser les exemples contenus dans le role-example répertoire depuis le GitHub IAM roles pipeline référentiel.

  2. Important

    Définissez vos politiques et rôles IAM avec les configurations requises. : Assurez-vous de suivre le format décrit dans le ReadMe fichier issu du GitHub IAM roles pipeline référentiel.

  3. Transférez les modifications dans le roles-pipeline-repo CodeCommit référentiel.

  4. Vérifiez la mise en œuvre du RolesPipeline pipeline.

  5. Assurez-vous que les politiques et les rôles IAM sont correctement déployés dans le compte.

  6. Validez s'il existe une limite d'autorisations associée aux politiques ou aux rôles IAM. Pour plus d'informations à ce sujet, consultez la section Limites d'autorisations pour les entités IAM dans la documentation IAM.

Développeur d'applications, AWS général

Testez le RolesPipeline pipeline avec des politiques et des rôles IAM non valides.

  1. Modifiez le roles-pipeline-repo CodeCommit référentiel et incluez des rôles ou des politiques IAM non valides. Par exemple, vous pouvez utiliser une action qui n'existe pas ou une version de politique IAM non valide.

  2. Vérifiez la mise en œuvre du pipeline. IAM Access Analyzer arrête le pipeline pendant la phase de validation s'il détecte des politiques ou des rôles IAM non valides.

Développeur d'applications, AWS général
TâcheDescriptionCompétences requises

Préparez-vous au nettoyage.

Videz les compartiments S3, puis exécutez la destroy commande.

Développeur d'applications, AWS général

Supprimez la RolesStack pile.

  1. Le RolesPipeline pipeline crée une CloudFormation pile RolesStack AWS qui déploie les politiques et les rôles IAM. Vous devez supprimer cette pile avant de supprimer le RolesPipeline pipeline.

  2. Connectez-vous à l'AWS Management Console, ouvrez la CloudFormation console AWS, puis choisissez la RolesStack pile et choisissez Delete.

Développeur d'applications, AWS général

Supprimez la RolesPipeline pile.

Pour supprimer la CloudFormation pile RolesPipeline AWS, suivez les instructions du ReadMefichier dans le IAM roles pipeline référentiel Github.

Développeur d'applications, AWS général

Nettoyage de vos ressources

TâcheDescriptionCompétences requises

Préparez-vous au nettoyage.

Videz les compartiments S3, puis exécutez la destroy commande.

Développeur d'applications, AWS général

Supprimez la RolesStack pile.

  1. Le RolesPipeline pipeline crée une CloudFormation pile RolesStack AWS qui déploie les politiques et les rôles IAM. Vous devez supprimer cette pile avant de supprimer le RolesPipeline pipeline.

  2. Connectez-vous à l'AWS Management Console, ouvrez la CloudFormation console AWS, puis choisissez la RolesStack pile et choisissez Delete.

Développeur d'applications, AWS général

Supprimez la RolesPipeline pile.

Pour supprimer la CloudFormation pile RolesPipeline AWS, suivez les instructions du ReadMefichier dans le IAM roles pipeline référentiel Github.

Développeur d'applications, AWS général

Ressources connexes

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.