Connexion à SageMaker Studio via un point de terminaison d'un VPC d'interface - Amazon SageMaker

Connexion à SageMaker Studio via un point de terminaison d'un VPC d'interface

Au lieu de vous connecter sur Internet, vous pouvez vous connecter à Amazon SageMaker Studio depuis votre Virtual Private Cloud (Amazon VPC) via un point de terminaison d'interface dans votre VPC. Lorsque vous utilisez un point de terminaison d'un VPC d'interface (point de terminaison d'interface), la communication entre votre VPC et Studio s'effectue en totalité et en toute sécurité au sein du réseau AWS.

SageMaker Studio prend en charge les points de terminaison d'interface à technologie AWS PrivateLink. Chaque point de terminaison d'interface est représenté par une ou plusieurs interfaces réseau Elastic avec des adresses IP privées dans vos sous-réseaux VPC.

Vous pouvez créer un point de terminaison d'interface pour vous connecter à Studio avec la console AWS ou la AWS Command Line Interface (AWS CLI). Pour obtenir des instructions, veuillez consulter Création d'un point de terminaison d'interface. Assurez-vous de créer des points de terminaison d'interface pour tous les sous-réseaux dans votre VPC à partir duquel vous souhaitez vous connecter à Studio.

Lorsque vous créez un point de terminaison d'interface, assurez-vous que les groupes de sécurité de votre point de terminaison autorisent l'accès entrant pour le trafic HTTPS à partir des groupes de sécurité associés à SageMaker Studio. Pour plus d'informations, veuillez consulter Contrôler l'accès aux services avec les points de terminaison d'un VPC.

Note

Outre la création d'un point de terminaison d'interface pour se connecter à SageMaker Studio, créez un point de terminaison d'interface pour vous connecter à l'API Amazon SageMaker. Lorsque les utilisateurs appellent CreatePresignedDomainUrl pour obtenir l'URL permettant de se connecter à Studio, cet appel passe par le point de terminaison d'interface utilisé pour se connecter à l'API SageMaker.

Lorsque vous créez le point de terminaison d'interface, spécifiez le nom du service aws.sagemaker.Region.studio. Une fois que vous avez créé un point de terminaison d'un VPC, activez le DNS privé pour votre point de terminaison. Toute personne qui utilise l'API SageMaker, la AWS CLI ou la console pour se connecter à SageMaker Studio depuis le VPC se connectera à Studio via le point de terminaison d'interface au lieu du réseau Internet public. Vous devez également configurer un DNS personnalisé avec des zones hébergées privées pour le point de terminaison d'un VPC Amazon afin que SageMaker Studio puisse accéder à l'API SageMaker à l'aide du point de terminaison api.sagemaker.$region.amazonaws.com, plutôt que d'utiliser l'URL du point de terminaison d'un VPC. Pour plus d'informations sur la configuration d'une zone hébergée privée, veuillez consulter Utilisation des zones hébergées privées.

Studio prend en charge les points de terminaison d'interface dans toutes les régions AWS où Amazon SageMaker et Amazon VPC sont disponibles.

Vous pouvez attacher une politique de point de terminaison d'un VPC Amazon aux points de terminaison d'un VPC d'interface que vous utilisez pour vous connecter à SageMaker Studio. La politique de point de terminaison contrôle l'accès à Studio. Vous pouvez spécifier les valeurs suivantes :

  • Le principal qui peut exécuter des actions.

  • Les actions qui peuvent être effectuées.

  • Les ressources sur lesquelles les actions peuvent être exécutées.

Pour utiliser un point de terminaison d'un VPC avec SageMaker Studio, votre politique de point de terminaison doit autoriser l'opération CreateApp sur le type d'appli KernelGateway. Cela permet au trafic acheminé vers via le point de terminaison d'un VPC d'appeler l'API CreateApp. L'exemple de politique de point de terminaison d'un VPC suivante montre comment autoriser l'opération CreateApp.

