使用 VPC 端点
您可以通过将 AWS CodeBuild 配置为使用接口 VPC 端点来提高构建的安全性。接口端点由 PrivateLink 提供技术支持,该技术可用于通过私有 IP 地址私下访问 Amazon EC2 和 CodeBuild。PrivateLink 将托管实例、CodeBuild 和 Amazon EC2 之间的所有网络流量限制在 Amazon 网络以内。(托管实例无法访问 Internet。) 而且,您无需 Internet 网关、NAT 设备或虚拟专用网关。不要求您配置 PrivateLink,但推荐进行配置。有关 PrivateLink 和 VPC 端点的更多信息,请参阅什么是 AWS PrivateLink?。
在您创建 VPC 端点前
在配置 AWS CodeBuild 的 VPC 端点之前,请注意以下限制。
注意
如果您想将 CodeBuild 与不支持 Amazon VPC PrivateLink 连接的 AWS 服务结合使用,请使用 NAT 网关。
-
VPC 端点仅通过 Amazon Route 53 支持 Amazon 提供的 DNS。如果您希望使用自己的 DNS,可以使用条件 DNS 转发。有关更多信息,请参阅《Amazon VPC 用户指南》中的 DHCP 选项集。
-
VPC 端点当前不支持跨区域请求。确保您在存储构建输入和输出的任何 S3 存储桶所在的相同 AWS 区域内创建端点。您可以使用 Amazon S3 控制台或 get-bucket-location 命令来查找存储桶的位置。使用区域特定的 Amazon S3 端点访问存储桶(例如,
)。有关 Amazon S3 的区域特定端点的更多信息,请参阅《Amazon Web Services 一般参考》中的 Amazon Simple Storage Service。如果您使用 AWS CLI 向 Amazon S3 发起请求,请将默认区域设置为创建您的存储桶的区域,或在请求中使用<bucket-name>
.s3-us-west-2.amazonaws.com.rproxy.goskope.com--region
参数。
为 CodeBuild 创建 VPC 端点
按照创建接口端点中的说明操作,创建端点 com.amazonaws.
。这是用于 AWS CodeBuild 的 VPC 端点。region
.codebuild
![VPC 端点配置。](images/vpc-endpoint.png)
region
表示 CodeBuild 支持的 AWS 区域的区域标识符,例如美国东部(俄亥俄州)区域的 us-east-2
。有关支持的 AWS 区域的列表,请参阅《AWS 一般参考》中的 CodeBuild。使用您在登录到 AWS 时指定的区域来预填充终端节点。如果更改您的区域,VPC 端点会相应地更新。
为 CodeBuild 创建 VPC 端点策略
您可以为 AWS CodeBuild 的 Amazon VPC 端点创建一个策略,在其中可以指定:
-
可执行操作的主体。
-
可执行的操作。
-
可用于执行操作的资源。
以下示例策略指定所有委托人只能启动和查看 project-name
项目的构建。
{ "Statement": [ { "Action": [ "codebuild:ListBuildsForProject", "codebuild:StartBuild", "codebuild:BatchGetBuilds" ], "Effect": "Allow", "Resource": "arn:aws:codebuild:region-ID:account-ID:project/project-name", "Principal": "*" } ] }
有关更多信息,请参阅《Amazon VPC 用户指南》中的使用 VPC 端点控制对服务的访问。