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 de fonctionnalité d' SageMaker IA 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 AI 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 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 aws:SourceAccount
globale aws:SourceArn
et les clés de condition dans l' SageMaker IA 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 utiliser la clé de condition aws:SourceArn
globale pour éviter le problème de confusion entre les services associés à SageMaker Edge Manager créé par un numéro de compte 123456789012
dans la 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 aws:SourceArn
dans ce modèle par l'ARN complet d'une tâche de compression spécifique pour limiter davantage les autorisations.
SageMaker Images d'IA
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 AI Images. Utilisez ce modèle avec Image
ou ImageVersion
. Cet exemple utilise un ImageVersion
enregistrement ARN avec le numéro de compte123456789012
. 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:
partition
:sagemaker:us-west-2
:123456789012
:image-version
" } } } }
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'partition
espace 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'region
espace réservé dans l'ARN peut être n'importe quelle région valide dans laquelle des images SageMaker AI sont disponibles.
SageMaker Inférence basée sur l'IA
L'exemple suivant montre comment vous pouvez utiliser la clé de condition aws:SourceArn
globale pour éviter le problème des adjoints confus entre services pour l'inférence en temps réel, sans serveur et asynchrone basée sur l' SageMaker IA. 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 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é.
SageMaker Tâches de transformation par lots AI
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 associés aux tâches de transformation par lots basées sur l' SageMaker IA créées par numéro de compte 123456789012
dans la us-west-2
région. Notez que puisque le numéro de compte figure dans l'ARN, 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
:transform-job/*" } } } ] }
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.
SageMaker Marketplace de l'IA
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 AI Marketplace créées par un numéro de compte 123456789012
dans la us-west-2
région. Notez que puisque le numéro de compte figure dans l'ARN, 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 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 dans le modèle ARN signifie joker 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 AI SageMaker Marketplace.
SageMaker Néo
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 compilation SageMaker Neo créées par numéro de compte 123456789012
dans la us-west-2
région. Notez que puisque le numéro de compte figure dans l'ARN, 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
:compilation-job/*
" } } } ] }
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 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 puisque le numéro de compte figure dans l'ARN, 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:
partition
:sagemaker:region
:123456789012
:pipeline/mypipeline/*
" } } } ] }
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'partition
espace réservé doit désigner soit une partition AWS commerciale (aws
), soit une partition AWS en Chine (aws-cn
), selon l'endroit où le pipeline s'exécute. De même, l'region
espace réservé dans l'ARN peut être n'importe quelle région valide dans laquelle 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/*
.
SageMaker Tâches de traitement
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 associés au SageMaker traitement des tâches créées par numéro de compte 123456789012
dans la us-west-2
région. Notez que puisque le numéro de compte figure dans l'ARN, 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
:processing-job/*
" } } } ] }
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 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 la 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 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é.
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 associés aux postes de SageMaker formation créés par numéro de compte 123456789012
dans la us-west-2
région. Notez que puisque le numéro de compte figure dans l'ARN, 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
:training-job/*
" } } } ] }
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 la section Rôles SageMaker AI.