View a markdown version of this page

Sécurisation AWS IAM Roles Anywhere à l'aide d'un certificat privé - 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.

Sécurisation AWS IAM Roles Anywhere à l'aide d'un certificat privé

Barnali Singh, Amazon Web Services

Résumé

Ce modèle montre comment implémenter AWS IAM Roles Anywhere with AWS Autorité de certification privée (Autorité de certification privée AWS) pour permettre une authentification sécurisée basée sur des certificats pour les charges de travail externes accédant aux ressources. AWS La solution élimine le besoin de clés d'accès à long terme en utilisant X.509 des certificats pour obtenir des AWS informations d'identification temporaires. Il s'agit d'un modèle de sécurité natif du cloud qui inclut une automatisation complète via des AWS CloudFormation modèles et des scripts shell, permettant aux entreprises de déployer rapidement une authentification hybride sécurisée pour les applications sur site, les CI/CD pipelines et les systèmes externes.

Conditions préalables et limitations

Conditions préalables

Pour le déploiement de AWS l'infrastructure :

  • AWS CLI installé et configuré avec des autorisations administratives

  • Autorisations administratives pour IAM et IAM Roles Anywhere les services Autorité de certification privée AWS

Pour la configuration du système client :

  • AWS CLI installé sur le système client avec les autorisations suivantes :

    • acm-pca:IssueCertificate

    • acm-pca:GetCertificate

  • OpenSSL installé sur le système client

  • AWS Assistant à la signature installé sur chaque système client

  • Compréhension de base des X.509 certificats et des concepts PKI

Note

Le CloudFormation modèle gère automatiquement la création AWS des ressources. OpenSSL n'est nécessaire que sur les systèmes externes qui utiliseront des certificats pour accéder aux ressources. AWS

Limites

  • La période de validité du certificat est limitée à 10 ans au maximum pour l'autorité de certification racine

  • Faites régulièrement alterner les certificats clients. Nous vous recommandons de le faire au moins une fois par an.

  • Limitation régionale : la confiance est ancrée et Autorité de certification privée AWS doit se trouver dans la même AWS région

  • Taille maximale des certificats : 16 Ko pour les certificats clients

Versions du produit

  • AWS CLI version 2.0 ou ultérieure

  • OpenSSL 1.1.1 ou version ultérieure

  • AWS Signing Helper 1.4.0 ou version ultérieure

  • Autorité de certification privée AWS, version actuelle

  • IAM Roles Anywhere e, version actuelle

Architecture

Pile technologique cible

• Autorité de certification privée AWS - Autorité de certification racine pour l'émission des certificats

• IAM Roles Anywhere - service de prise de Certificate-based rôles

• Rôles et politiques IAM - Contrôle d'accès et autorisations

• AWS Signing Helper : outil de récupération Client-side des informations d'identification

• OpenSSL : génération de certificats et de clés

• CloudFormation - Automatisation de l'infrastructure

Architecture cible

Figure 1 Authentification basée sur IAM Roles Anywhere un certificat

L'architecture se compose des éléments suivants :

  1. Certificat actuel - Le système externe présente X.509 un certificat à AWS

  2. Authentifier : IAM Roles Anywhere reçoit le certificat et initie l'authentification

  3. Vérifier : Trust Anchor vérifie le certificat par rapport à des autorités de certification fiables

  4. Valider : Autorité de certification privée AWS valide l'authenticité et le statut du certificat

  5. Certificat valide : Autorité de certification privée AWS confirme que le certificat est valide et fiable

  6. Assumer le rôle : IAM Roles Anywhere permet au système externe d'assumer le rôle IAM configuré

  7. Autoriser l'accès : le système externe reçoit des informations d'identification temporaires pour accéder aux AWS ressources

Automatisation et mise à l'échelle

Ce modèle inclut une automatisation complète grâce à :

• CloudFormation modèle pour le provisionnement AWS des ressources avec autorisations IAM configurables

• Script Shell pour la génération de certificats et la configuration du client

• Configuration paramétrée pour plusieurs environnements et politiques IAM personnalisées

• Génération de certificats par lots pour plusieurs clients

• Installation et configuration automatisées de l'assistant d'identification

