Prévention du problème de l'adjoint confus entre services - Amazon SageMaker

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.

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 confusion des adjoints peut survenir en raison d'une usurpation d'identité interservices. L'usurpation d'identité entre services peut se produire lorsqu'un service (le service appelant) invoque un autre service (le service appelé) et utilise les autorisations élevées du service appelé pour agir sur des ressources auxquelles le service d'appel n'est pas autorisé à accéder. Pour empêcher tout accès non autorisé en raison de la confusion des adjoints, 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 responsables du service, en limitant leur accès aux seules ressources requises dans votre compte. En gérant soigneusement les privilèges d'accès des responsables 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 être autorisés.

Poursuivez votre lecture pour obtenir des conseils généraux ou accédez à un exemple pour une SageMaker fonctionnalité spécifique :

Limiter les autorisations avec des clés de condition globale

Nous recommandons d'utiliser les clés de condition aws:SourceAccount globales aws:SourceArn et les clés de condition dans les politiques de ressources afin de limiter les autorisations à la ressource qu'Amazon SageMaker fournit à un autre service. 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 confusion des adjoints consiste à utiliser la clé de condition aws:SourceArn globale avec l'intégralité ARN de la ressource. Si vous ne connaissez pas l'intégralité ARN de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de condition aws:SourceArn globale avec des caractères génériques (*) pour les parties inconnues duARN. Par exemple, arn:aws:sagemaker:*:123456789012:*.

L'exemple suivant montre comment vous pouvez utiliser les touches de condition aws:SourceAccount globale aws:SourceArn et les touches de condition globale SageMaker pour éviter le problème de confusion des adjoints.

{ "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 Gestionnaire Edge

L'exemple suivant montre comment vous pouvez utiliser la clé de condition aws:SourceArn globale pour éviter le problème d'adjoint confus entre services pour SageMaker Edge Manager créé par numéro de compte. 123456789012 dans le us-west-2 Région.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } }

Vous pouvez remplacer le contenu aws:SourceArn de ce modèle par l'intégralité ARN d'une tâche d'empaquetage spécifique afin de limiter davantage les autorisations.

SageMaker Des images

L'exemple suivant montre comment utiliser la clé de condition aws:SourceArn globale pour éviter le problème de confusion entre les services associés à SageMaker Images. Utilisez ce modèle avec Image ou ImageVersion. Cet exemple utilise un ImageVersion enregistrement ARN avec le numéro de compte 123456789012. Notez que le numéro de compte faisant partie de la aws:SourceArn valeur, il n'est pas nécessaire de spécifier de aws:SourceAccount valeur.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:us-west-2:123456789012:image-version" } } } }

Ne remplacez pas le contenu aws:SourceArn de ce modèle par l'intégralité ARN d'une image ou d'une version d'image spécifique. Ils ARN doivent être au format fourni ci-dessus et spécifier l'un image ou l'autreimage-version. L'partitionespace réservé doit désigner une partition AWS commerciale (aws) ou une AWS partition chinoise (aws-cn), selon l'endroit où l'image ou la version de l'image est exécutée. De même, l'regionespace réservé dans le ARN peut être n'importe quelle région valide dans laquelle SageMaker des images sont disponibles.

SageMaker Inférence

L'exemple suivant montre comment utiliser la clé de condition aws:SourceArn globale pour éviter le problème de confusion entre les services adjoints pour une inférence SageMaker 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.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } }

Ne remplacez pas le contenu aws:SourceArn de ce modèle par l'intégralité ARN d'un modèle ou d'un point de terminaison spécifique. Ils ARN doivent être dans le format indiqué ci-dessus. L'astérisque dans le ARN modèle ne représente pas un caractère générique et ne doit pas être modifié.

SageMaker Tâches de transformation par lots

