本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過介面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 SageMaker
建立 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.
做為 Studio 或 Studio Classic 的服務名稱。建立介面端點後,請DNS為您的端點啟用私有。當您VPC使用 AWS CLI、 或 主控台從 內的 連線至 Studio SageMaker API或 Studio Classic 時,您可以透過介面端點而不是公有網際網路來連線。您也需要使用 Amazon VPC端點DNS的私有託管區域來設定自訂,以便 Studio 或 Studio Classic 可以使用Region
.studioapi.sagemaker.$region.amazonaws.com
端點存取 SageMaker API,而不是使用VPC端點 URL。有關設置專用託管區域的指示,請參閱使用私有託管區域。
建立 Studio 或 Studio Classic 的VPC端點政策
您可以將 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
即使您在 中設定介面端點, 以外的使用者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-nameprofile-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-nameprofile-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-nameprofile-name
\ --endpoint-urlvpc-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"
} } } ] }