{ "Statement": [ { "Action": "sagemaker:CreateApp", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/*", "Principal": "*" } ] }

Pour plus d'informations, veuillez consulter Contrôler l'accès aux services avec les points de terminaison d'un VPC.

L'exemple suivant de politique de point de terminaison d'un VPC spécifie que tous les utilisateurs qui ont accès au point de terminaison sont autorisés à accéder aux profils utilisateur dans le domaine SageMaker Studio avec l'ID de domaine spécifié. L'accès aux autres domaines est refusé.

{ "Statement": [ { "Action": "sagemaker:CreatePresignedDomainUrl", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/*", "Principal": "*" } ] }

Les utilisateurs extérieurs à votre VPC peuvent se connecter à SageMaker Studio sur Internet, même si vous configurez un point de terminaison d'interface dans votre VPC.

Pour autoriser l'accès aux seules connexions effectuées depuis votre VPC, créez une politique AWS Identity and Access Management (IAM) à cet effet. Ajoutez cette politique à chaque utilisateur, groupe ou rôle IAM utilisé pour accéder à Studio. Cette fonction est uniquement prise en charge en mode IAM et non en mode SSO. Les exemples suivants montrent comment créer de telles politiques.

Important

Si vous appliquez une politique IAM semblable à l'une des politiques suivantes, les utilisateurs ne pourront pas accéder aux API SageMaker Studio ou aux API SageMaker spécifiées via la console SageMaker. Pour accéder à Studio, les utilisateurs doivent utiliser une URL présignée ou appeler directement les API SageMaker.

Exemple 1 : Autoriser les connexions uniquement dans le sous-réseau d'un point de terminaison d'interface

La politique suivante autorise les connexions uniquement pour les appelants dans le sous-réseau où vous avez créé le point de terminaison d'interface.

{ "Id": "sagemaker-studio-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeUserProfile" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }

Exemple 2 : Autoriser les connexions uniquement via les points de terminaison d'interface en utilisant aws:sourceVpce

La politique suivante n'autorise les connexions qu'à celles effectuées via les points de terminaison d'interface spécifiés par la clé de condition aws:sourceVpce. Par exemple, le premier point de terminaison d'interface peut autoriser l'accès via le panneau de configuration de SageMaker Studio. Le deuxième point de terminaison d'interface pourrait permettre l'accès via l'API SageMaker.

{ "Id": "sagemaker-studio-example-2", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeUserProfile" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:sourceVpce": [ "vpce-111bbccc", "vpce-111bbddd" ] } } } ] }

Cette politique inclut l'action DescribeUserProfile. Généralement, vous appelez DescribeUserProfile pour vérifier que l'état du profil utilisateur est InService avant d'essayer de vous connecter au domaine. Par exemple :

aws sagemaker describe-user-profile \ --domain-id domain-id \ --user-profile-name profile-name

Réponse:

{ "DomainId": "domain-id", "UserProfileArn": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/profile-name", "UserProfileName": "profile-name", "HomeEfsFileSystemUid": "200001", "Status": "InService", "LastModifiedTime": 1605418785.555, "CreationTime": 1605418477.297 }
aws sagemaker create-presigned-domain-url --domain-id domain-id \ --user-profile-name profile-name

Réponse:

{ "AuthorizedUrl": "https://domain-id.studio.us-west-2.sagemaker.aws/auth?token=AuthToken" }

Pour ces deux appels, si vous utilisez une version du kit SDK AWS publiée avant le 13 août 2018, vous devez spécifier l'URL du point de terminaison dans l'appel. Par exemple, l'exemple suivant illustre un appel à   create-presigned-domain-url:

aws sagemaker create-presigned-domain-url --domain-id domain-id \ --user-profile-name profile-name \ --endpoint-url vpc-endpoint-id.api.sagemaker.Region.vpce.amazonaws.com

Exemple 3 : Autoriser les connexions à partir d'adresses IP en utilisant aws:SourceIp

La politique suivante autorise les connexions uniquement à partir de la plage d'adresses IP spécifiée à l'aide de la clé de condition aws:SourceIp.

{ "Id": "sagemaker-studio-example-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeUserProfile" ], "Resource": "*", "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "203.0.113.0/24" ] } } } ] }

Exemple 4 : Autoriser les connexions à partir d'adresses IP via un point de terminaison d'interface en utilisant aws:VpcSourceIp

Si vous accédez à SageMaker Studio via un point de terminaison d'interface, vous pouvez utiliser la clé de condition aws:VpcSourceIp pour autoriser les connexions uniquement à partir de la plage d'adresses IP spécifiée au sein du sous-réseau dans lequel vous avez créé le point de terminaison d'interface, comme indiqué dans la politique suivante :

{ "Id": "sagemaker-studio-example-4", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeUserProfile" ], "Resource": "*", "Condition": { "IpAddress": { "aws:VpcSourceIp": [ "192.0.2.0/24", "203.0.113.0/24" ] }, "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }