在VPC没有互联网访问权限的情况下配置 Amazon SageMaker Canvas - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在VPC没有互联网访问权限的情况下配置 Amazon SageMaker Canvas

Amazon SageMaker Canvas 应用程序在 AWS 托管的亚马逊虚拟私有云 (VPC) 的容器中运行。如果您想进一步控制对资源的访问或在没有公共互联网访问的情况下运行 SageMaker Canvas,则可以配置您的 Amazon SageMaker 域名和VPC设置。在自己的设置中VPC,您可以配置安全组(控制来自 Amazon EC2 实例的入站和出站流量的虚拟防火墙)和子网(您VPC的 IP 地址范围)等设置。要了解更多信息VPCs,请参阅 Amazon VPC 的工作原理

当 SageMaker Canvas 应用程序在 AWS 托管环境中运行时VPC,它可以使用互联网连接或通过在客户管理的终端中创建的VPC端点VPC(无需公共互联网访问)与其他 AWS 服务进行交互。 SageMaker Canvas 应用程序可以通过 Studio Classic 创建的网络接口访问这些VPC端点,该接口提供与客户管理的网络的连接。VPC SageMaker Canvas 应用程序的默认行为是访问互联网。使用互联网连接时,前述作业的容器会通过互联网访问 AWS 资源,例如存储训练数据和模型构件的 Amazon S3 存储桶。

但是,如果您有安全要求来控制对数据和作业容器的访问,我们建议您配置 SageMaker Canvas 和您的,VPC以便无法通过 Internet 访问您的数据和容器。 SageMaker 使用您在为 C SageMaker anvas 设置域名时指定的VPC配置设置。

如果您想在不访问互联网的情况下配置 SageMaker Canvas 应用程序,则必须在登录 Amazon SageMaker 域时配置VPC设置,设置VPC终端节点并授予必要的 AWS Identity and Access Management 权限。有关在 Amazon VPC 中配置的信息 SageMaker,请参阅选择亚马逊 VPC。以下各节介绍如何在VPC没有公共互联网访问的情况下运行 SageMaker Canvas。

在VPC没有互联网访问权限的情况下配置 Amazon SageMaker Canvas

您可以通过自己的服务将流量从 SageMaker Canvas 发送到其他 AWS 服务VPC。如果您自己的域名VPC没有公共互联网接入,并且您已将域名设置为VPC仅限模式,那么 SageMaker Canvas 也无法访问公共互联网。这包括所有请求,例如访问 Amazon S3 中的数据集或标准版本的训练任务,并且这些请求是通过您的VPC终端节点VPC而不是公共互联网进行的。当您加入域和时选择亚马逊 VPC,您可以将自己的VPC安全组和子网设置以及所需的安全组和子网设置指定VPC为该域的默认设置。然后,在你中 SageMaker创建一个网络接口VPC, SageMaker Canvas 用它来访问你的VPC端点VPC。

确保在中设置了一个或多个安全组,其入站和出站规则允许安全组内的TCP流量。VPC这是 Jupyter 服务器应用程序和内核网关应用程序之间的连接所必需的。必须至少允许访问范围 8192-65535 内的端口。此外,请确保为每个用户配置文件创建不同的安全组,并添加来自同一安全组的入站访问权限。我们不建议对用户配置文件重复使用域级安全组。如果域级安全组允许对其自身进行入站访问,则域中的所有应用程序都可以访问域中的所有其他应用程序。请注意,安全组和子网设置是在您完成域名登录后设置的。

登录域名时,如果您选择 “仅限公共互联网” 作为网络访问类型,VPC则会 SageMaker 被管理并允许访问互联网。

您可以通过选择VPC仅 SageMaker将所有流量发送到在您指定的网络接口中 SageMaker 创建的网络接口来更改此行为VPC。选择此选项时,必须提供与和 SageMaker 运行时通信所需的子网、安全组和VPC终端节点, SageMaker API以及 C SageMaker anvas 使用的各种 AWS 服务,例如 Amazon S3 和 Amazon CloudWatch。请注意,您只能从与您位于同一区域的 Amazon S3 存储桶中导入数据。VPC

以下过程说明如何将这些设置配置为在没有互联网的情况下使用 SageMaker Canvas。

