在没有互联网访问权限的 VPC 中配置 Amazon SageMaker Canvas - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

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

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

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

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

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

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

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

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

第 1 步:登录 Amazon SageMaker 域名

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

  1. 选择所需的 VPC

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

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

  4. 选择 “仅限 VPC” 可在托管 C SageMaker anvas 的 Amazon 托管 VPC 中关闭直接互联网访问。

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

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

注意

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

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

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

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

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

服务 终端节点 端点类型

Amazon 应用程序 Auto Scaling

com.amazonaws.Region.application-autoscaling

接口

Amazon Athena

com.amazonaws.Region.athena

接口

Amazon SageMaker

com.amazonaws.Region.sagemaker.api

com.amazonaws.Region.sagemaker.runtime

com.amazonaws.Region.notebook

接口

Amazon Security Token Service

com.amazonaws.Region.sts

接口

Amazon Elastic Container Registry (Amazon ECR)

com.amazonaws.Region.ecr.api

com.amazonaws.Region.ecr.dkr

接口

Amazon Elastic Compute Cloud (Amazon EC2)

com.amazonaws.Region.ec2

接口

Amazon Simple Storage Service (Amazon S3)

com.amazonaws.Region.s3

Gateway

Amazon Redshift

com.amazonaws.Region.redshift-data

接口

Amazon Secrets Manager

com.amazonaws.Region.secretsmanager

接口

Amazon Systems Manager

com.amazonaws.Region.ssm

接口

Amazon CloudWatch

com.amazonaws.Region.monitoring

接口

Amazon CloudWatch 日志

com.amazonaws.Region.logs

接口

Amazon Forecast

com.amazonaws.Region.forecast

com.amazonaws.Region.forecastquery

接口

Amazon Textract

com.amazonaws.Region.textract

接口

Amazon Comprehend

com.amazonaws.Region.comprehend

接口

Amazon Rekognition

com.amazonaws.Region.rekognition

接口

Amazon Glue

com.amazonaws.Region.glue

接口

Amazon 应用程序 Auto Scaling

com.amazonaws.Region.application-autoscaling

接口

Amazon Relational Database Service (Amazon RDS)

com.amazonaws.Region.rds

接口

Amazon Bedrock

com.amazonaws.Region.bedrock-runtime

接口

Amazon Kendra

com.amazonaws.Region.kendra

接口

注意

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

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

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

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

Basic VPC endpoint policy

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

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

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

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

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

  1. 登录 Amazon Web Services 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 中有权访问的安全组。你可以使用 Profile SageMaker API CreateUser调用(或者使用 create_user_pro file Amazon CLI),然后在中UserSettings,你可以为用户指定。SecurityGroups