
Tous ceux qui ont travaillé avec AWS sont bien conscients de l'existence de comptes - comptes dans lesquels, en fait, le travail a lieu - allocation des ressources, différenciation des droits d'accès, etc. Il est souvent nécessaire de créer plusieurs comptes - qu'il s'agisse de comptes séparés pour différents départements de l'entreprise ou de comptes séparés pour des projets ou même pour différents environnements d'un même projet (développement, test, exploitation). Pour la gestion des comptes, AWS fournit AWS Organizations, qui vous permet de créer de nouveaux comptes, d'allouer des ressources, d'optimiser le paiement des factures en définissant un mode de paiement unique pour tous les comptes, de créer des groupes de comptes et de leur appliquer des politiques pour gérer efficacement les flux de travail.
Cependant, AWS Organizations à lui seul ne suffit pas pour gérer les comptes. Il y a une volonté non seulement de créer des comptes, mais de les créer afin qu'ils répondent aux normes et politiques acceptées dans l'entreprise, pouvoir suivre le statut des comptes créés, gérer les politiques sans éditer un document JSON, mais de manière plus pratique chemin. De plus, à mesure que le nombre de comptes dans une organisation augmente, la compréhension que les capacités du service AWS Organizations font défaut vient assez rapidement. Et pour ceux qui se sont lancés dans cette voie, il existe deux options: utiliser un outil d'AWS - Control Tower ou développer leurs propres scripts de contrôle. Le reste de l'article explique pourquoi nous avons choisi la deuxième option.
Qu'est-ce qu'AWS Control Tower?
Commencez par définir AWS Landing Zone, une solution qui aide les utilisateurs à configurer rapidement un environnement AWS multi-comptes sécurisé basé sur les meilleures pratiques. C'est ce qui se trouve au cœur de l'AWS Control Tower. Comme il ressort des informations officielles, cette solution continue d'exister, mais sans améliorations futures et les nouveaux utilisateurs sont fortement encouragés à utiliser AWS Control Tower pour gérer un environnement AWS avec plusieurs comptes.
Qu'est-ce qu'AWS Control Tower? Il s'agit d'un service géré AWS qui automatise la création et la gestion d'un environnement multi-comptes AWS. Il configure automatiquement AWS Organizations en tant que service AWS principal pour le contrôle des comptes et met en œuvre des mesures préventives et des restrictions à l'aide de stratégies de contrôle de service (SCP). L'AWS Control Tower peut être utilisée dans divers scénarios: pour créer un nouvel environnement ou projet AWS dans le cloud, ou pour travailler dans un environnement AWS existant avec plusieurs comptes.
Les principales caractéristiques du service comprennent
- Landing Zone. AWS Organization , SSO ;
- . , ;
- Account Factory. , – VPC, . .;
- . . – , , .
?
Pour commencer, vous devez disposer d'un compte AWS et d'un utilisateur avec des droits d'administrateur. Ce compte sera ensuite utilisé comme compte principal lors de la création d'une organisation AWS. Il convient également de mentionner qu'AWS Control Tower n'est pas prise en charge dans toutes les régions, par exemple, la région de Californie n'est pas prise en charge aux États-Unis, Milan et Paris en Europe, et en Asie, sur les sept régions disponibles, seules deux sont prises en charge - Singapour et Sydney (informations au moment de la rédaction de cet article) ...
Le service est basé sur un ensemble de modèles AWS CloudFormation, à l'aide desquels une zone d'atterrissage est créée avec les ressources suivantes:
- trois groupes de comptes (unité d'organisation) - Root, Core et Custom;
- deux comptes dans l'unité d'organisation principale - un compte d'archivage de journaux pour stocker tous les journaux de l'organisation et un compte d'audit pour l'audit;
- AWS SSO - ;
- 20 6 . , -. AWS CloudTrail, .
Les contraintes mentionnées sont des politiques de contrôle de service prêtes à l'emploi et des règles AWS Config qui vous aident à gérer la sécurité, le flux de travail et la conformité. Les restrictions préventives interdisent les actions qui enfreignent les politiques de sécurité. Un exemple de telles restrictions peut être l'impossibilité de supprimer les archives de journaux ou d'arrêter le processus de journalisation pour les utilisateurs de comptes qui font partie de l'organisation. Les restrictions détectives vérifient la conformité du compte avec les règles de sécurité et, en cas de non-conformité, envoient des notifications au compte d'audit. Un exemple serait le manque de chiffrement de disque ou la présence de disques inutilisés dans un compte.
Intégration également avec certains services AWS pour faciliter le processus de création et de gestion des comptes dans l'organisation. Par exemple, l'intégration avec AWS Firewall Manager vous permet de créer des stratégies supplémentaires qui fonctionnent au niveau de l'organisation, tandis que l'intégration avec AWS Service Catalog facilite la création de comptes avec des propriétés prédéfinies et un ensemble de ressources.
Avantages de l'utilisation
Rapide, simple et sûr. Vous pouvez rapidement créer une organisation à part entière en quelques clics dans la console de gestion. En conséquence, nous obtenons une organisation qui répond aux normes de sécurité recommandées et un système de notification sur l'état de l'organisation. Toutes les actions de création et de configuration des ressources de l'organisation sont cachées à l'utilisateur, et il y en a en effet pas mal. La procédure de gestion d'une organisation est également assez simplifiée, vous n'avez pas besoin de réfléchir à quelle politique prescrire à quel service pour qu'elle fonctionne comme prévu. En outre, un ensemble de restrictions existantes rend la vie beaucoup plus facile, réduisant la configuration d'une organisation à choisir des restrictions dans une liste, ce qui est beaucoup plus rapide que son propre développement.
Pourquoi n'utilisons-nous pas AWS Control Tower?
L'une des principales raisons pour lesquelles nous n'avons pas utilisé AWS Control Tower est le manque d'intégration du service avec Terraform, qui a été adopté comme norme de facto pour travailler avec les fournisseurs de cloud. Peut-être que dans le futur, cette intégration apparaîtra et il sera possible de reconsidérer la décision. Et il ne s'agit même pas de créer l'organisation elle-même à l'aide de Terraform, vous pouvez d'abord créer une organisation dans la console, puis la remplir de ressources via Terraform. Mais je voulais gérer les ressources créées à l'avenir - changer les politiques, avoir accès aux ressources créées telles que le VPC, les groupes de sécurité, les sujets SNS pour leur personnalisation et leur expansion supplémentaires.
La deuxième raison était la présence d'une organisation déjà existante avec un ensemble de comptes et une logique de travail spécifique. Je dirai tout de suite qu'AWS Control Tower vous permet de transférer l'organisation actuelle sous votre contrôle. Cependant, certains points ont émergé qui ne s'arrêtaient pas exactement, mais suscitaient des inquiétudes. À savoir:
- SCP . AWS Control Tower SCP . . SCP , — . , AWS Control Tower .
- SSO -. AWS Control Tower , . , – ;
Eh bien, en tant que petit ajout, je voulais m'éloigner des normes généralement acceptées et organiser le travail avec les journaux de l'organisation dans un seul compte, qui comprendrait le stockage, le traitement, un système de notification et un tableau de bord. Permettez-moi de vous rappeler que dans AWS Control Tower, cela est divisé en deux comptes: la journalisation et l'audit.
La troisième raison était le désir de personnaliser les restrictions AWS Control Tower susmentionnées. Tout d'abord, développez la liste des stratégies, par exemple, interdisant la suppression / la modification de certaines ressources (certains rôles liés à la gestion de compte ou aux ressources critiques). Deuxièmement, utiliser les rôles au niveau d'un compte spécifique, et non d'un groupe de comptes, comme cela est désormais implémenté dans AWS Control Tower. Et troisièmement, pour gérer tout cela à la volée, par exemple, pendant un certain temps, déconnectez un certain ensemble de restrictions pour un compte spécifique, puis reconnectez-vous.
Cependant, on ne peut pas dire que nous n'utilisons pas du tout l'AWS Control Tower. Bien sûr, la mise en œuvre de ce service nécessite beaucoup de choses et, lors du processus de création de notre propre solution, nous avons utilisé les connaissances que nous avons acquises en étudiant l'AWS Control Tower.
Conclusion
AWS Control Tower ou scripts personnalisés, produit standard ou développement personnalisé. Comme toujours, le produit fini donne de la rapidité dans la mise en œuvre de la solution, des coûts de développement réduits et des corrections de bugs, mais en retour nous perdons de la flexibilité.
AWS Control Tower est un service pratique pour gérer l'organisation des comptes. Si vous venez de conclure qu'un seul compte ne vous suffit pas et que vous devez créer une organisation, commencez par AWS Control Tower. Si vous ne savez pas comment créer des stratégies, comment configurer les services de traitement des journaux et de notification, et en même temps la sécurité est une condition préalable essentielle à l'existence de votre organisation, commencez par AWS Control Tower. Si vous utilisez la console AWS pour gérer votre infrastructure cloud, vous trouverez probablement l'AWS Control Tower suffisamment attrayante.
Cependant, si votre organisation nécessite un certain niveau de personnalisation qui va au-delà de la norme, ou si vos comptes doivent respecter des règles qui changent fréquemment, vous aurez peut-être besoin d'une autre solution.