Connessione ad Amazon SageMaker Studio e Studio Classic tramite un endpoint VPC di interfaccia. - Amazon SageMaker AI

Connessione ad Amazon SageMaker Studio e Studio Classic tramite un endpoint VPC di interfaccia.

Puoi connetterti ad Amazon SageMaker Studio e Amazon SageMaker Studio Classic dal tuo Amazon Virtual Private Cloud (Amazon VPC) tramite un endpoint di interfaccia nel tuo VPC invece che tramite Internet. Quando utilizzi un endpoint VPC di interfaccia (endpoint di interfaccia), la comunicazione tra il tuo VPC e Studio o Studio Classic avviene completamente e con la massima sicurezza all’interno della rete AWS.

Studio e Studio Classic supportano gli endpoint di interfaccia che utilizzano la tecnologia AWS PrivateLink. Ogni endpoint di interfaccia è rappresentato da una o più interfacce di rete elastiche con indirizzi IP privati nelle sottoreti del tuo VPC.

Studio e Studio Classic supportano gli endpoint di interfaccia in tutte le Regioni AWS in cui sono disponibili sia Amazon SageMaker AI che Amazon VPC.

Creare un endpoint VPC

Puoi creare un endpoint di interfaccia per connetterti a Studio o Studio Classic con la console AWS o la AWS Command Line Interface (AWS CLI). Per le istruzioni, consulta Creazione di un endpoint di interfaccia. Assicurati di creare un endpoint di interfaccia per tutte le sottoreti nel tuo VPC da cui desideri connetterti a Studio o Studio Classic.

Quando crei un endpoint di interfaccia, assicurati che i gruppi di sicurezza sull’endpoint consentano l’accesso in entrata per il traffico HTTPS dai gruppi di sicurezza associati a Studio e Studio Classic. Per ulteriori informazioni, consulta Controllo dell'accesso ai servizi con endpoint VPC.

Nota

Oltre che per la connessione a Studio e Studio Classic, crea un endpoint di interfaccia anche per connetterti all’API di Amazon SageMaker. Quando gli utenti chiamano CreatePresignedDomainUrl per ottenere l’URL di connessione a Studio e Studio Classic, la chiamata passa attraverso l’endpoint di interfaccia utilizzato per la connessione all’API di SageMaker.

Quando crei l’endpoint di interfaccia, specifica aws.sagemaker.Region.studio come nome del servizio per Studio o Studio Classic. Dopo aver creato un endpoint di interfaccia, abilita il DNS privato per il tuo endpoint. Quando ti connetti a Studio o Studio Classic dall’interno del VPC utilizzando l’API di SageMaker, la AWS CLI o la console, utilizzi l’endpoint di interfaccia anziché la rete Internet pubblica. Dovrai anche configurare un DNS personalizzato con zone ospitate private per l’endpoint Amazon VPC in modo che Studio o Studio Classic possa accedere all’API di SageMaker utilizzando l’endpoint api.sagemaker.$region.amazonaws.com anziché l’URL dell’endpoint VPC. Per istruzioni sulla configurazione di una zona ospitata privata, consulta Utilizzo delle zone ospitate private.

Puoi collegare una policy degli endpoint Amazon VPC agli endpoint VPC di interfaccia che utilizzi per connetterti a Studio o Studio Classic. La policy degli endpoint controlla l’accesso a Studio o Studio Classic. È possibile specificare le forme seguenti:

  • Il principale che può eseguire azioni.

  • Le azioni che possono essere eseguite.

  • Le risorse sui cui si possono eseguire azioni.

Per utilizzare un endpoint VPC con Studio o Studio Classic, la policy degli endpoint deve consentire l’operazione CreateApp sul tipo di app KernelGateway. Ciò consente al traffico indirizzato attraverso l'endpoint VPC di chiamare l'API CreateApp. Il seguente esempio di policy di endpoint VPC mostra come consentire l'operazione CreateApp.

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

Per ulteriori informazioni, consulta Controllo dell'accesso ai servizi con endpoint VPC.

L’esempio seguente di una policy degli endpoint VPC specifica che tutti gli utenti che hanno accesso all’endpoint possono accedere ai profili utente nel dominio di SageMaker AI con l’ID dominio specificato. L'accesso ad altri domini viene negato.

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

Gli utenti esterni al tuo VPC possono connettersi a Studio o Studio Classic tramite Internet anche se configuri un endpoint di interfaccia nel tuo VPC.

Per consentire l'accesso solo alle connessioni effettuate dall'interno del tuo VPC, crea una policy AWS Identity and Access Management (IAM) in tal senso. Aggiungi la policy a ogni utente, gruppo o ruolo utilizzato per accedere a Studio o Studio Classic. Questa funzionalità è supportata solo con l’autenticazione in modalità IAM, non in modalità Centro identità IAM. I seguenti esempi illustrano come creare tali policy.

Importante

Se applichi una policy IAM simile a uno dei seguenti esempi, gli utenti non possono accedere a Studio o Studio Classic o alle API SageMaker specificate tramite la console SageMaker AI. Per accedere a Studio o Studio Classic, gli utenti devono utilizzare un URL prefirmato o chiamare direttamente le API di SageMaker.

Esempio 1: consenti le connessioni solo all'interno della sottorete di un endpoint di interfaccia

La seguente policy consente connessioni solo ai chiamanti all'interno di una sottorete in cui è stato creato un endpoint di interfaccia.

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

Esempio 2: consenti le connessioni solo tramite gli endpoint di interfaccia utilizzando aws:sourceVpce

La seguente policy consente le connessioni solo a quelle effettuate tramite gli endpoint di interfaccia specificati dalla chiave di condizione aws:sourceVpce. Ad esempio, il primo endpoint di interfaccia potrebbe consentire l’accesso tramite la console SageMaker AI. Il secondo endpoint di interfaccia potrebbe consentire l'accesso tramite l'API di SageMaker.

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

Questa policy include l'operazione DescribeUserProfile. In genere chiami DescribeUserProfile per assicurarti che lo stato del profilo utente sia InService prima di provare a connetterti al dominio. Per esempio:

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

Risposta:

{ "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

Risposta:

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

Per entrambe queste chiamate, se utilizzi una versione dell'SDK AWS che è stata rilasciata prima del 13 agosto 2018, devi specificare l'URL dell'endpoint nella chiamata. Ad esempio, il seguente esempio mostra una chiamata a 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

Esempio 3: consenti connessioni da indirizzi IP utilizzando aws:SourceIp

La seguente policy consente le connessioni solo dall'intervallo specificato di indirizzi IP utilizzando la chiave di condizione aws:SourceIp.

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

Esempio 4: consenti le connessioni da indirizzi IP tramite un endpoint di interfaccia utilizzando aws:VpcSourceIp

Se accedi a Studio o Studio Classic tramite un endpoint di interfaccia, puoi utilizzare la chiave di condizione aws:VpcSourceIp per consentire le connessioni solo dall’intervallo specificato di indirizzi IP all’interno della sottorete in cui è stato creato l’endpoint di interfaccia, come mostrato nella policy seguente:

JSON
{ "Id": "sagemaker-studio-example-4", "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSageMakerStudioAccess", "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" } } } ] }