Bonnes pratiques en matière d'IAM pour Amazon ECS - Amazon Elastic Container Service

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.

Bonnes pratiques en matière d'IAM pour Amazon ECS

Vous pouvez utiliser AWS Identity and Access Management (IAM) pour gérer et contrôler l'accès à vos AWS services et ressources par le biais de politiques basées sur des règles à des fins d'authentification et d'autorisation. Plus précisément, grâce à ce service, vous contrôlez l'accès à vos AWS ressources en utilisant des politiques appliquées aux utilisateurs, aux groupes ou aux rôles. Parmi ces trois, les utilisateurs sont des comptes qui peuvent avoir accès à vos ressources. De plus, un rôle IAM est un ensemble d'autorisations qui peuvent être endossées par une identité authentifiée, qui n'est pas associée à une identité particulière en dehors d'IAM. Pour plus d'informations, consultez la présentation de la gestion des accès par Amazon ECS : autorisations et politiques.

Respect de la politique de moindre privilège d'accès

Créez des politiques dont le champ d'application est défini pour permettre aux utilisateurs d'effectuer les tâches qui leur sont prescrites. Par exemple, si un développeur doit régulièrement arrêter une tâche, créez une politique qui autorise uniquement cette action particulière. L'exemple suivant permet uniquement à un utilisateur d'arrêter une tâche qui appartient à une task_family spécifique dans un cluster avec un Amazon Resource Name (ARN) spécifique. La référence à un ARN dans une condition est également un exemple d'utilisation d'autorisations au niveau des ressources. Vous pouvez utiliser les autorisations au niveau des ressources pour spécifier la ressource à laquelle vous souhaitez qu'une action s'applique.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StopTask" ], "Condition": { "ArnEquals": { "ecs:cluster": "arn:aws:ecs:region:account_id:cluster/cluster_name" } }, "Resource": [ "arn:aws:ecs:region:account_id:task-definition/task_family:*" ] } ] }

Faire en sorte que les ressources du cluster servent de limite administrative

Les politiques dont le champ d'application est trop restreint peuvent entraîner une prolifération de rôles et augmenter les frais administratifs. Plutôt que de créer des rôles limités à des tâches ou à des services spécifiques uniquement, créez des rôles délimités à des clusters et utilisez le cluster comme limite administrative principale.

Créez des pipelines automatisés pour isoler les utilisateurs finaux de l'API

Vous pouvez limiter les actions que les utilisateurs peuvent utiliser en créant des pipelines qui empaquettent et déploient automatiquement des applications sur des clusters Amazon ECS. Cela délègue efficacement la création, la mise à jour et la suppression de tâches au pipeline. Pour plus d'informations, consultez Tutoriel : déploiement standard d'Amazon ECS CodePipeline dans le guide de AWS CodePipeline l'utilisateur.

Utilisez les conditions de politiques pour renforcer la couche de sécurité

Lorsque vous avez besoin d'un niveau de sécurité supplémentaire, ajoutez une condition à votre politique. Cela peut être utile si vous effectuez une opération privilégiée ou lorsque vous devez restreindre l'ensemble des actions pouvant être effectuées sur des ressources spécifiques. L'exemple de politique suivant nécessite une autorisation multifactorielle lors de la suppression d'un cluster.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DeleteCluster" ], "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }, "Resource": ["*"] } ] }

Les balises appliquées aux services sont propagées à toutes les tâches qui font partie de ce service. De ce fait, vous pouvez créer des rôles limités aux ressources Amazon ECS avec des balises spécifiques. Dans la politique suivante, un directeur IAM démarre et arrête toutes les tâches avec une clé de balise Department et une valeur de balise de. Accounting

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StartTask", "ecs:StopTask", "ecs:RunTask" ], "Resource": "arn:aws:ecs:*", "Condition": { "StringEquals": {"ecs:ResourceTag/Department": "Accounting"} } } ] }

Auditez régulièrement l'accès au APIs

Un utilisateur peut changer de rôle. Une fois son rôle changé, les autorisations qui lui ont été accordées précédemment risquent de ne plus s'appliquer. Assurez-vous de vérifier qui a accès à Amazon ECS APIs et de vérifier si cet accès est toujours justifié. Envisagez d'intégrer IAM à une solution de gestion du cycle de vie des utilisateurs qui révoque automatiquement l'accès lorsqu'un utilisateur quitte l'organisation. Pour plus d'informations, consultez les directives relatives aux audits de AWS sécurité dans le guide de AWS Identity and Access Management l'utilisateur.