透過介面VPC端點連線至 Amazon SageMaker Studio 和 Studio Classic - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

透過介面VPC端點連線至 Amazon SageMaker Studio 和 Studio Classic

您可以透過 中的介面端點,從 Amazon Virtual Private Cloud (AmazonVPC) 連線至 Amazon SageMaker Studio 和 Amazon SageMaker Studio Classic,VPC而不是透過網際網路連線。當您使用介面VPC端點 (介面端點) 時,您的 VPC與 Studio 或 Studio Classic 之間的通訊會在 AWS 網路內完全安全地執行。

Studio 和 Studio Classic 支援由 支援的介面端點AWS PrivateLink。每個介面端點都由一或多個具有VPC子網路中私有 IP 地址的彈性網路介面表示。

Studio 和 Studio Classic 支援 Amazon SageMakerAmazon VPC 可用的所有 AWS 區域中的介面端點。

建立 VPC 端點

您可以建立介面端點,以使用 AWS 主控台或 AWS Command Line Interface () 連線至 Studio 或 Studio Classic AWS CLI。如需指示,請參閱建立介面端點。請務必為VPC您要從中連線到 Studio 和 Studio Classic 的所有子網路建立介面端點。

當您建立介面端點時,請確定端點上的安全群組允許HTTPS來自與 Studio 和 Studio Classic 相關聯之安全群組的流量傳入存取。如需詳細資訊,請參閱使用VPC端點 控制對 服務的存取

注意

除了建立介面端點以連線至 Studio 和 Studio Classic 之外,也請建立介面端點以連線至 Amazon SageMaker API。當使用者呼叫 CreatePresignedDomainUrl URL以取得連線至 Studio 和 Studio Classic 時,該呼叫會經過用來連線至 的介面端點 SageMaker API。

當您建立介面端點時,請指定 aws.sagemaker.Region.studio做為 Studio 或 Studio Classic 的服務名稱。建立介面端點後,請DNS為您的端點啟用私有。當您VPC使用 AWS CLI、 或 主控台從 內的 連線至 Studio SageMaker API或 Studio Classic 時,您可以透過介面端點而不是公有網際網路來連線。您也需要使用 Amazon VPC端點DNS的私有託管區域來設定自訂,以便 Studio 或 Studio Classic 可以使用api.sagemaker.$region.amazonaws.com端點存取 SageMaker API,而不是使用VPC端點 URL。有關設置專用託管區域的指示,請參閱使用私有託管區域

您可以將 Amazon VPC端點政策連接至用來連線至 Studio 或 Studio Classic 的介面VPC端點。端點政策控制對 Studio 或 Studio Classic 的存取。您可以指定下列選項:

  • 可執行動作的主體。

  • 可執行的動作。

  • 可供執行動作的資源。

若要搭配 Studio 或 Studio Classic 使用VPC端點,您的端點政策必須允許 KernelGateway 應用程式類型的 CreateApp 操作。這可讓透過VPC端點路由至 的流量呼叫 CreateApp API。下列範例VPC端點政策顯示如何允許 CreateApp 操作。

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

如需詳細資訊,請參閱使用VPC端點 控制對 服務的存取

下列VPC端點政策範例指定允許具有端點存取權的所有使用者存取具有指定 SageMaker 網域 ID 的網域中的使用者設定檔。其他網域的存取會遭拒。

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

即使您在 中設定介面端點, 以外的使用者VPC也可以透過網際網路連線至 Studio 或 Studio ClassicVPC。

若要僅允許存取您 內建立的連線VPC,請 AWS Identity and Access Management 建立 (IAM) 政策以使其生效。將該政策新增至用於存取 Studio 或 Studio Classic 的每個使用者、群組或角色。只有在使用 IAM 模式進行身分驗證時才支援此功能,而 IAM Identity Center 模式則不支援此功能。下列範例示範如何建立此類政策。

重要

如果您套用類似於下列其中一個範例IAM的政策,則使用者無法存取 Studio 或 Studio Classic,或透過主控台指定的 SageMaker APIs SageMaker 。若要存取 Studio 或 Studio Classic,使用者必須使用預先簽章URL或直接呼叫 SageMaker APIs。

範例 1:僅允許介面端點子網路內的連線

下列政策僅允許向建立介面端點之子網路中的呼叫者建立連線。

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

範例 2:僅允許透過介面端點使用 aws:sourceVpce 的連線

下列策略僅允許連線至透過 aws:sourceVpce 條件金鑰指定的介面端點建立的連線。例如,第一個介面端點可以允許透過 SageMaker 主控台存取 。第二個介面端點可以允許透過 存取 SageMaker API。

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

此政策也包含 DescribeUserProfile 動作。通常您會在嘗試連線到網域之前呼叫 DescribeUserProfile 來確定使用者設定檔的狀態為 InService。例如:

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

回應:

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

回應:

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

對於這兩個通話,如果您使用的是 2018 年 8 月 13 日之前發行的 AWS SDK 版本,您必須在通話URL中指定端點。例如,下列範例示範呼叫 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

範例 3:允許來自使用 aws:SourceIp IP 地址的連線

下列政策只允許使用 aws:SourceIp 條件金鑰來自指定 IP 地址範圍的連線。

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

範例 4:允許透過使用介面端點從 IP 地址進行連線 aws:VpcSourceIp

如果您透過介面端點存取 Studio 或 Studio Classic,則可以使用aws:VpcSourceIp條件索引鍵,僅允許從您建立介面端點的子網路內指定的 IP 地址範圍進行連線,如下列政策所示:

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