Logo Zéphyrnet

Sécuriser les URL pré-signées d'Amazon SageMaker Studio Partie 1 : Infrastructure de base

Date :

Vous pouvez accéder à Amazon SageMakerStudio cahiers de la Amazon Sage Maker via la console Gestion des identités et des accès AWS Fédération authentifiée (IAM) de votre fournisseur d'identité (IdP), tel qu'Okta. Lorsqu'un utilisateur de Studio ouvre le lien vers le bloc-notes, Studio valide la stratégie IAM de l'utilisateur fédéré pour autoriser l'accès, puis génère et résout l'URL présignée pour l'utilisateur. Étant donné que la console SageMaker s'exécute sur un domaine Internet, cette URL pré-signée générée est visible dans la session du navigateur. Cela présente un vecteur de menace indésirable pour l'exfiltration et l'accès aux données des clients lorsque les contrôles d'accès appropriés ne sont pas appliqués.

Studio prend en charge quelques méthodes pour appliquer des contrôles d'accès contre l'exfiltration de données d'URL présignées :

  • Validation de l'adresse IP du client à l'aide de la condition de stratégie IAM aws:sourceIp
  • Validation du VPC client à l'aide de la condition IAM aws:sourceVpc
  • Validation du point de terminaison du VPC client à l'aide de la condition de stratégie IAM aws:sourceVpce

Lorsque vous accédez aux blocs-notes Studio à partir de la console SageMaker, la seule option disponible consiste à utiliser la validation IP client avec la condition de politique IAM aws:sourceIp. Cependant, vous pouvez utiliser des produits de routage du trafic de navigateur tels que Zscaler pour garantir l'évolutivité et la conformité de l'accès Internet de votre personnel. Ces produits de routage du trafic génèrent leur propre adresse IP source, dont la plage d'adresses IP n'est pas contrôlée par l'entreprise cliente. Il est donc impossible pour ces entreprises clientes d'utiliser le aws:sourceIp état.

Pour utiliser la validation du point de terminaison du VPC client à l'aide de la condition de stratégie IAM aws:sourceVpce, la création d'une URL présignée doit provenir du même VPC client où Studio est déployé, et la résolution de l'URL présignée doit se produire via un point de terminaison de VPC Studio sur le VPC client. Cette résolution de l'URL présignée pendant le temps d'accès pour les utilisateurs du réseau d'entreprise peut être effectuée à l'aide de règles de transfert DNS (à la fois dans Zscaler et DNS d'entreprise), puis dans le point de terminaison du VPC client à l'aide d'un Amazon Route 53 résolveur entrant.

Dans cette partie, nous abordons l'architecture globale pour sécuriser l'URL pré-signée Studio et montrons comment configurer l'infrastructure de base pour créer et lancer une URL pré-signée Studio via votre point de terminaison VPC sur un réseau privé sans passer par Internet. Cela sert de couche fondamentale pour empêcher l'exfiltration de données par des acteurs externes malveillants accédant à l'URL pré-signée de Studio et l'accès d'utilisateurs d'entreprise non autorisés ou usurpés dans un environnement d'entreprise.

Vue d'ensemble de la solution

Le diagramme suivant illustre l'architecture globale de la solution.

Le processus comprend les étapes suivantes:

  1. Un utilisateur d'entreprise s'authentifie via son IdP, se connecte à son portail d'entreprise et ouvre le lien Studio à partir du portail d'entreprise.
  2. L'application de portail d'entreprise effectue un appel d'API privé à l'aide d'un point de terminaison d'un VPC API Gateway pour créer une URL présignée.
  3. L'appel « créer une URL présignée » du point de terminaison du VPC API Gateway est transféré au résolveur entrant Route 53 sur le VPC client, comme configuré dans le DNS de l'entreprise.
  4. Le résolveur DNS du VPC le résout en l'adresse IP du point de terminaison du VPC API Gateway. Facultativement, il recherche un enregistrement de zone hébergée privée s'il existe.
  5. Le point de terminaison du VPC API Gateway achemine la demande via le réseau privé Amazon vers l'« API de création d'URL présignée » exécutée dans le compte de service API Gateway.
  6. API Gateway appelle le create-pre-signedURL API privée et transmet la demande au create-pre-signedURL AWS Lambda la fonction.
  7. La create-pre-signedURL L'appel Lambda est appelé via le point de terminaison du VPC Lambda.
  8. La create-pre-signedURL la fonction s'exécute dans le compte de service, récupère le contexte de l'utilisateur authentifié (ID utilisateur, région, etc.), recherche une table de mappage pour identifier le domaine SageMaker et l'identifiant du profil utilisateur, crée un sagemaker createpre-signedDomainURL Appel d'API et génère une URL présignée. Le rôle de service Lambda a les conditions de point de terminaison du VPC source définies pour l'API SageMaker et Studio.
  9. L'URL pré-signée générée est résolue sur le point de terminaison du VPC Studio.
  10. Studio vérifie que l'URL présignée est accessible via le point de terminaison VPC du client défini dans la stratégie et renvoie le résultat.
  11. Le bloc-notes Studio est renvoyé à la session de navigateur de l'utilisateur sur le réseau de l'entreprise sans passer par Internet.