Flux de travail

  1. Établissez les AWS services de base requis pour l'authentification basée sur des certificats à l'aide de. IAM Roles Anywhere

  2. Créez et configurez des certificats côté client et des outils d'authentification pour un accès sécurisé AWS .

  3. Vérifiez la fonctionnalité d'authentification basée sur les certificats et établissez une surveillance pour les opérations en cours.

Outils

• CloudFormation - Automatise la création du PCA, de l'ancre de confiance, du rôle IAM et du profil

• AWS CLI - Command-line interface pour l'interaction avec les AWS services

• OpenSSL : génère des demandes de signature de certificats et gère les certificats

• Assistant à AWS la signature : échange des certificats contre des informations d'identification temporaires AWS

• Bash/shell Scripts : automatise l'ensemble du processus de configuration

Référentiel de code

Rôles AWS IAM n'importe où avec une autorité de certification privée

Bonnes pratiques

  • Configurez les politiques IAM sur la base du principe du moindre privilège à l'aide du --iam-policies parameter

  • Faites régulièrement alterner les certificats clients. Nous vous recommandons de le faire chaque année.

  • Utiliser une validation solide des certificats dans les politiques de confiance

  • Mettre en œuvre des procédures de révocation de certificats

  • Surveiller les dates d'expiration des certificats

Épopées

Sous-tâcheDescriptionCompétences requises

Déployer CloudFormation une infrastructure

Créez et déployez le CloudFormation modèle qui fournit toutes les AWS ressources nécessaires Autorité de certification privée AWS, notamment Trust Anchor, le rôle IAM avec les politiques appropriées et le IAM Roles Anywhere profil.  Configurez les paramètres relatifs à la dénomination des projets, aux périodes de validité des certificats, à la durée des sessions et aux pièces jointes aux politiques IAM afin d'établir les bases de l'infrastructure de base.

Architecte cloud, DevOps ingénieur

Configurer la configuration de l'autorité de certification

Initialisez le Autorité de certification privée AWS en installant le certificat racine, en configurant les modèles de certificats et en établissant la chaîne de confiance des certificats. Définissez les périodes de validité des certificats, les algorithmes clés et les extensions de certificats nécessaires à IAM Roles Anywhere l'authentification afin de garantir une infrastructure PKI appropriée.

Administrateur AWS, administrateur du cloud

Valider la configuration des ressources &AWS ;

Effectuez une validation complète de toutes les AWS ressources déployées afin de garantir une configuration et une connectivité appropriées. Vérifiez que Trust Anchor est correctement lié Autorité de certification privée AWS, que le rôle IAM dispose des autorisations appropriées, que le profil est correctement configuré et que toutes les ressources sont en active/ready état pour les flux de travail d'authentification basés sur des certificats.

Administrateur système AWS, ingénieur de test
Sous-tâcheDescriptionCompétences requises

Préparer l'environnement du client

Configurez l'environnement client en rendant les scripts de déploiement exécutables et en garantissant les autorisations appropriées. Configurez le système local avec les outils et les dépendances nécessaires, vérifiez l'accessibilité des scripts et posez les bases des processus de génération et de déploiement des certificats.

DevOps ingénieur, administrateur système AWS

Générer une demande de signature de certificat

Créez une demande de signature de certificat (CSR) pour le système client à l'aide d'OpenSSL ou d'outils équivalents. Configurez les paramètres du certificat, notamment les informations relatives au sujet, les algorithmes clés et les extensions de certificat.  Assurez-vous que le CSR répond aux Autorité de certification privée AWS exigences et contient les métadonnées appropriées pour IAM Roles Anywhere l'authentification.

Administrateur cloud, DevOps ingénieur

Émettre un certificat client via Autorité de certification privée AWS

Traitez le CSR Autorité de certification privée AWS pour émettre un certificat client valide. Configurez les périodes de validité des certificats, les modèles de certificats et assurez-vous que la chaîne de certificats est correctement établie. Vérifiez l'émission du certificat et téléchargez le certificat signé pour le déploiement du client.

Administrateur AWS, architecte du cloud
Sous-tâcheDescriptionCompétences requises

Obtenir des AWS informations d'identification temporaires

