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.
Amazon SageMaker AI effectue des opérations en votre nom à l'aide d'autres AWS services. Vous devez autoriser l' SageMaker IA à utiliser ces services et les ressources sur lesquelles ils agissent. Vous accordez ces autorisations à SageMaker AI à l'aide d'un rôle d'exécution AWS Identity and Access Management (IAM). Pour plus d'informations sur les rôles IAM, consultez Rôles IAM.
Pour créer et utiliser un rôle d'exécution, vous pouvez utiliser les procédures suivantes.
Créer un rôle d'exécution
Utilisez la procédure suivante pour créer un rôle d'exécution avec la politique gérée IAM, AmazonSageMakerFullAccess
, attachée. Si votre cas d'utilisation nécessite des autorisations plus détaillées, utilisez d'autres sections de cette page pour créer un rôle d'exécution qui répond aux besoins de votre entreprise. Vous pouvez créer un rôle d'exécution à l'aide de la console SageMaker AI ou du AWS CLI.
Important
La politique gérée IAM, AmazonSageMakerFullAccess
, utilisée dans la procédure suivante, n'accorde que l'autorisation du rôle d'exécution pour effectuer certaines actions Amazon S3 sur des compartiments ou des objets avec SageMaker
, Sagemaker
, sagemaker
, ou aws-glue
dans le nom. Pour savoir comment ajouter une politique supplémentaire à un rôle d'exécution pour lui accorder l'accès à d'autres compartiments et objets Amazon S3, veuillez consulter Ajouter des autorisations Amazon S3 supplémentaires à un rôle d'exécution SageMaker AI.
Note
Vous pouvez créer un rôle d'exécution directement lorsque vous créez un domaine SageMaker AI ou une instance de bloc-notes.
-
Pour plus d'informations sur la création d'un domaine SageMaker AI, consultezGuide de configuration d'Amazon SageMaker AI.
-
Pour en savoir plus sur la manière de créer une instance de bloc-notes, consultez Création d'une instance Amazon SageMaker Notebook pour le didacticiel.
Pour créer un nouveau rôle d'exécution à partir de la console SageMaker AI
Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/
. -
Choisissez Roles (Rôles), puis Create role (Créer un rôle).
-
Conservez le AWS service comme type d'entité de confiance, puis utilisez la flèche vers le bas pour trouver l'SageMaker IA dans Cas d'utilisation pour d'autres AWS services.
-
Choisissez SageMaker AI — Execution, puis Next.
-
La politique gérée IAM,
AmazonSageMakerFullAccess
, est automatiquement attachée au rôle. Pour afficher les autorisations incluses dans cette politique, choisissez le signe plus (+) à côté du nom de la politique. Choisissez Suivant. -
Entrez un nom de rôle et une description.
-
(Facultatif) Ajoutez des autorisations et des balises supplémentaires au rôle.
-
Sélectionnez Créer un rôle.
-
Dans la section Rôles de la console IAM, recherchez le rôle que vous venez de créer. Si nécessaire, utilisez la zone de texte pour rechercher le rôle à l'aide du nom de rôle.
-
Sur la page de résumé, prenez note de l'ARN.
Pour créer un nouveau rôle d'exécution depuis AWS CLI
Avant de créer un rôle d'exécution à l'aide du AWS CLI, assurez-vous de le mettre à jour et de le configurer en suivant les instructions figurant dans(Facultatif) Configurez le AWS CLI, puis poursuivez avec les instructions contenues dansConfiguration personnalisée à l'aide du AWS CLI.
Une fois que vous avez créé un rôle d'exécution, vous pouvez l'associer à un domaine SageMaker AI, à un profil utilisateur ou à une instance de bloc-notes Jupyter.
-
Pour savoir comment associer un rôle d'exécution à un domaine SageMaker AI existant, consultezModifier les paramètres du domaine.
-
Pour découvrir comment associer un rôle d'exécution à un profil utilisateur existant, consultez Ajouter des profils utilisateur.
-
Pour découvrir comment associer un rôle d'exécution à une instance de bloc-notes existante, consultez Meise à jour d'une instance de bloc-notes.
Vous pouvez également transmettre l'ARN d'un rôle d'exécution à votre appel d'API. Par exemple, à l'aide du SDK Amazon SageMaker Python
import sagemaker, boto3
from sagemaker import image_uris
sess = sagemaker.Session()
region = sess.boto_region_name
bucket = sess.default_bucket()
prefix = "sagemaker/DEMO-xgboost-churn"
container = sagemaker.image_uris.retrieve("xgboost", region, "1.7-1")
xgb = sagemaker.estimator.Estimator(
container,
execution-role-ARN
,
instance_count=1,
instance_type="ml.m4.xlarge",
output_path="s3://{}/{}/output".format(bucket, prefix),
sagemaker_session=sess,
)
...
Ajouter des autorisations Amazon S3 supplémentaires à un rôle d'exécution SageMaker AI
Lorsque vous utilisez une fonctionnalité d' SageMaker IA avec des ressources dans Amazon S3, telles que des données d'entrée, le rôle d'exécution que vous spécifiez dans votre demande (par exempleCreateTrainingJob
) est utilisé pour accéder à ces ressources.
Si vous attachez la politique gérée IAM, AmazonSageMakerFullAccess
, à un rôle d'exécution, ce rôle a l'autorisation d'effectuer certaines actions Amazon S3 sur des compartiments ou des objets avec SageMaker
, Sagemaker
, sagemaker
, ou aws-glue
dans le nom. Elle a également l'autorisation d'effectuer les opérations suivantes sur n'importe quelle ressource Amazon S3 :
"s3:CreateBucket",
"s3:GetBucketLocation",
"s3:ListBucket",
"s3:ListAllMyBuckets",
"s3:GetBucketCors",
"s3:PutBucketCors"
Pour accorder à un rôle d'exécution des autorisations pour accéder à un ou plusieurs compartiments spécifiques dans Amazon S3, vous pouvez attacher une politique similaire à la suivante au rôle. Cette politique accorde à un rôle IAM l'autorisation d'effectuer toutes les actions qui AmazonSageMakerFullAccess
autorisent mais limitent cet accès aux compartiments amzn-s3-demo-bucket1 et amzn-s3-demo-bucket2. Reportez-vous à la documentation de sécurité de la fonctionnalité d' SageMaker IA spécifique que vous utilisez pour en savoir plus sur les autorisations Amazon S3 requises pour cette fonctionnalité.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket1/*
", "arn:aws:s3:::amzn-s3-demo-bucket2/*
" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketCors", "s3:PutBucketCors" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1
", "arn:aws:s3:::amzn-s3-demo-bucket2
" ] } ] }
Obtenez votre rôle d'exécution
Vous pouvez utiliser la console SageMaker AI
Rubriques
Obtenir le rôle d'exécution du domaine
Vous trouverez ci-dessous des instructions pour trouver le rôle d'exécution de votre domaine.
Trouvez le rôle d'exécution associé à votre domaine
-
Ouvrez la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Dans le volet de navigation de gauche, sélectionnez Domaines sous Configurations d'administration.
-
Choisissez le lien correspondant à votre domaine.
-
Choisissez l'onglet Paramètres du domaine.
-
Dans la section Paramètres généraux, l'ARN du rôle d'exécution est répertorié sous Rôle d'exécution.
Le nom du rôle d'exécution se trouve après le dernier nom
/
de l'ARN du rôle d'exécution.
Rôle d'exécution de l'espace Get
Vous trouverez ci-dessous des instructions pour déterminer le rôle d'exécution de votre espace.
Trouvez le rôle d'exécution associé à votre espace
-
Ouvrez la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Dans le volet de navigation de gauche, sélectionnez Domaines sous Configurations d'administration.
-
Choisissez le lien correspondant à votre domaine.
-
Choisissez l'onglet Gestion de l'espace.
-
Dans la section Détails, l'ARN du rôle d'exécution est répertorié sous Rôle d'exécution.
Le nom du rôle d'exécution se trouve après le dernier nom
/
de l'ARN du rôle d'exécution.
Note
Le code suivant est destiné à être exécuté dans un environnement d' SageMaker intelligence artificielle, comme n'importe lequel des codes IDEs d'Amazon SageMaker Studio. Vous recevrez un message d'erreur si vous vous lancez get_execution_role
en dehors d'un environnement d' SageMaker IA.
La commande get_execution_role
from sagemaker import get_execution_role
role = get_execution_role()
print(role)
Le nom du rôle d'exécution se trouve après le dernier nom /
de l'ARN du rôle d'exécution.
Obtenir le rôle d'exécution de l'utilisateur
Vous trouverez ci-dessous des instructions pour trouver le rôle d'exécution d'un utilisateur.
Trouvez le rôle d'exécution attaché à un utilisateur
-
Ouvrez la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Dans le volet de navigation de gauche, sélectionnez Domaines sous Configurations d'administration.
-
Choisissez le lien correspondant à votre domaine.
-
Choisissez l'onglet Profils utilisateurs.
-
Choisissez le lien correspondant à votre utilisateur.
-
Dans la section Détails, l'ARN du rôle d'exécution est répertorié sous Rôle d'exécution.
Le nom du rôle d'exécution se trouve après le dernier nom
/
de l'ARN du rôle d'exécution.
Note
Pour utiliser les exemples suivants, le AWS Command Line Interface (AWS CLI) doit être installé et configuré. Pour plus d'informations, voir Commencer avec le AWS CLI dans le guide de AWS Command Line Interface l'utilisateur de la version 2.
La get-caller-identity
aws sts get-caller-identity
Le nom du rôle d'exécution se trouve après le dernier nom /
de l'ARN du rôle d'exécution.
Modifier votre rôle d'exécution
Un rôle d'exécution est un rôle IAM assumé par une identité d' SageMaker IA (comme un utilisateur, un espace ou un domaine d' SageMaker IA). La modification du rôle IAM modifie les autorisations pour toutes les identités assumant ce rôle.
Lorsque vous modifiez un rôle d'exécution, le rôle d'exécution de l'espace correspondant change également. Les effets du changement peuvent mettre un certain temps à se propager.
-
Lorsque vous modifiez le rôle d'exécution d'un utilisateur, les espaces privés créés par cet utilisateur assument le rôle d'exécution modifié.
-
Lorsque vous modifiez le rôle d'exécution par défaut d'un espace, les espaces partagés du domaine assument le rôle d'exécution modifié.
Pour plus d'informations sur les rôles et les espaces d'exécution, consultezComprendre les autorisations d'espace de domaine et les rôles d'exécution.
Vous pouvez remplacer le rôle d'exécution d'une identité par un autre rôle IAM en suivant l'une des instructions suivantes.
Si, au contraire, vous souhaitez modifier un rôle assumé par une identité, consultezModifier les autorisations d'accès au rôle d'exécution.
Rubriques
Modifier le rôle d'exécution par défaut du domaine
Vous trouverez ci-dessous des instructions sur la modification du rôle d'exécution par défaut de votre domaine.
Modifier le rôle d'exécution par défaut associé à votre domaine
-
Ouvrez la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Dans le volet de navigation de gauche, sélectionnez Domaines sous Configurations d'administration.
-
Choisissez le lien correspondant à votre domaine.
-
Choisissez l'onglet Paramètres du domaine.
-
Dans la section Paramètres généraux, choisissez Modifier.
-
Dans la section Autorisations, sous Rôle d'exécution par défaut, développez la liste déroulante.
-
Dans la liste déroulante, vous pouvez choisir un rôle existant, saisir un ARN de rôle IAM personnalisé ou créer un nouveau rôle.
Si vous souhaitez créer un nouveau rôle, vous pouvez choisir Créer un rôle à l'aide de l'option de l'assistant de création de rôle.
-
Choisissez Suivant dans les étapes suivantes et choisissez Soumettre à la dernière étape.
Modifier le rôle d'exécution par défaut de l'espace
Vous trouverez ci-dessous des instructions sur la modification du rôle d'exécution par défaut de votre espace. La modification de ce rôle d'exécution modifiera le rôle assumé par tous les espaces partagés du domaine.
Modifier le rôle d'exécution par défaut de l'espace lorsque vous créez un nouvel espace
-
Ouvrez la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Dans le volet de navigation de gauche, sélectionnez Domaines sous Configurations d'administration.
-
Choisissez le lien correspondant à votre domaine.
-
Choisissez l'onglet Paramètres du domaine.
-
Dans la section Paramètres généraux, choisissez Modifier.
-
Dans la section Autorisations, sous Rôle d'exécution par défaut de l'espace, développez la liste déroulante.
-
Dans la liste déroulante, vous pouvez choisir un rôle existant, saisir un ARN de rôle IAM personnalisé ou créer un nouveau rôle.
Si vous souhaitez créer un nouveau rôle, vous pouvez choisir Créer un rôle à l'aide de l'option de l'assistant de création de rôle.
-
Choisissez Suivant dans les étapes suivantes et choisissez Soumettre à la dernière étape.
Modifier le rôle d'exécution du profil utilisateur
Vous trouverez ci-dessous des instructions sur la modification du rôle d'exécution d'un utilisateur. La modification de ce rôle d'exécution modifiera le rôle assumé par tous les espaces privés créés par cet utilisateur.
Modifier le rôle d'exécution attaché à un utilisateur
-
Ouvrez la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Dans le volet de navigation de gauche, sélectionnez Domaines sous Configurations d'administration.
-
Choisissez le lien correspondant à votre domaine.
-
Choisissez l'onglet Profils utilisateurs.
-
Choisissez le lien correspondant au nom du profil utilisateur.
-
Choisissez Modifier.
-
Dans la liste déroulante, vous pouvez choisir un rôle existant, saisir un ARN de rôle IAM personnalisé ou créer un nouveau rôle.
Si vous souhaitez créer un nouveau rôle, vous pouvez choisir Créer un rôle à l'aide de l'option de l'assistant de création de rôle.
-
Choisissez Suivant dans les étapes suivantes et choisissez Soumettre à la dernière étape.
Modifier les autorisations d'accès au rôle d'exécution
Vous pouvez modifier les autorisations existantes relatives au rôle d'exécution d'une identité (comme un utilisateur, un espace ou un domaine SageMaker AI). Cela se fait en trouvant le rôle IAM approprié que l'identité assume, puis en modifiant ce rôle IAM. Vous trouverez ci-dessous des instructions pour y parvenir via la console.
Lorsque vous modifiez un rôle d'exécution, le rôle d'exécution de l'espace correspondant change également. Les effets du changement peuvent ne pas être immédiats.
-
Lorsque vous modifiez le rôle d'exécution d'un utilisateur, les espaces privés créés par cet utilisateur assument le rôle d'exécution modifié.
-
Lorsque vous modifiez le rôle d'exécution par défaut d'un espace, les espaces partagés du domaine assument le rôle d'exécution modifié.
Pour plus d'informations sur les rôles et les espaces d'exécution, consultezComprendre les autorisations d'espace de domaine et les rôles d'exécution.
Si, au contraire, vous souhaitez modifier le rôle assumé par une identité, consultezModifier votre rôle d'exécution.
Pour modifier les autorisations associées à vos rôles d'exécution
-
Obtenez d'abord le nom de l'identité que vous souhaitez modifier.
-
Pour modifier un rôle assumé par une identité, consultez la section Modification d'un rôle dans le Guide de AWS Identity and Access Management l'utilisateur.
Pour plus d'informations et des instructions sur l'ajout d'autorisations aux identités IAM, voir Ajouter ou supprimer des autorisations d'identité dans le Guide de l'AWS Identity and Access Management utilisateur.
Transmission de rôles
Des actions telles que le transfert d'un rôle entre les services sont une fonction courante au sein de l' SageMaker IA. Vous trouverez plus de détails sur les actions, les ressources et les clés de condition pour l' SageMaker IA dans la référence d'autorisation de service.
Vous transmettez le rôle (iam:PassRole
) lorsque vous effectuez ces appels d'API : CreateAutoMLJob
CreateCompilationJob
CreateDomain
CreateFeatureGroup
, CreateFlowDefiniton
, CreateHyperParameterTuningJob
, CreateImage
, CreateLabelingJob
, CreateModel
, CreateMonitoringSchedule
, CreateNotebookInstance
, CreateProcessingJob
, CreateTrainingJob
, CreateUserProfile
, RenderUiTemplate
, UpdateImage
, et UpdateNotebookInstance
.
Vous attachez la politique de confiance suivante au rôle IAM, qui accorde à l' SageMaker IA les autorisations principales pour assumer le rôle, et qui est la même pour tous les rôles d'exécution :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "sagemaker.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Les autorisations que vous devez accorder au rôle varient en fonction de l'API que vous appelez. Les sections suivantes présentent ces autorisations.
Note
Au lieu de gérer les autorisations en élaborant une politique d'autorisation, vous pouvez utiliser la politique d'AmazonSageMakerFullAccess
autorisation AWS-managed. Les autorisations de cette politique sont assez larges, afin de permettre toutes les actions que vous souhaiteriez effectuer dans l' SageMaker IA. Pour obtenir la liste des autorisations de la politique, y compris des informations sur les raisons de l'ajout d'un grand nombre de ces autorisations, consultez AWS politique gérée : AmazonSageMakerFullAccess. Si vous préférez créer des politiques personnalisées et gérer les autorisations de sorte à les limiter aux actions que vous devez effectuer avec le rôle d'exécution uniquement, consultez les rubriques suivantes.
Important
Si vous rencontrez des problèmes, consultez Résolution des problèmes liés à Amazon SageMaker AI Identity and Access.
Pour plus d'informations sur les rôles IAM, consultez la section Rôles IAM dans la référence d'autorisation de service.
Rubriques
CreateAutoMLJob et API CreateAuto MLJob V2 : autorisations des rôles d'exécution
CreateDomain API : autorisations relatives aux rôles d'exécution
CreateImage et UpdateImage APIs : Autorisations relatives aux rôles d'exécution
CreateNotebookInstance API : autorisations relatives aux rôles d'exécution
CreateHyperParameterTuningJob API : autorisations relatives aux rôles d'exécution
CreateProcessingJob API : autorisations relatives aux rôles d'exécution
CreateTrainingJob API : autorisations relatives aux rôles d'exécution
CreateModel API : autorisations relatives aux rôles d'exécution
CreateAutoMLJob et API CreateAuto MLJob V2 : autorisations des rôles d'exécution
Pour un rôle d'exécution que vous pouvez transmettre à une demande d'CreateAutoMLJobV2
API CreateAutoMLJob
ou à une demande d'API, vous pouvez associer la politique d'autorisation minimale suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:PassedToService": "sagemaker.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"sagemaker:DescribeEndpointConfig",
"sagemaker:DescribeModel",
"sagemaker:InvokeEndpoint",
"sagemaker:ListTags",
"sagemaker:DescribeEndpoint",
"sagemaker:CreateModel",
"sagemaker:CreateEndpointConfig",
"sagemaker:CreateEndpoint",
"sagemaker:DeleteModel",
"sagemaker:DeleteEndpointConfig",
"sagemaker:DeleteEndpoint",
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
Si vous spécifiez un VPC privé pour votre tâche AutoML, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}
Si votre entrée est chiffrée à l'aide d'un chiffrement côté serveur à l'aide d'une clé AWS gérée par KMS (SSE-KMS), ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
]
}
Si vous spécifiez une clé KMS dans la configuration de sortie de la tâche AutoML, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
]
}
Si vous spécifiez une clé KMS de volume dans la configuration des ressources de la tâche AutoML, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant"
]
}
CreateDomain API : autorisations relatives aux rôles d'exécution
Le rôle d'exécution pour les domaines avec IAM Identity Center et le rôle utilisateur/d'exécution pour les domaines IAM nécessitent les autorisations suivantes lorsque vous transmettez une clé gérée par le AWS KMS client, comme KmsKeyId
dans la demande d'API. CreateDomain
Les autorisations sont appliquées au cours de l'appel d'API CreateApp
.
Pour un rôle d'exécution que vous pouvez transmettre dans la demande d'API CreateDomain
, vous pouvez attacher la politique d'autorisation suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:region
:account-id
:key/kms-key-id
"
}
]
}
De même, si les autorisations sont spécifiées dans une politique KMS, vous pouvez attacher la politique suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::account-id
:role/ExecutionRole
"
]
},
"Action": [
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*"
}
]
}
CreateImage et UpdateImage APIs : Autorisations relatives aux rôles d'exécution
Pour un rôle d'exécution que vous pouvez transmettre dans une demande d'API CreateImage
ou UpdateImage
, vous pouvez attacher la politique d'autorisation suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
],
"Resource": "*"
}
]
}
CreateNotebookInstance API : autorisations relatives aux rôles d'exécution
Les autorisations que vous accordez au rôle d'exécution pour appeler l'API CreateNotebookInstance
dépendent de la façon dont vous prévoyez d'utiliser l'instance de bloc-notes. Si vous prévoyez de l'utiliser pour invoquer l' SageMaker IA APIs et transmettre le même rôle lorsque vous appelez le CreateTrainingJob
et CreateModel
APIs, associez la politique d'autorisation suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sagemaker:*",
"ecr:GetAuthorizationToken",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"ecr:BatchCheckLayerAvailability",
"ecr:SetRepositoryPolicy",
"ecr:CompleteLayerUpload",
"ecr:BatchDeleteImage",
"ecr:UploadLayerPart",
"ecr:DeleteRepositoryPolicy",
"ecr:InitiateLayerUpload",
"ecr:DeleteRepository",
"ecr:PutImage",
"ecr:CreateRepository",
"cloudwatch:PutMetricData",
"cloudwatch:GetMetricData",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics",
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogStreams",
"logs:PutLogEvents",
"logs:GetLogEvents",
"s3:CreateBucket",
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"robomaker:CreateSimulationApplication",
"robomaker:DescribeSimulationApplication",
"robomaker:DeleteSimulationApplication",
"robomaker:CreateSimulationJob",
"robomaker:DescribeSimulationJob",
"robomaker:CancelSimulationJob",
"ec2:CreateVpcEndpoint",
"ec2:DescribeRouteTables",
"elasticfilesystem:DescribeMountTargets"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"codecommit:GitPull",
"codecommit:GitPush"
],
"Resource": [
"arn:aws:codecommit:*:*:*sagemaker*",
"arn:aws:codecommit:*:*:*SageMaker*",
"arn:aws:codecommit:*:*:*Sagemaker*"
]
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:PassedToService": "sagemaker.amazonaws.com"
}
}
}
]
}
Pour restreindre les autorisations, limitez-les aux ressources Amazon S3 et Amazon ECR spécifiques, en limitant "Resource": "*"
comme suit :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:*", "ecr:GetAuthorizationToken", "cloudwatch:PutMetricData", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::inputbucket" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::
inputbucket
/object1
", "arn:aws:s3:::outputbucket
/path
", "arn:aws:s3:::inputbucket
/object2
", "arn:aws:s3:::inputbucket
/object3
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": [ "arn:aws:ecr:region
::repository/my-repo1
", "arn:aws:ecr:region
::repository/my-repo2
", "arn:aws:ecr:region
::repository/my-repo3
" ] } ] }
Si vous avez besoin d'accéder à d'autres sources, telles que des ressources Amazon DynamoDB ou Amazon Relational Database Service, ajoutez les autorisations adéquates à cette politique.
Dans la politique précédente, vous adaptez la stratégie comme suit :
-
Adaptez l'autorisation
s3:ListBucket
au compartiment spécifique que vous spécifiez sous la formeInputDataConfig.DataSource.S3DataSource.S3Uri
dans une demandeCreateTrainingJob
. -
Adaptez les autorisations
s3:GetObject
,s3:PutObject
, ets3:DeleteObject
comme suit :-
Adaptez vos autorisations aux valeurs suivantes que vous spécifiez dans une demande
CreateTrainingJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Adaptez vos autorisations aux valeurs suivantes que vous spécifiez dans une demande
CreateModel
:PrimaryContainer.ModelDataUrl
SuplementalContainers.ModelDataUrl
-
-
Adaptez les autorisations
ecr
comme suit :-
Adaptez vos autorisations à la valeur
AlgorithmSpecification.TrainingImage
que vous spécifiez dans une demandeCreateTrainingJob
. -
Adaptez vos autorisations à la valeur
PrimaryContainer.Image
que vous spécifiez dans une demandeCreateModel
:
-
Les actions cloudwatch
et logs
sont applicables aux ressources « * ». Pour plus d'informations, consultez la section CloudWatch Ressources et opérations dans le guide de CloudWatch l'utilisateur Amazon.
CreateHyperParameterTuningJob API : autorisations relatives aux rôles d'exécution
Pour un rôle d'exécution que vous pouvez transmettre dans une demande d'API CreateHyperParameterTuningJob
, vous pouvez attacher la politique d'autorisation suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
Au lieu de les spécifier"Resource": "*"
, vous pouvez étendre ces autorisations à des ressources Amazon S3, Amazon ECR et Amazon CloudWatch Logs spécifiques :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs*" } ] }
Si le conteneur d'entraînement associé à la tâche de réglage d'hyperparamètre doit accéder à d'autres sources de données telles que les ressources DynamoDB ou Amazon RDS, ajoutez les autorisations pertinentes à cette politique.
Dans la politique précédente, vous adaptez la politique comme suit :
-
Adaptez l'autorisation
s3:ListBucket
à un compartiment spécifique que vous spécifiez sous la formeInputDataConfig.DataSource.S3DataSource.S3Uri
dans une demandeCreateTrainingJob
. -
Adaptez les autorisations
s3:GetObject
ets3:PutObject
aux objets suivants que vous spécifiez dans la configuration des données d'entrée et de sortie dans une demandeCreateHyperParameterTuningJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Adaptez les autorisations Amazon ECR au chemin de registre (
AlgorithmSpecification.TrainingImage
) que vous spécifiez dans une demandeCreateHyperParameterTuningJob
. -
Élargissez CloudWatch les autorisations Amazon Logs pour enregistrer un groupe de tâches de SageMaker formation.
Les actions cloudwatch
sont applicables aux ressources "*". Pour plus d'informations, consultez la section CloudWatch Ressources et opérations dans le guide de CloudWatch l'utilisateur Amazon.
Si vous spécifiez un VPC privé pour votre tâche de réglage d'hyperparamètres, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}
Si votre entrée est chiffrée à l'aide d'un chiffrement côté serveur à l'aide d'une clé AWS gérée par KMS (SSE-KMS), ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
]
}
Si vous spécifiez une clé KMS dans la configuration de sortie de la tâche de réglage des hyper-paramètres, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
]
}
Si vous spécifiez une clé KMS de volume dans la configuration des ressources de la tâche de réglage des hyper-paramètres, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant"
]
}
CreateProcessingJob API : autorisations relatives aux rôles d'exécution
Pour un rôle d'exécution que vous pouvez transmettre dans une demande d'API CreateProcessingJob
, vous pouvez attacher la politique d'autorisation suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
Au lieu de spécifier "Resource": "*"
, vous pouvez adapter ces autorisations à des ressources Amazon S3 et Amazon ECR spécifiques :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" } ] }
Si CreateProcessingJob.AppSpecification.ImageUri
a besoin d'accéder à d'autres sources de données, telles que des ressources DynamoDB ou Amazon RDS, ajoutez les autorisations adéquates à cette politique.
Dans la politique précédente, vous adaptez la politique comme suit :
-
Adaptez l'autorisation
s3:ListBucket
à un compartiment spécifique que vous spécifiez sous la formeProcessingInputs
dans une demandeCreateProcessingJob
. -
Adaptez les autorisations
s3:GetObject
ets3:PutObject
aux objets qui seront téléchargés ou téléchargés dansProcessingInputs
etProcessingOutputConfig
dans une requêteCreateProcessingJob
. -
Adaptez les autorisations Amazon ECR au chemin de registre (
AppSpecification.ImageUri
) que vous spécifiez dans une demandeCreateProcessingJob
.
Les actions cloudwatch
et logs
sont applicables aux ressources « * ». Pour plus d'informations, consultez la section CloudWatch Ressources et opérations dans le guide de CloudWatch l'utilisateur Amazon.
Si vous spécifiez un VPC privé pour votre tâche de traitement, ajoutez les autorisations suivantes. Ne limitez pas la politique avec des conditions ou des filtres de ressources. Dans le cas contraire, les contrôles de validation effectués lors de la création de la tâche de traitement échouent.
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}
Si votre entrée est chiffrée à l'aide d'un chiffrement côté serveur à l'aide d'une clé AWS gérée par KMS (SSE-KMS), ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
]
}
Si vous spécifiez une clé KMS dans la configuration de sortie de la tâche de traitement, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
]
}
Si vous spécifiez une clé KMS de volume dans la configuration des ressources de la tâche de traitement, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant"
]
}
CreateTrainingJob API : autorisations relatives aux rôles d'exécution
Pour un rôle d'exécution que vous pouvez transmettre dans une demande d'API CreateTrainingJob
, vous pouvez attacher la politique d'autorisation suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
Au lieu de spécifier "Resource": "*"
, vous pouvez adapter ces autorisations à des ressources Amazon S3 et Amazon ECR spécifiques :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" } ] }
Si CreateTrainingJob.AlgorithSpecifications.TrainingImage
a besoin d'accéder à d'autres sources de données, telles que des ressources DynamoDB ou Amazon RDS, ajoutez les autorisations adéquates à cette politique.
Dans la politique précédente, vous adaptez la politique comme suit :
-
Adaptez l'autorisation
s3:ListBucket
à un compartiment spécifique que vous spécifiez sous la formeInputDataConfig.DataSource.S3DataSource.S3Uri
dans une demandeCreateTrainingJob
. -
Adaptez les autorisations
s3:GetObject
ets3:PutObject
aux objets suivants que vous spécifiez dans la configuration des données d'entrée et de sortie dans une demandeCreateTrainingJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Adaptez les autorisations Amazon ECR au chemin de registre (
AlgorithmSpecification.TrainingImage
) que vous spécifiez dans une demandeCreateTrainingJob
.
Les actions cloudwatch
et logs
sont applicables aux ressources « * ». Pour plus d'informations, consultez la section CloudWatch Ressources et opérations dans le guide de CloudWatch l'utilisateur Amazon.
Si vous spécifiez un VPC privé pour votre tâche d'entraînement, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}
Si votre entrée est chiffrée à l'aide d'un chiffrement côté serveur à l'aide d'une clé AWS gérée par KMS (SSE-KMS), ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
]
}
Si vous spécifiez une clé KMS dans la configuration de sortie de la tâche d'entraînement, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
]
}
Si vous spécifiez une clé KMS de volume dans la configuration des ressources de la tâche d'entraînement, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant"
]
}
CreateModel API : autorisations relatives aux rôles d'exécution
Pour un rôle d'exécution que vous pouvez transmettre dans une demande d'API CreateModel
, vous pouvez attacher la politique d'autorisation suivante au rôle :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
Au lieu de spécifier "Resource": "*"
, vous pouvez adapter ces autorisations à des ressources Amazon S3 et Amazon ECR spécifiques :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
inputbucket
/object
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": [ "arn:aws:ecr:region
::repository/my-repo
", "arn:aws:ecr:region
::repository/my-repo
" ] } ] }
Si CreateModel.PrimaryContainer.Image
a besoin d'accéder à d'autres sources de données, telles que des ressources Amazon DynamoDB ou Amazon RDS, ajoutez les autorisations adéquates à cette politique.
Dans la politique précédente, vous adaptez la politique comme suit :
-
Adaptez les autorisations S3 aux objets que vous spécifiez dans le chemin
PrimaryContainer.ModelDataUrl
dans une demandeCreateModel
. -
Adaptez les autorisations Amazon ECR à un chemin de registre spécifique que vous spécifiez sous les formes
PrimaryContainer.Image
etSecondaryContainer.Image
dans une demandeCreateModel
.
Les actions cloudwatch
et logs
sont applicables aux ressources « * ». Pour plus d'informations, consultez la section CloudWatch Ressources et opérations dans le guide de CloudWatch l'utilisateur Amazon.
Note
Si vous envisagez d'utiliser la fonctionnalité de garde-fous de déploiement de l'SageMaker IA pour le déploiement de modèles en production, assurez-vous que votre rôle d'exécution est autorisé à effectuer l'cloudwatch:DescribeAlarms
action sur vos alarmes d'annulation automatique.
Si vous spécifiez un VPC privé pour votre modèle, ajoutez les autorisations suivantes :
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}