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:IssueCertificateacm-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 :
Certificat actuel - Le système externe présente X.509 un certificat à AWS
Authentifier : IAM Roles Anywhere reçoit le certificat et initie l'authentification
Vérifier : Trust Anchor vérifie le certificat par rapport à des autorités de certification fiables
Valider : Autorité de certification privée AWS valide l'authenticité et le statut du certificat
Certificat valide : Autorité de certification privée AWS confirme que le certificat est valide et fiable
Assumer le rôle : IAM Roles Anywhere permet au système externe d'assumer le rôle IAM configuré
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
Établissez les AWS services de base requis pour l'authentification basée sur des certificats à l'aide de. IAM Roles Anywhere
Créez et configurez des certificats côté client et des outils d'authentification pour un accès sécurisé AWS .
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 parameterFaites 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âche | Description | Compé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âche | Description | Compé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âche | Description | Compé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ème | Solution |
|---|---|
É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 :
ReadOnlyAccesspour 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"