Exécutez le script d'assistance aux informations d'identification pour récupérer les AWS informations d'identification temporaires à l'aide du certificat client et de la clé privée configurés. Vérifiez que le processus de récupération des informations d'identification fonctionne correctement, validez le format des informations d'identification et les délais d'expiration, et assurez-vous d'une intégration correcte avec le IAM Roles Anywhere service pour des flux de travail d'authentification fluides.

DevOps ingénieur, administrateur système AWS

Accès aux AWS ressources de test

Effectuez des tests complets de l'accès aux AWS ressources à l'aide des informations d'identification temporaires obtenues. Exécutez diverses AWS CLI commandes et appels d'API pour vérifier la connectivité aux services cibles tels qu'Amazon S3, Amazon EC2 et. AWS Lambda Vérifiez que les autorisations sont conformes aux politiques de rôle IAM configurées et documentez les modèles d'accès réussis.

Ingénieur de test, administrateur cloud

Vérifier l'attribution des rôles et les autorisations

Procédez à une validation approfondie du processus d'attribution des rôles IAM et des limites d'autorisation. Testez les opérations autorisées et restreintes pour confirmer que l'accès au moindre privilège est correctement appliqué. Vérifiez les limites de durée des sessions, les mécanismes d'actualisation des informations d'identification et assurez-vous que l'attribution des rôles respecte les meilleures pratiques en matière de sécurité.

Administrateur AWS, ingénieur de test

Mettre en œuvre la surveillance et la journalisation

Configurez une surveillance et une journalisation complètes pour le système d'authentification basé sur des certificats. Configurez la CloudTrail journalisation pour les pistes d'audit, implémentez la surveillance de l'expiration des certificats, configurez des alertes en cas d'échec de l'authentification et établissez des tableaux de bord pour suivre les modèles d'utilisation et les événements de sécurité au sein de l' IAM Roles Anywhere infrastructure.

DevOps ingénieur, architecte cloud

Résolution des problèmes

ProblèmeSolution

Échecs de validation du certificat : « Échec de la validation du certificat » ou InvalidCertificate « » erreurs lors de la tentative d'authentification.

Étapes de résolution :

• Vérifiez les dates de validité des certificats à l'aide de 

openssl x509 -en certificate.pem -dates -noout

• Vérifiez que la configuration de Trust Anchor pointe vers la bonne autorité de certification privée

• Assurez-vous que la clé privée correspond au certificat

• Régénérez le certificat s'il a été émis par la mauvaise autorité de certification

 Erreurs de refus d'autorisation IAM : « Accès refusé » ou « UnauthorizedOperation » lors de l'accès aux AWS ressources malgré une authentification réussie

Étapes de résolution :

• Passez en revue et étendez les politiques relatives aux rôles IAM afin d'inclure les autorisations nécessaires

• Vérifiez que la politique de confiance inclut rolesanywhere.amazonaws.com en tant qu'entité de confiance

• Vérifiez que la configuration de l'ARN du profil correspond aux ressources déployées

• Mettre en œuvre un mécanisme d'actualisation des informations d'identification pour les processus de longue durée

Ressources connexes

Informations supplémentaires

Ce modèle est idéal pour les entreprises dotées d'architectures cloud hybrides, de CI/CD pipelines fonctionnant à l'extérieur AWS ou de tout système externe nécessitant un AWS accès sécurisé. L'approche basée sur les certificats offre une meilleure sécurité que les clés d'accès à long terme et permet une gestion centralisée des certificats via le. Autorité de certification privée AWS

Autorisations IAM configurables : la solution prend en charge la configuration flexible des politiques IAM par le biais de : --iam-policies parameter

  • Par défaut : ReadOnlyAccess pour un déploiement initial sécurisé

  • Personnalisé : Spécifiez des ARN de politique séparés par des virgules pour des cas d'utilisation spécifiques. Par exemple, S3ReadOnlyAccessEC2ReadOnlyAccess, ou des politiques personnalisées. Prend en charge plusieurs politiques pour des exigences d'autorisation complexes.

Exemples d'utilisation :

# Default read-only access ./deploy.sh # S3-only access ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess" # Multiple services ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess"