Prévention du problème de l’adjoint confus entre services
Le problème de l’adjoint confus est un problème de sécurité dans lequel une entité qui n’a pas l’autorisation d’effectuer une action peut contraindre une entité plus privilégiée à effectuer cette action. Dans AWS, le problème de l’adjoint confus peut survenir en raison d’un emprunt d’identité entre services. L’emprunt d’identité entre services peut se produire lorsqu’un service (le service appelant) invoque un autre service (le service appelé) et tire profit des autorisations élevées du service appelé pour agir sur des ressources auxquelles le service appelant n’est pas autorisé à accéder. Pour empêcher tout accès non autorisé via le problème de l’adjoint confus, AWS fournit des outils permettant de sécuriser vos données sur l’ensemble des services. Ces outils vous aident à contrôler les autorisations accordées aux principaux de service, en limitant leur accès aux seules ressources requises dans votre compte. En gérant soigneusement les privilèges d’accès des principaux de service, vous pouvez contribuer à atténuer le risque que les services accèdent de manière inappropriée à des données ou à des ressources pour lesquelles ils ne devraient pas avoir d’autorisations.
Lisez ce qui suit pour obtenir des conseils généraux ou accédez à un exemple pour une fonctionnalité spécifique de SageMaker AI :
Limiter les autorisations avec des clés de condition globale
Nous recommandons d’utiliser les clés de condition globale aws:SourceArn et aws:SourceAccount dans les politiques de ressources pour limiter les autorisations qu’Amazon SageMaker AI donne à un autre service pour la ressource. Si vous utilisez les deux clés de condition globale et que la valeur de aws:SourceArn contient l’ID de compte, la valeur de aws:SourceAccount et le compte indiqué dans la valeur de aws:SourceArn doivent utiliser le même ID de compte lorsqu’il est utilisé dans la même déclaration de politique. Utilisez aws:SourceArn si vous souhaitez qu’une seule ressource soit associée à l’accès entre services. Utilisez aws:SourceAccount si vous souhaitez autoriser l’association d’une ressource de ce compte à l’utilisation interservices.
Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de condition globale aws:SourceArn avec l'ARN complet de la ressource. Si vous ne connaissez pas l'ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de condition globale aws:SourceArn avec des caractères génériques (*) pour les parties inconnues de l'ARN. Par exemple, arn:aws:sagemaker:*:.123456789012:*
L’exemple suivant montre comment utiliser les clés de condition globale aws:SourceArn et aws:SourceAccount dans SageMaker AI afin d’éviter le problème de l’adjoint confus.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, # Specify an action and resource policy for another service "Action": "service:ActionName", "Resource": [ "arn:aws:service:::ResourceName/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:region:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }
SageMaker Edge Manager
L'exemple suivant montre comment vous pouvez utiliser la clé de condition globale aws:SourceArn pour empêcher le problème d'adjoint confus entre services pour SageMaker Edge Manager créé avec le numéro de compte 123456789012 dans la région us-west-2.
Vous pouvez remplacer aws:SourceArn dans ce modèle par l’ARN complet d’une tâche de compression spécifique pour limiter davantage les autorisations.
Des images SageMaker
L'exemple suivant montre comment utiliser la clé de condition globale aws:SourceArn dans SageMaker afin d'éviter le problème de l'adjoint confus pour les images SageMaker. Utilisez ce modèle avec Image ou ImageVersion. Cet exemple utilise un ImageVersionenregistrement d'ARN avec le numéro de compte 123456789012. Notez que puisque le numéro de compte fait partie de la valeur aws:SourceArn, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Ne remplacez pas aws:SourceArn dans ce modèle par l'ARN complet d'une image spécifique ou d'une version d'image. L'ARN doit être dans le format fourni ci-dessus et spécifier soit image ou image-version. L'espace réservé partition doit désigner soit une partition commerciale AWS (aws) ou une partition AWS en Chine (aws-cn), selon l'emplacement d'exécution de l'image ou de la version de l'image. De même, l’espace réservé region de l’ARN peut correspondre à n’importe quelle région valide où SageMaker Pipelines est disponible.
Inférence SageMaker AI
L’exemple suivant montre comment vous pouvez utiliser la clé de condition globale aws:SourceArn pour éviter le problème d’adjoint confus interservice pour l’inférence SageMaker AI en temps réel, sans serveur et asynchrone. Notez que puisque le numéro de compte fait partie de la valeur aws:SourceArn, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Ne remplacez pas aws:SourceArn dans ce modèle par le NRA complet d'un modèle ou d'un point de terminaison spécifique. L'ARN doit être dans le format fourni ci-dessus. L’astérisque dans le modèle ARN n’est pas un caractère générique et ne doit pas être modifié.
Tâches de transformation par lots SageMaker AI
L’exemple suivant montre comment vous pouvez utiliser la clé de condition globale aws:SourceArn pour empêcher le problème de l’adjoint confus entre services pour les tâches de transformation par lots SageMaker AI créées avec le numéro de compte 123456789012 dans la région us-west-2. Notez que puisque le numéro de compte figure dans l’ARN, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Vous pouvez remplacer aws:SourceArn dans ce modèle par l’ARN complet d’une tâche de transformation par lots spécifique pour limiter davantage les autorisations.
Marketplace SageMaker AI
L’exemple suivant montre comment vous pouvez utiliser la clé de condition globale aws:SourceArn pour empêcher le problème d’adjoint confus entre services pour les ressources SageMaker AI Marketplace créées avec le numéro de compte 123456789012 dans la région us-west-2. Notez que puisque le numéro de compte figure dans l’ARN, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Ne remplacez pas aws:SourceArn dans ce modèle par l'ARN complet d'un package d'algorithme ou de modèle spécifique. L’ARN doit être dans le format fourni ci-dessus. L’astérisque du modèle d’ARN remplace un caractère générique et couvre toutes les tâches d’entraînement, les modèles et les tâches de transformation par lots issues des étapes de validation, ainsi que les packages d’algorithmes et de modèles publiés sur SageMaker AI Marketplace.
SageMaker Neo
L'exemple suivant montre comment vous pouvez utiliser la clé de condition globale aws:SourceArn pour empêcher le problème d'adjoint confus entre services pour les tâches de compilation de SageMaker Neo créées avec le numéro de compte 123456789012 dans la région us-west-2. Notez que puisque le numéro de compte figure dans l’ARN, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Vous pouvez remplacer aws:SourceArn dans ce modèle par l’ARN complet d’une tâche de compilation spécifique pour limiter davantage les autorisations.
SageMaker Pipelines
L’exemple suivant montre comment utiliser la clé de condition globale aws:SourceArn pour empêcher le problème d’adjoint confus entre services pour SageMaker Pipelines en utilisant les enregistrements d’exécution de pipeline issus d’un ou de plusieurs pipelines. Notez que puisque le numéro de compte figure dans l’ARN, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Ne remplacez pas aws:SourceArn dans ce modèle par l'ARN complet d'une exécution de pipeline spécifique. L’ARN doit être dans le format fourni ci-dessus. L'espace réservé partition doit désigner soit une partition commerciale AWS (aws) ou une partition AWS en Chine (aws-cn), selon l'emplacement d'exécution du pipeline. De même, l'espace réservé region de l'ARN peut correspondre à n'importe quelle région valide où SageMaker Pipelines est disponible.
L'astérisque du modèle d'ARN correspond à un caractère générique et couvre toutes les exécutions d'un pipeline nommé mypipeline. Pour activer les autorisations AssumeRole pour tous les pipelines du compte 123456789012 plutôt qu’un pipeline spécifique, aws:SourceArn prend alors la valeur arn:aws:sagemaker:*:123456789012:pipeline/*.
Tâches de traitement SageMaker
L’exemple suivant montre comment vous pouvez utiliser la clé de condition globale aws:SourceArn pour empêcher le problème d’adjoint confus entre services pour les tâches de traitement SageMaker créées avec le numéro de compte 123456789012 dans la région us-west-2. Notez que puisque le numéro de compte figure dans l’ARN, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Vous pouvez remplacer aws:SourceArn dans ce modèle par l’ARN complet d’une tâche de traitement spécifique pour limiter davantage les autorisations.
SageMaker Studio
L'exemple suivant montre comment vous pouvez utiliser la clé de condition globale aws:SourceArn pour empêcher le problème d'adjoint confus entre services pour SageMaker Studio créé avec le numéro de compte 123456789012 dans la région us-west-2. Notez que puisque le numéro de compte fait partie de la valeur aws:SourceArn, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Ne remplacez pas aws:SourceArn dans ce modèle par l'ARN complet d'une application Studio, d'un profil utilisateur ou d'un domaine spécifique. L'ARN doit être dans le format fourni dans l'exemple précédent. L’astérisque dans le modèle ARN n’est pas un caractère générique et ne doit pas être modifié.
Tâches d'entraînement SageMaker
L'exemple suivant montre comment vous pouvez utiliser la clé de condition globale aws:SourceArn pour empêcher le problème d'adjoint confus entre services pour les tâches d'entraînement SageMaker créées avec le numéro de compte 123456789012 dans la région us-west-2. Notez que puisque le numéro de compte figure dans l’ARN, vous n’avez pas besoin de spécifier une valeur aws:SourceAccount.
Vous pouvez remplacer aws:SourceArn dans ce modèle par l'ARN complet d'une tâche d'entraînement spécifique pour limiter davantage les autorisations.
Suivant
Pour plus d’informations sur la gestion des rôles d’exécution, consultez Rôles SageMaker AI.