第 1 步:登录 Amazon SageMaker 域名

要使用自己的网络接口VPC而不是通过互联网将 SageMaker Canvas 流量发送到网络接口,请指定VPC您在登录 Amazon SageMaker 域时要使用的接口。您还必须在中至少指定两个 SageMaker 可以VPC使用的子网。选择标准设置,然后在为域配置网络和存储部分时执行以下步骤。

  1. 选择你想要的VPC

  2. 选择两个或更多子网。如果您未指定子网,则 SageMaker 使用中的所有子网。VPC

  3. 选择一个或多个安全组

  4. 选择 “VPC仅限” 可在托管 C SageMaker anvas 的 AWS 托管区域VPC中关闭直接互联网接入。

禁用互联网访问后,完成注册流程以设置您的域名。有关 Amazon SageMaker 域名VPC设置的更多信息,请参阅选择亚马逊 VPC

步骤 2:配置VPC终端节点和访问权限

注意

要自行配置 CanvasVPC,必须为VPC终端节点启用私有DNS主机名。有关更多信息,请参阅 SageMaker 通过VPC接口端点连接

SageMaker Canvas 仅访问其他 AWS 服务来管理和存储数据以实现其功能。例如,如果用户访问 Amazon Redshift 数据库,它就会连接到 Amazon Redshift。它可以使用互联网连接或终端节点连接到诸如 Amazon Redshift 之类的 AWS VPC服务。如果您想设置从您的VPC到不使用公共 Internet 的 AWS 服务的连接,请使用VPC终端节点。

VPC终端节点使用与公共 Internet 隔离的网络路径创建与 AWS 服务的私有连接。例如,如果您使用自己的VPC终端节点设置对 Amazon S3 的访问权限VPC,那么 SageMaker Canvas 应用程序可以通过您的网络接口,VPC然后通过连接到 Amazon S3 的VPC终端节点来访问 Amazon S3。 SageMaker Canvas 和 Amazon S3 之间的通信是私密的。

有关为您的配置VPC终端节点的更多信息VPC,请参阅AWS PrivateLink。如果您在 Canvas 中使用 Amazon Bedrock 模型VPC,有关控制数据访问权限的更多信息,请参阅 Amazon Bedrock 用户指南VPC中的使用保护作业

以下是您可以在 C SageMaker anvas 中使用的每项服务的VPC终端节点:

服务 终端节点 端点类型

AWS App Auto Scaling

com.amazonaws。Region. 应用程序自动缩放

接口

Amazon Athena

com.amazonaws。Regionathena.

接口

Amazon SageMaker

com.amazonaws。Region.sagemaker.api

com.amazonaws。Region.sagemaker.runtime

com.amazonaws。Region. 笔记本

接口

AWS Security Token Service

com.amazonaws。Region.sts

接口

亚马逊弹性容器注册表(亚马逊ECR)

com.amazonaws。Region.ecr.api

com.amazonaws。Region.ecr.dkr

接口

亚马逊弹性计算云(亚马逊EC2)

com.amazonaws。Regionec2。

接口

Amazon Simple Storage Service (Amazon S3)

com.amazonaws。RegionS3。

Gateway

Amazon Redshift

com.amazonaws。Region.redShift-data

接口

AWS Secrets Manager

com.amazonaws。Regionsecretsmanager。

接口

AWS Systems Manager

com.amazonaws。Regionssm。

接口

Amazon CloudWatch

com.amazonaws。Region. 监控

接口

Amazon CloudWatch 日志

com.amazonaws。Region.logs

接口

Amazon Forecast

com.amazonaws。Region. 预测

com.amazonaws。Region.forecastquer

接口

Amazon Textract

com.amazonaws。Region.extract

接口

Amazon Comprehend

com.amazonaws。Region.comprehend

接口

Amazon Rekognition

com.amazonaws。Region. rekognition

接口

AWS Glue

com.amazonaws。Region. glue

接口

AWS App Auto Scaling

com.amazonaws。Region. 应用程序自动缩放

接口

亚马逊 Relational Database Service(亚马逊RDS)

com.amazonaws。Regionrds。

接口

Amazon Bedrock

com.amazonaws。Region.bedrock-rutime

接口

Amazon Kendra

com.amazonaws。Region.kendra

