本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon 虚拟私有云保护工作
Amazon Comprehend 使用多种安全措施来确保您的数据在 Amazon Comprehend 使用期间存储在我们的任务容器中的安全。但是,任务容器会通过 Interne AWS t 访问资源,例如用于存储数据和模型工件的 Amazon S3 存储桶。
要控制对数据的访问,我们建议您创建虚拟私有云 (VPC) 并对其进行配置,使其无法通过 Internet 访问数据和容器。有关创建和配置的信息VPC,请参阅《亚马逊VPC用户指南》VPC中的 “亚马逊入门”。使用VPC有助于保护您的数据VPC,因为您可以将自己的数据配置为不连接到互联网。使用VPC还允许您使用流日志监控进出我们作业容器的所有网络VPC流量。有关更多信息,请参阅 Amazon VPC 用户指南中的VPC流日志。
在创建任务时,您可以通过指定子网和安全组来指定您的VPC配置。当您指定子网和安全组时,Amazon Comprehend 会在其中一个子网中创建与您的安全组关联的弹性网络ENIs接口 ()。ENIs允许我们的任务容器连接到您中的资源VPC。有关信息ENIs,请参阅 Amazon VPC 用户指南中的弹性网络接口。
注意
对于作业,您只能使用默认租期配置子网,即您的实例VPC在共享硬件上运行。有关租赁属性的更多信息VPCs,请参阅 Amazon EC2 用户指南中的专用实例。
配置任务让 Amazon VPC 访问权限
要在中指定子网和安全组VPC,请使用适用的VpcConfig
请求参数API,或者在 Amazon Comprehend 控制台中创建任务时提供此信息。Amazon Comprehend 使用这些信息来创建它们并将其附加ENIs到我们的任务容器中。ENIs为我们的工作容器提供您内部VPC未连接到互联网的网络连接。
以下内容APIs包含VpcConfig
请求参数:
以下是您在API呼叫中包含的 VpcConfig 参数的示例:
"VpcConfig": { "SecurityGroupIds": [ " sg-0123456789abcdef0" ], "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ] }
要VPC从 Amazon Comprehend 控制台进行配置,请在创建任务时从VPC可选的 “设置” 部分中选择配置详细信息。
VPC为你的 Amazon Comprehend 任务进行配置
在VPC为您的 Amazon Comprehend 任务配置时,请使用以下指南。有关设置的信息VPC,请参阅 Amazon VPC 用户指南中的使用VPCs和子网。
确保子网拥有足够的 IP 地址
对于任务中的每个实例,您的VPC子网应至少有两个私有 IP 地址。有关更多信息,请参阅 VPC Amazon VPC 用户指南IPv4中的子网大小。
创建 Amazon S3 VPC 终端节点
如果您将您的VPC配置为任务容器无法访问互联网,则除非您创建允许访问的VPC终端节点,否则它们将无法连接到包含您的数据的 Amazon S3 存储桶。通过创建VPC终端节点,您可以允许任务容器在训练和分析作业期间访问您的数据。
创建VPC终端节点时,请配置以下值:
选择服务类别作为AWS 服务
将服务指定为
com.amazonaws.
region
.s3选择网关作为终VPC端节点类型
如果您使用 AWS CloudFormation 创建VPC端点,请按照AWS CloudFormation VPCEndpoint文档进行操作。以下示例显示了 AWS CloudFormation 模板中的VPCEndpoint配置。
VpcEndpoint: Type: AWS::EC2::VPCEndpoint Properties: PolicyDocument: Version: '2012-10-17' Statement: - Action: - s3:GetObject - s3:PutObject - s3:ListBucket - s3:GetBucketLocation - s3:DeleteObject - s3:ListMultipartUploadParts - s3:AbortMultipartUpload Effect: Allow Resource: - "*" Principal: "*" RouteTableIds: - Ref: RouteTable ServiceName: Fn::Join: - '' - - com.amazonaws. - Ref: AWS::Region - ".s3" VpcId: Ref: VPC
我们还建议您创建自定义策略,仅允许您的请求VPC访问您的 S3 存储桶。有关更多信息,请参阅《亚马逊VPC用户指南》中的 Amazon S3 终端节点。
以下策略允许访问 S3 存储桶。编辑此策略,以便仅允许访问任务所需的资源。
{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation", "s3:DeleteObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "*" } ] }
使用终端节点路由表的默认DNS设置,以便标准的 Amazon S3URLs(例如http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket
)可以解析。如果您不使用默认DNS设置,请确保通过配置终端节点路由表来解析用于指定任务中数据位置的。URLs有关VPC终端节点路由表的信息,请参阅 Amazon VPC 用户指南中的网关终端节点路由。
默认终端节点策略允许用户在任务容器中安装来自 Amazon Linux 和 Amazon Linux 2 存储库的包。如果您不希望用户安装来自该存储库的包,则创建一个自定义终端节点策略,明确拒绝访问 Amazon Linux 和 Amazon Linux 2 存储库。Comprehend 本身不需要任何此类软件包,因此不会对功能产生任何影响。以下是拒绝访问这些存储库的策略示例:
{ "Statement": [ { "Sid": "AmazonLinuxAMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::packages.*.amazonaws.com/*", "arn:aws:s3:::repo.*.amazonaws.com/*" ] } ] } { "Statement": [ { "Sid": "AmazonLinux2AMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" ] } ] }
DataAccessRole
的权限
当您在分析任务中使用时,DataAccessRole
用于Create*
和Start*
操作的用户还必须拥有访问输入文档和输出存储桶的权限。VPC VPC
以下策略提供了用于 Create*
和 Start*
操作的 DataAccessRole
所需的访问权限。
{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" } ] }
配置VPC安全组
在分布式任务中,您必须允许同一任务中的不同任务容器之间进行通信。为此,请为您的安全组配置规则,以允许同一安全组的成员之间实现入站连接。有关信息,请参阅 Amazon VPC 用户指南中的安全组规则。
Connect 连接到您以外的资源 VPC
如果您将您的VPC配置为无法访问 Internet,则使用该VPC任务的任务无法访问您外部的资源VPC。如果您的任务需要访问您之外的资源VPC,请使用以下选项之一提供访问权限:
如果您的任务需要访问支持接口VPC终端节点的 AWS 服务,请创建一个终端节点来连接到该服务。有关支持接口终端节点的服务列表,请参阅 Amazon VPC 用户指南中的VPC终端节点。有关创建接口VPC终端节点的信息,请参阅 Amazon VPC 用户指南中的接口VPC终端节点 (AWS PrivateLink)。
如果您的任务需要访问不支持接口VPC终端节点的 AWS 服务或外部的资源 AWS,请创建NAT网关并将您的安全组配置为允许出站连接。有关为您设置NAT网关的信息VPC,请参阅 Amazon VPC 用户指南中的场景 2:VPC使用公有子网和私有子网 (NAT)。