L'exemple suivant montre comment utiliser la clé de condition aws:SourceArn globale pour éviter le problème de confusion entre les services associés aux tâches de transformation par SageMaker lots créées par numéro de compte. 123456789012 dans le us-west-2 Région. Notez que, comme le numéro de compte se trouve dans leARN, il n'est pas nécessaire de spécifier de aws:SourceAccount valeur.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:transform-job/*" } } } ] }

Vous pouvez remplacer le contenu aws:SourceArn de ce modèle par l'intégralité ARN d'une tâche de transformation par lots spécifique afin de limiter davantage les autorisations.

SageMaker Marketplace

L'exemple suivant montre comment utiliser la clé de condition aws:SourceArn globale pour éviter le problème de confusion entre les services associés aux ressources SageMaker Marketplace créées par numéro de compte. 123456789012 dans le us-west-2 Région. Notez que, comme le numéro de compte se trouve dans leARN, il n'est pas nécessaire de spécifier de aws:SourceAccount valeur.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } ] }

Ne remplacez pas le contenu aws:SourceArn de ce modèle par l'intégralité ARN d'un algorithme ou d'un package de modèle spécifique. Ils ARN doivent être dans le format indiqué ci-dessus. L'astérisque dans le ARN modèle représente un caractère générique et couvre toutes les tâches de formation, les modèles et les tâches de transformation par lots issus des étapes de validation, ainsi que les packages d'algorithmes et de modèles publiés sur Marketplace SageMaker .

SageMaker Néo

L'exemple suivant montre comment utiliser la clé de condition aws:SourceArn globale pour éviter le problème d'adjoint confus entre services pour les tâches de compilation SageMaker Neo créées par numéro de compte. 123456789012 dans le us-west-2 Région. Notez que, comme le numéro de compte se trouve dans leARN, il n'est pas nécessaire de spécifier de aws:SourceAccount valeur.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:compilation-job/*" } } } ] }

Vous pouvez remplacer le contenu aws:SourceArn de ce modèle par l'intégralité ARN d'une tâche de compilation spécifique pour limiter davantage les autorisations.

SageMaker Canalisations

L'exemple suivant montre comment utiliser la clé de condition aws:SourceArn globale pour éviter le problème de confusion entre les services associés aux SageMaker pipelines utilisant les enregistrements d'exécution d'un pipeline provenant d'un ou de plusieurs pipelines. Notez que, comme le numéro de compte se trouve dans leARN, il n'est pas nécessaire de spécifier de aws:SourceAccount valeur.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:region:123456789012:pipeline/mypipeline/*" } } } ] }

Ne remplacez pas le aws:SourceArn contenu de ce modèle par l'exécution complète ARN d'un pipeline spécifique. Ils ARN doivent être dans le format indiqué ci-dessus. L'partitionespace réservé doit désigner une partition AWS commerciale (aws) ou une partition AWS en Chine (aws-cn), selon l'endroit où le pipeline s'exécute. De même, l'regionespace réservé dans le ARN peut être n'importe quelle région valide dans laquelle SageMaker Pipelines est disponible.

L'astérisque dans le ARN modèle représente un caractère générique et couvre toutes les exécutions de pipeline 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/*.

SageMaker Tâches de traitement

L'exemple suivant montre comment utiliser la clé de condition aws:SourceArn globale pour éviter le problème de confusion entre les services associés au SageMaker traitement des tâches créées par numéro de compte. 123456789012 dans le us-west-2 Région. Notez que, comme le numéro de compte se trouve dans leARN, il n'est pas nécessaire de spécifier de aws:SourceAccount valeur.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:processing-job/*" } } } ] }

aws:SourceArnDans ce modèle, vous pouvez remplacer l'intégralité ARN d'une tâche de traitement spécifique afin de limiter davantage les autorisations.

SageMaker Studio

L'exemple suivant montre comment utiliser la clé de condition aws:SourceArn globale pour éviter le problème de confusion entre les services associés à SageMaker Studio, créé par un numéro de compte. 123456789012 dans le us-west-2 Région. 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } ] }

Ne remplacez pas le contenu aws:SourceArn de ce modèle par l'intégralité ARN d'une application Studio, d'un profil utilisateur ou d'un domaine spécifique. Le format ARN doit être celui fourni dans l'exemple précédent. L'astérisque dans le ARN modèle ne représente pas un caractère générique et ne doit pas être modifié.

SageMaker Emplois de formation

L'exemple suivant montre comment vous pouvez utiliser la clé de condition aws:SourceArn globale pour éviter le problème de confusion entre les services liés aux adjoints lors de la SageMaker formation des emplois créés par numéro de compte. 123456789012 dans le us-west-2 Région. Notez que, comme le numéro de compte se trouve dans leARN, il n'est pas nécessaire de spécifier de aws:SourceAccount valeur.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:training-job/*" } } } ] }

Vous pouvez remplacer le contenu aws:SourceArn de ce modèle par le texte complet ARN d'un poste de formation spécifique afin de limiter davantage les autorisations.

Suivant

Pour plus d'informations sur la gestion des rôles d'exécution, consultez la section SageMaker Rôles.