Amazon MLA-C01: Sécurité, gouvernance et conformité — Guide d'étude
Fait partie du AWS Machine Learning Engineer Associate MLA-C01 — Guide d’étude. Entraînez-vous avec des réponses vérifiées dans le centre d’examens Amazon, ou passez des tests chronométrés sur ExamRoll.io.
Rôles IAM, moindre privilège et contextes d’exécution de SageMaker
La gestion des identités et des accès pour les charges de travail de ML exige une séparation explicite et auditable des privilèges entre les utilisateurs humains, les systèmes CI/CD et les ressources de calcul d’exécution. Pour SageMaker, cela signifie définir un rôle d’exécution dédié (un rôle IAM avec un AssumeRolePolicyDocument qui autorise le principal de service SageMaker sagemaker.amazonaws.com) et limiter les permissions de ce rôle à l’ensemble minimal d’actions nécessaires : S3 GetObject/PutObject sur des préfixes spécifiques, kms:Decrypt/kms:Encrypt sur une ou plusieurs clés CMK gérées par le client, logs:CreateLogStream et logs:PutLogEvents pour des ARN de LogGroup spécifiques, et sts:AssumeRole uniquement si un accès inter-comptes est requis. Attachez des conditions de politique au niveau des ressources (aws:SourceAccount et aws:SourceArn) afin que les artefacts créés par une tâche ou un pipeline SageMaker particulier ne puissent pas être exfiltrés par d’autres principaux. Utilisez des rôles distincts pour l’entraînement, la création de modèles et l’hébergement (champs RoleArn passés à CreateTrainingJob, CreateModel, CreateEndpointConfig) afin de compartimenter les privilèges d’exécution ; stockez ces ARN de rôle dans le code ou les pipelines en tant que paramètres plutôt que d’intégrer des identifiants.
Pour l’accès développeur éphémère et les approbations humaines, préférez les rôles IAM assumés via AWS STS avec des identifiants à durée de vie limitée plutôt que des clés d’utilisateur IAM à longue durée de vie. L’application des revues multi-personnes et de la séparation des tâches est réalisée en combinant des limites de permissions IAM, AWS Single Sign-On ou un IdP OIDC, et des contrôles au niveau des ressources sur les paquets du SageMaker Model Registry. Lorsque les flux de travail nécessitent une élévation temporaire (par exemple, pour approuver un paquet de modèle), utilisez un flux d’approbation dans SageMaker Model Registry qui définit ModelApprovalStatus sur « PendingManualApproval » et exigez qu’un principal IAM avec une permission sagemaker:ApproveModelPackage étroitement délimitée le fasse passer à « Approved ».
Isolation VPC, contrôles réseau et chiffrement
L’isolation réseau commence par le placement des instances d’entraînement et d’inférence SageMaker dans des sous-réseaux VPC avec une VpcConfig explicite (ID de sous-réseau et ID de groupe de sécurité) fournie aux API CreateTrainingJob, CreateModel, CreateEndpointConfig et CreateProcessingJob. Combinez cela avec des points de terminaison VPC (points de terminaison d’interface pour com.amazonaws.region.sagemaker et com.amazonaws.region.s3 via AWS PrivateLink ou des points de terminaison de passerelle pour S3) afin que les artefacts de modèle et le trafic API ne traversent jamais l’internet public. Activez les VPC Flow Logs pour le sous-réseau et utilisez les règles de groupe de sécurité pour restreindre le trafic sortant uniquement aux adresses et ports requis, par exemple uniquement vers le point de terminaison VPC S3 ou vers une passerelle NAT si les téléchargements de paquets externes sont autorisés.
Le chiffrement doit être appliqué au repos et en transit. Pour les données au repos, utilisez le chiffrement côté serveur S3 avec AWS KMS (SSE-KMS) et protégez les clés avec une clé CMK gérée par le client qui a des politiques de clé restreignant les administrateurs et le rôle d’exécution SageMaker (insérez l’ARN de la CMK dans OutputDataConfig.KmsKeyId ou dans les en-têtes SSE-KMS de S3 PutObject pour les artefacts). Pour les volumes EBS attachés aux instances d’entraînement, spécifiez le chiffrement du volume via ResourceConfig et assurez-vous que la clé KMS EBS est définie. Pour le trafic de conteneur à conteneur et les transferts réseau, activez EnableInterContainerTrafficEncryption et EnableNetworkIsolation dans CreateTrainingJob/CreateModel pour forcer le TLS pour le trafic inter-conteneurs et pour bloquer l’accès sortant à Internet ; de plus, tous les appels REST et SDK vers SageMaker et S3 devraient utiliser HTTPS/TLS par défaut. Effectuez la rotation des clés CMK avec EnableKeyRotation sur la CMK et auditez l’utilisation des clés avec les événements KMS de CloudTrail.
Journalisation d’audit, événements de données et suivi de la lignée
Une piste d’audit complète combine les journaux du plan de gestion et les événements du plan de données. Utilisez AWS CloudTrail pour enregistrer tous les appels d’API SageMaker et IAM ; activez la journalisation des événements de données dans CloudTrail pour les buckets S3 (PutEventSelectors avec DataResources pointant vers l’ARN S3) pour capturer les lectures/écritures au niveau de l’objet pour les jeux de données d’entraînement et les artefacts de modèle. Envoyez les journaux des conteneurs et les journaux système des tâches d’entraînement vers CloudWatch Logs en vous assurant que les permissions du rôle d’exécution pour logs:CreateLogStream et logs:PutLogEvents sont présentes ; les politiques de rétention et les filtres d’abonnement peuvent diffuser ces journaux vers un SIEM central. Pour l’audit au niveau du réseau, activez les VPC Flow Logs et pour la détection d’activités suspectes, abonnez-vous aux résultats de GuardDuty et à Amazon Macie pour la découverte de données sensibles dans S3.
La lignée nécessite de capturer la provenance des artefacts à travers le prétraitement, l’entraînement, l’évaluation et le déploiement. Utilisez SageMaker Pipelines et SageMaker Experiments pour créer automatiquement des enregistrements Experiment, Trial et TrialComponent ; ces API enregistrent les paramètres, les entrées, les métriques et les métadonnées du ModelPackage. Persistez les métadonnées dans un magasin de métadonnées central : AWS Glue Data Catalog peut servir de catalogue de jeux de données et stocker les métadonnées au niveau de la table et le partitionnement, tandis que le service de métadonnées de SageMaker lie les exécutions de pipeline aux artefacts de modèle. Pour l’ingestion inter-comptes ou multi-sources, centralisez les connexions avec les connexions AWS Glue (JDBC pour MySQL sur site) ou utilisez AWS Database Migration Service (DMS) pour répliquer les données transactionnelles dans S3/Redshift où les crawlers Glue peuvent les indexer, puis référencez les tables Glue résultantes depuis les pipelines pour maintenir un chemin de lignée auditable.
Gouvernance des modèles : registre, fiches de modèle et surveillance
SageMaker Model Registry (groupes de paquets de modèles ou ModelPackageGroup et objets ModelPackage) fournit le magasin de modèles central et canonique avec des états de cycle de vie intégrés et des hooks pour le CI/CD. Enregistrez un modèle entraîné dans un ModelPackageGroup et définissez le ModelApprovalStatus sur « PendingManualApproval » ; l’automatisation (CodePipeline, Step Functions) peut se mettre en pause pour qu’un principal autorisé appelle UpdateModelPackage avec ModelApprovalStatus=« Approved ». Associez le registre à SageMaker Model Cards pour documenter l’utilisation prévue, les jeux de données, les hyperparamètres d’entraînement, les références de lignage, les métriques de performance, les métriques d’équité de SageMaker Clarify et les déclarations de conformité. Les fiches de modèle (Model Cards) doivent être rédigées sous forme de métadonnées structurées et stockées à côté du ModelPackage afin que les revues, les pistes d’audit et les fiches de modèle restent colocalisées avec les artefacts binaires.
La surveillance opérationnelle est réalisée à l’aide de SageMaker Model Monitor pour la dérive de la qualité des données et du modèle, et de SageMaker Clarify pour le biais et l’explicabilité. Activez DataCaptureConfig sur CreateEndpoint pour capturer les charges utiles des requêtes et des réponses vers un préfixe S3 sécurisé (avec SSE-KMS), puis configurez les tâches de génération de ligne de base de Model Monitor (en utilisant les statistiques et les contraintes de la ligne de base) et planifiez des tâches de surveillance ou déclenchez des analyses à la demande. Pour la dérive de biais sur les points de terminaison en temps réel déployés, capturez l’inférence et les données de référence (lorsqu’elles sont disponibles), exécutez des tâches de biais Clarify sur le jeu de données capturé, et stockez les rapports Clarify dans S3 et les fiches de modèle (Model Cards). Les alertes et la remédiation peuvent être liées à CloudWatch Alarms et Step Functions qui implémentent des modèles de restauration (rollback) ou de mise en quarantaine.
Modèles de conception, compromis et pièges courants
Lors de la centralisation de plusieurs sources de données, AWS Glue avec ses connecteurs JDBC et AWS Lake Formation pour un contrôle d’accès affiné constitue le modèle présentant la plus faible charge opérationnelle ; l’utilisation de DMS pour répliquer les sources transactionnelles dans S3 offre une meilleure isolation pour les pipelines de ML mais augmente la complexité opérationnelle. Pour la latence d’accès aux jeux de données lors de tâches d’entraînement répétées, l’entrée S3 en streaming avec le mode Pipe ou le montage d’un système de fichiers partagé tel qu’Amazon FSx for Lustre (exportant un espace de noms POSIX vers les instances d’entraînement) réduit le temps de démarrage par rapport à la copie répétée de grands jeux de données dans des volumes EBS locaux. Le compromis est que FSx ajoute des coûts et de la gestion ; le mode Pipe est plus simple mais exige que votre conteneur d’entraînement prenne en charge l’entrée en streaming (RecordIO, protobuf).
Pour le déséquilibre des classes et le traitement des données catégorielles avec des opérations minimales, tirez parti de Data Wrangler ou de SageMaker Processing pour produire des transformations cohérentes et stocker les données de caractéristiques dans SageMaker Feature Store afin que l’entraînement hors ligne et l’inférence en ligne partagent la même transformation. Pour le déséquilibre en particulier, préférez d’abord les remèdes au niveau de l’algorithme (pour XGBoost, définissez scale_pos_weight sur num_negative/num_positive) avant le rééchantillonnage au niveau des données ; les approches algorithmiques évitent de créer des enregistrements synthétiques et sont opérationnellement plus simples pour les pipelines. Pour la détection d’anomalies et les contrôles de qualité des jeux de données, choisissez entre des services spécialisés et des modèles personnalisés : Amazon Lookout for Metrics offre une détection et une visualisation automatisées des anomalies avec des connecteurs vers de multiples sources, tandis que SageMaker Random Cut Forest (intégré) s’intègre directement dans les pipelines et donne un contrôle total sur les seuils personnalisés et l’explicabilité.
Les pièges courants incluent des rôles IAM trop larges (permissions s3:* ou kms:* excessives), l’incapacité à activer les événements de données CloudTrail pour S3, ce qui crée des angles morts lorsque des artefacts de modèle sont exfiltrés, la non-activation des points de terminaison de VPC, ce qui a pour conséquence d’acheminer involontairement des données sur l’Internet public, et l’omission du flux de travail d’approbation de modèle, ce qui entraîne la promotion de modèles non révisés. Une autre erreur fréquente consiste à stocker des données sensibles en texte clair dans S3 sans SSE-KMS ou à ne pas restreindre les politiques de clé KMS pour empêcher l’utilisation de la clé par des principaux non autorisés.
Problème pratique : Scénario d’utilisation
AcmeFin : modèle de détection de fraude pour une application web financière. Les sources de données incluent des journaux de transactions et des profils clients dans S3, ainsi que des tables MySQL sur site contenant les scores de risque client. Les objectifs sont des pipelines sécurisés et auditables, une faible latence au démarrage de l’entraînement pour des réentraînements fréquents, une porte d’approbation manuelle pour le déploiement en production, une évaluation à la demande du biais/de la dérive pour les points de terminaison déployés, et une détection et visualisation automatisées des anomalies des données entrantes.
Ingérer et centraliser les données : utiliser AWS DMS pour répliquer les données MySQL sur site dans un préfixe d’atterrissage S3 sous un chiffrement SSE-KMS strict (politique de compartiment restreinte aux comptes AcmeFin). Enregistrer les jeux de données et les partitions S3 dans l’AWS Glue Data Catalog via des crawlers Glue et appliquer l’accès via les autorisations Lake Formation. Justification : DMS fournit une réplication continue pour les tables transactionnelles, le Glue Catalog centralise les métadonnées et permet le lignage à travers l’ETL et l’entraînement.
Sécuriser le calcul et le stockage : créer des rôles d’exécution SageMaker dédiés avec le moindre privilège (RoleArn utilisé dans CreateTrainingJob) et une politique de confiance autorisant sagemaker.amazonaws.com ; restreindre les autorisations du rôle à des préfixes S3 spécifiques et à la CMK gérée par le client. Placer tout l’entraînement et l’inférence dans des sous-réseaux privés en fournissant VpcConfig.Subnets et VpcConfig.SecurityGroupIds à CreateTrainingJob et CreateEndpointConfig, et créer des points de terminaison d’interface pour com.amazonaws.region.s3 et pour l’API SageMaker afin d’éviter la sortie vers l’Internet public. Justification : l’isolation VPC ainsi que les points de terminaison de VPC garantissent que les artefacts ne transitent jamais par les réseaux publics et les rôles avec des restrictions CMK empêchent l’utilisation abusive des clés.
Minimiser la latence au démarrage de l’entraînement : stocker les grands jeux de données sur Amazon FSx for Lustre exporté vers le sous-réseau d’entraînement et utiliser le mode Pipe pour les entrées en streaming plus petites. Configurer CreateTrainingJob avec InputDataConfig pointant vers le jeu de données monté sur FSx ou S3 avec le mode Pipe, et réutiliser les caches chauds en gardant les pointeurs de jeux de données constants d’une tâche à l’autre. Justification : FSx fournit un accès POSIX et évite les téléchargements S3 répétés ; le mode Pipe réduit la latence de copie pour les conteneurs compatibles avec le streaming.
Gouvernance et approbation manuelle : enregistrer les modèles dans le SageMaker Model Registry à la fin de l’entraînement ; définir ModelApprovalStatus=“PendingManualApproval” pour les nouveaux objets ModelPackage. Mettre en œuvre un flux de travail d’approbation utilisant AWS CodePipeline/Step Functions qui exige qu’un principal avec la permission sagemaker:UpdateModelPackage appelle UpdateModelPackage(ModelApprovalStatus=“Approved”) avant que l’étape CreateEndpoint ne s’exécute. Justification : le Model Registry fournit des états de cycle de vie et une action d’approbation auditable liée aux autorisations IAM.
Vérifications à la demande du biais et de la dérive : activer DataCaptureConfig sur le point de terminaison pour écrire les requêtes et les réponses dans un préfixe S3 chiffré avec SSE-KMS. Pour l’analyse de biais à la demande, exécutez des tâches par lots SageMaker Clarify référençant les données capturées et la ligne de base de la Model Card ; pour la dérive continue, planifiez des tâches SageMaker Model Monitor qui comparent les distributions en direct aux statistiques de base. Justification : la capture de données plus Clarify/Model Monitor fournit des évaluations à la fois ad hoc et planifiées avec des résultats stockés à côté des métadonnées du modèle.
Détection d’anomalies et visualisation : connecter les métriques capturées et les séries temporelles de caractéristiques à Amazon Lookout for Metrics pour une détection d’anomalies et des notifications automatisées, et visualiser les résultats dans Amazon QuickSight. Alternativement, exécuter une tâche d’entraînement Random Cut Forest dans SageMaker et faire remonter les anomalies dans un tableau de bord si des seuils personnalisés sont nécessaires. Justification : Lookout for Metrics réduit la charge opérationnelle pour la détection d’anomalies et s’intègre avec de multiples sources pour une visualisation rapide.
Cette approche équilibre la sécurité (VPC, SSE-KMS, IAM restreint), la gouvernance (Model Registry, Model Cards, flux de travail d’approbation), l’entraînement à faible latence (FSx + mode Pipe) et la surveillance opérationnelle (DataCapture, Clarify, Model Monitor, Lookout for Metrics) tout en maintenant un lignage auditable via le Glue Catalog et SageMaker Experiments.
← Surveillance et observabilité des modèles · Tous les domaines · IA générative et modèles de fondation →
Entraînez-vous sur ces questions → · Tests chronométrés sur ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Réussissez votre examen →