接口

Amazon EMR 无服务器

com.amazonaws。Region.emr-serverless

接口

注意

对于 Amazon Bedrock,接口端点服务名称 com.amazonaws.Region.bedrock 已被弃用。使用上表中列出的服务名称创建新的VPC终端节点。

此外,在没有互联网接入的情况下,你无法从 Canv VPCs as 微调基础模型。这是因为 Amazon Bedrock 不支持用于模型自定义APIs的VPC终端节点。要了解有关在 Canvas 中微调基础模型的更多信息,请参阅微调基础模型

您还必须为 Amazon S3 添加终端节点策略,以控制 AWS 委托人对您的VPC终端节点的访问权限。有关如何更新VPC终端节点策略的信息,请参阅使用终端节点策略控制对VPC终端节点的访问

以下是您可以使用的两个VPC终端节点策略。如果您只想授予对 Canvas 基本功能(例如导入数据和创建模型)的访问权限,请使用第一个策略。如果您想授予对 Can vas 中其他生成人工智能功能的访问权限,请使用第二种策略。

Basic VPC endpoint policy

以下策略授予您在 Canvas 中进行基本操作所需的VPC终端节点访问权限。

{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:CreateBucket", "s3:GetBucketCors", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::*SageMaker*", "arn:aws:s3:::*Sagemaker*", "arn:aws:s3:::*sagemaker*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListAllMyBuckets" ], "Resource": "*" }
Generative AI VPC endpoint policy

以下政策授予访问您的VPC端点的必要访问权限,以便在 Canvas 中进行基本操作以及使用生成式 AI 基础模型。

{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:CreateBucket", "s3:GetBucketCors", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::*SageMaker*", "arn:aws:s3:::*Sagemaker*", "arn:aws:s3:::*sagemaker*", "arn:aws:s3:::*fmeval/datasets*", "arn:aws:s3:::*jumpstart-cache-prod*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListAllMyBuckets" ], "Resource": "*" }

步骤 3:授予IAM权限

C SageMaker anvas 用户必须具有必要的 AWS Identity and Access Management 权限才能允许连接到VPC端点。您授予权限的IAM角色必须与您在登录 Amazon SageMaker 域时使用的角色相同。您可以将 SageMaker 托管AmazonSageMakerFullAccess策略附加到用户IAM角色上,以向用户授予所需的权限。如果您需要更严格的IAM权限并改用自定义策略,请向用户的角色ec2:DescribeVpcEndpointServices授予权限。 SageMaker Canvas 需要这些权限来验证标准构建任务所需的VPC端点是否存在。如果它检测到这些VPC端点,则默认情况下,标准构建作业将在您的中运行VPC。否则,它们将在默认 AWS 托管模式下运行VPC。

有关如何将AmazonSageMakerFullAccessIAM策略附加到用户IAM角色的说明,请参阅添加和删除IAM身份权限

要为您的用户IAM角色授予精细ec2:DescribeVpcEndpointServices权限,请按以下步骤操作。

  1. 登录 AWS Management Console 并打开IAM控制台

  2. 在导航窗格中,选择角色

  3. 在列表中,选择要授予其权限的角色的名称。

  4. 选择权限选项卡。

  5. 选择添加权限,然后选择创建内联策略

  6. 选择JSON选项卡并输入以下授予ec2:DescribeVpcEndpointServices权限的策略:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ec2:DescribeVpcEndpointServices", "Resource": "*" } ] }
  7. 选择查看策略,然后输入策略的名称(例如 VPCEndpointPermissions)。

  8. 选择创建策略

现在,用户的IAM角色应该有权访问您在中配置的VPC终端节点VPC。

(可选)步骤 4:覆盖特定用户的安全组设置

如果您是管理员,则可能希望不同的用户具有不同的VPC设置或用户特定的VPC设置。当您覆盖特定VPC用户的默认安全组设置时,这些设置将传递到该用户的 SageMaker Canvas 应用程序。

在 Studio Classic 中设置新的用户配置文件VPC时,您可以覆盖特定用户有权访问的安全组。你可以使用该CreateUserProfile SageMaker API调用(或者使用 create_user_profil e AWS CLI),然后在中UserSettings,你可以为用户指SecurityGroups定。