Les sections suivantes vous expliquent comment implémenter cette architecture pour résoudre les URL pré-signées de Studio à partir d'un réseau d'entreprise à l'aide de points de terminaison de VPC. Nous démontrons une implémentation complète en montrant les étapes suivantes :

  1. Mettre en place l'architecture de base.
  2. Configurez le serveur d'applications d'entreprise pour accéder à une URL pré-signée SageMaker via un point de terminaison VPC.
  3. Configurez et lancez Studio depuis le réseau de l'entreprise.

Mettre en place l'architecture de base

Dans la poste Accéder à un bloc-notes Amazon SageMaker Studio à partir d'un réseau d'entreprise, nous avons montré comment résoudre un nom de domaine d'URL présigné pour un bloc-notes Studio à partir d'un réseau d'entreprise sans passer par Internet. Vous pouvez suivre les instructions de cet article pour configurer l'architecture de base, puis revenir à cet article et passer à l'étape suivante.

Configurer le serveur d'applications d'entreprise pour accéder à une URL pré-signée SageMaker via un point de terminaison VPC

Pour permettre l'accès à Studio à partir de votre navigateur Internet, nous configurons un serveur d'applications sur site sur Windows Server sur le sous-réseau public VPC sur site. Cependant, les requêtes DNS pour accéder à Studio sont acheminées via le réseau d'entreprise (privé). Effectuez les étapes suivantes pour configurer le routage du trafic Studio via le réseau d'entreprise :

  1. Connectez-vous à votre serveur d'applications Windows sur site.

  2. Selectionnez Obtenir le mot de passe puis parcourez et téléchargez votre clé privée pour déchiffrer votre mot de passe.
  3. Utilisez un client RDP et connectez-vous au serveur Windows à l'aide de vos informations d'identification.
    La résolution de Studio DNS à partir de l'invite de commande Windows Server entraîne l'utilisation de serveurs DNS publics, comme illustré dans la capture d'écran suivante.

    Maintenant, nous mettons à jour Windows Server pour utiliser le serveur DNS local que nous avons configuré précédemment.
  4. Accédez à Panneau de configuration, Réseau et Internetet choisissez Connexions réseau.
  5. Faites un clic droit Ethernet Et choisissez le biens languette.
  6. Mettez à jour Windows Server pour utiliser le serveur DNS local.
  7. Maintenant, vous mettez à jour votre serveur DNS préféré avec l'adresse IP de votre serveur DNS.
  8. Accédez à VPC et Tables de routage et choisissez votre STUDIO-ONPREM-PUBLIC-RT table de routage.
  9. Ajoutez une route à 10.16.0.0/16 avec la cible comme connexion d'appairage que nous avons créée lors de la configuration de l'architecture de base.

Configurer et lancer Studio à partir de votre réseau d'entreprise

Pour configurer et lancer Studio, procédez comme suit :

  1. Téléchargez Chrome et lancez le navigateur sur cette instance Windows.
    Vous devrez peut-être désactiver la configuration de sécurité renforcée d'Internet Explorer pour autoriser les téléchargements de fichiers, puis activer les téléchargements de fichiers.
  2. Dans le navigateur Chrome de votre appareil local, accédez à la console SageMaker et ouvrez les outils de développement Chrome Réseau languette.
  3. Lancez l'application Studio et observez le Réseau onglet pour le authtoken valeur du paramètre, qui inclut l'URL pré-signée générée ainsi que l'adresse du serveur distant vers lequel l'URL est acheminée pour la résolution. Dans cet exemple, l'adresse distante 100.21.12.108 est l'une des adresses de serveur DNS public pour résoudre le domaine DNS SageMaker name d-h4cy01pxticj.studio.us-west-2.sagemaker.aws.
  4. Répétez ces étapes à partir du Cloud de calcul élastique Amazon (Amazon EC2) Instance Windows que vous avez configurée dans le cadre de l'architecture de base.

Nous pouvons observer que l'adresse distante n'est pas l'adresse IP DNS publique, mais plutôt le point de terminaison 10.16.42.74 du VPC Studio.

Conclusion

Dans cet article, nous avons montré comment résoudre une URL pré-signée Studio à partir d'un réseau d'entreprise à l'aide de points de terminaison de VPC privé Amazon sans exposer la résolution d'URL pré-signée à Internet. Cela sécurise davantage la posture de sécurité de votre entreprise pour accéder à Studio à partir d'un réseau d'entreprise afin de créer des charges de travail d'apprentissage automatique hautement sécurisées sur SageMaker. Dans partie 2 de cette série, nous étendons encore cette solution pour montrer comment créer une API privée pour accéder à Studio avec aws:sourceVPCE Validation de la politique IAM et authentification par jeton. Essayez cette solution et laissez vos commentaires dans les commentaires !


À propos des auteurs

Bélier Vittal est architecte de solutions d'apprentissage automatique chez AWS. Il a plus de 20 ans d'expérience dans l'architecture et la création d'applications distribuées, hybrides et cloud. Il est passionné par la création de solutions d'IA/ML et de Big Data sécurisées et évolutives pour aider les entreprises clientes dans leur parcours d'adoption et d'optimisation du cloud afin d'améliorer leurs résultats commerciaux. Dans ses temps libres, il aime le tennis et la photographie.

Neelam Koshiya est un architecte de solutions d'entreprise chez AWS. Son objectif actuel est d'aider les entreprises clientes dans leur parcours d'adoption du cloud pour des résultats commerciaux stratégiques. Dans ses temps libres, elle aime lire et être à l'extérieur.

spot_img

Dernières informations

spot_img

Discutez avec nous

Salut! Comment puis-je t'aider?