保护渲染工作负载的安全

本文介绍了如何采取措施帮助保护 Google Cloud Platform (GCP) 上渲染流水线的安全。您可以利用 GCP 安全功能,例如用于访问权限控制的项目和 Cloud IAM、自动政策检查、加密、子网和防火墙规则。本文介绍如何遵守大型电影制片厂所要求的安全协议。

下图显示了混合渲染架构作为参考:

混合渲染架构图

点击查看大图。

项目和访问权限

项目是 GCP 的核心组成部分。项目提供的抽象分组可用于将资源与特定部门、应用或职能团队相关联。所有 GCP 资源(如 Compute Engine 实例和 Cloud Storage 存储分区)都属于项目。您可以使用 Google Cloud Platform Console 和 Resource Manager API 来管理项目。Cloud Identity and Access (IAM) API 包括一组通过 Resource Manager API 管理项目权限的方法。

使用项目控制对资源的访问权限

项目为网络数据和项目管理提供了隔离边界。但是,您可以在组织使用的 GCP 资源或组织内的其他项目之间明确授予互连。您可以针对不同的项目,向用户和群组授予不同的角色,例如 viewereditorowner。要分配角色,您可以使用 GCP Console 中的“IAM 和管理员”页面或 Cloud IAM API

此外,您可以将控制权委托给有权访问特定项目的人。被授予 owner 角色的用户可以授予和撤消用户、群组和服务帐号的访问权限。

下图显示了 GCP 资源层次结构的一个示例:

项目结构图

授予访问权限

如果您的组织已实现 G Suite,则可以向组织中的任何用户或群组授予对任何 GCP 项目的访问权限。如果您并不是在 G Suite 中管理身份,则还可以使用 Cloud Directory Sync,根据您自己的 LDAP 服务器(包括 Microsoft Active Directory)建立用户凭据。

您还可以将组织中的任何用户添加到有权访问项目或资源的 Google 群组中,以向其授予对该项目或资源的访问权限。您通过群组可以快速向外部各方(例如承包商和自由职业者)提供访问权限。但是,您的组织可能不希望给予这种程度的灵活性,具体视您的安全政策而定。您可以使用 Cloud API 构建监控功能来监视政策外分配,随后引发提醒或自动撤消这些分配。

通过 SDK 和 API 访问

如果您通过 gcloudgsutil SDK 访问 GCP,则必须在连接到 Google Cloud API 时进行身份验证。每个本地用户环境只需执行一次此操作。

如果您的应用或脚本通过 API 客户端库访问 GCP,则必须先通过 SDK 进行身份验证。然后,API 客户端库会获取创建的凭据。

识别项目

每个项目都有一个通用唯一项目 ID,此 ID 是一个由小写字母、数字和短划线组成的短字符串。当您创建项目时,您需要指定自己的项目名称。项目 ID 在此名称的基础上附加数字以使其保持全局唯一。您可以替换分配的项目 ID,但名称必须保持全局唯一。

您的项目还分配有一个较长的随机项目编号,此编号是自动生成的且全局唯一。项目 ID 的长度可以是 6 到 30 个字符,而项目名称的长度可以是 4 到 30 个字符。

创建项目后,即使您更改项目名称,项目 ID 和项目编号也会保持不变。

我们建议您花一些时间来规划项目名称以便于管理。正确命名的项目可以正确排序并减少混淆。

典型的项目命名惯例可能使用以下格式:

[studio]-[project]-[role (rnd, dev, prod)]

例如,生成的文件名可能是 mystudio-myproject-rnd

自动执行安全检查

Policy Scanner 提供了一个框架,用于对项目执行自动安全检查,帮助确保政策已正确设置。如果检查的项目偏离了已知良好的政策,系统将标记该项目并向您发送问题警报。您可以按需运行 Policy Scanner,也可以将其设置每周或每天运行一次。

控制用户访问权限

并非项目中的每位用户都应不受限制地访问所有运行的实例、服务和存储数据。在渲染流水线中,操作系统级层权限设置通常结合 LDAP 或 Active Directory 等目录服务处理用户权限。

与典型的渲染流水线不同,大多数艺术家根本不需要项目访问权限,因为大多数基于云的任务(如资产同步、渲染、写入或复制数据)均由在服务帐号下运行的队列管理软件执行。

通过同时在本地和云端实行最小权限原则,您可以根据用户的角色仅限其访问项目或信息中执行特定任务所需的部分。

与基于网络的工作负载不同,渲染流水线通常需要直接访问正在运行的实例,例如,在对特定实例类型排查渲染问题时。要登录实例,您可以使用 API(如 gcloud 命令),如果已建立 SSH 密钥对,也可以使用 SSH 直接连接到实例。

直接访问权限仅限授予系统管理员以及负责管理或排查渲染问题的其他角色。以下情况必须具备直接访问权限:

  • 调试失败的作业或对其进行问题排查。
  • 渲染队列管理器对启动和终止实例的控制。
  • 通过记录跟踪内存或 CPU 使用情况的机制或软件,授予访问权限。
  • 执行在作业中运行的任务。

区分 Cloud IAM 中的用户权限和运行实例上在操作系统级层设置的权限非常重要。虽然这两个系统可协同工作来提供完整的用户个人资料,但它们的目的不同,创建机制和修改机制也不同。

Cloud IAM 不管理对单个实例的 SSH 或用户访问权限。访问权限由操作系统级层的用户权限处理,这些用户权限可以与 Cloud IAM 同步。向用户或服务帐号授予 Cloud IAM 权限不会更改用户登录实例的方式,也不会更改登录后的权限。两个系统相辅相成:IAM 用于授予对 GCP 资源(如控制台或 API)的访问权限,而直接访问权限仅针对有需要的用户进行预配。

如果您构建自定义映像,则可以通过修改 ssh 和引导磁盘上的 Google 帐号守护程序来启用或停用 SSH 访问。如需获取指导,请查看已包含在公共映像中的安全功能。

Identity and Access Management (IAM)

通过 Cloud IAM,您可以在组织、项目和资源级层创建和管理权限,以管理 GCP 资源。Cloud IAM 将 GCP 服务的访问权限控制统一到单个系统中,提供了一套统一的操作。

IAM 角色和群组

初始 Cloud IAM 角色包含三个:ownereditorviewer

Owner 设施或项目中仅少数的可信人员才应具有项目所有者级层权限,例如 IT 部门成员、系统管理员或产品经理。项目所有者可以更改从结算帐号到任何其他用户的访问权限级别的所有内容,因此应谨慎分配此角色。

您可以创建具有一个或多个所有者的项目。组织管理员角色可以在组织级层维护这些所有者。此管理员角色可以创建项目、修改项目结算和分配角色等等,但不具备对任何单个项目的全部所有者级层访问权限。

虽然组织管理员可接收组织中所有项目的大多数通知,但按照设计,某些通知仅发送给项目所有者。

Editor 项目编辑者可以执行修改状态的操作,例如读取和写入项目数据、启动和终止实例或者读取和写入项目中所有资源的项目元数据。

Viewer 此只读角色不一定在所有流水线中都有用,但建议将此角色分配给监控和登录外部系统的某些服务帐号。例如,读取图片或视频的每日审核系统或与项目管理系统(如 Shotgun)通信的 API。

预定义角色许多预定义角色将用户或服务帐号仅限于特定任务。例如,这些角色可帮助确保艺术家无权访问作品的结算数据,或防止产品助理删除运行实例。

使用资源层次结构实现访问权限控制

您可以在资源层次结构的不同层级上设置 IAM 政策。资源会沿用父级资源的政策。这样,您就可以将 IAM 政策层次结构镜像到组织结构。实现资源层次结构具有一套最佳做法,我们建议遵循该做法。

停用未使用的角色

许多角色在默认情况下处于启用状态,并且可供项目创建者/所有者分配。为减少混淆,建议停用不适用于特定工作流的角色。你不能对每个项目进行此操作;此操作必须在组织的设置下完成。

控制对实例的 SSH 访问

确保合适的人员有权访问资源需要:

  • 使用 Cloud Directory Sync 在目录服务和 Cloud IAM 之间进行同步。这有助于确保您在本地和云端具有相同的用户及其权限列表。
  • 用于对实例进行 SSH 访问的用户身份验证机制,例如,将 PAM Linux 模块结合 LDAP 使用。

对于渲染工作负载,我们建议将 SSH 访问权限仅限授予少数特选用户,例如 IT 部门的成员、系统管理员和渲染管理员。

队列管理器提交到云的作业通常归专用渲染用户或守护程序所有。例如,默认情况下,Qube! 渲染作业以用户“qubeproxy”的身份运行。我们建议您将此 Qube 配置更改为以启动该作业的用户身份运行,Qube 将其称为“用户模式”。这将以启动该作业的用户身份运行所有进程。已完成的渲染会保留此所有权。

您应该像设置本地渲染工作器那样设置启动映像,并使用与本地渲染工作器相同的协议执行身份验证。

服务帐号

服务帐号是一种特殊的 Google 帐号,可用于以编程方式访问 Google 服务和资源。

对于渲染流水线,服务帐号对控制实例的部署或终止方式以及作业在实例上的分配和运行方式非常有用。您的渲染排队软件将使用服务帐号凭据在 GCP 上启动实例,从而允许在新实例上启动作业。

创建新项目时会创建许多默认服务帐号。我们建议您仅保留名为 Compute Engine default service account 的服务帐号和排队软件用于启动实例的任何服务帐号。在删除服务帐号时请谨慎操作,因为删除后会移除对某些项目资源的访问权限。

您可以选择为各个流水线任务使用单独的服务帐号来运行程序驱动的事件。系统将根据这些服务帐号的需求范围,向其分配 Cloud IAM 角色。例如:

  • 渲染队列管理器的实例部署:在 GCP 上运行渲染作业的主服务帐号。此服务帐号将分配有 compute.instanceAdminiam.serviceAccountActor 角色。
  • 资产管理器:用于资产发布、检索或数据库管理的服务帐号。如果您使用的是 Cloud Storage,此服务帐号将分配有 storage.admin 角色。
  • Logging 代理:项目日志记录机制的专用服务帐号,如 Google Stackdriver。此服务帐号将分配有 logging.logWriter 角色。

访问权限范围

访问权限范围是为实例指定权限的传统方法。这些权限适用于实例上的任何用户。访问权限范围向 Google API 授予实例的默认权限。通过这些 API 可以访问 Compute Engine 和 Cloud Storage 等资源。

您可以将 Cloud IAM 角色与访问权限范围配合使用,向单个用户或服务帐号授予权限,而不是向实例的所有用户授予默认权限。

指定 --no-scopes 标志可防止在创建实例时应用默认范围。如果未指定 --no-scopes,并且未使用 --scope 标志指定任何范围,则实例将应用一组默认范围。

默认情况下,实例通过一组范围启动,其中大部分范围是访问 Cloud IAM 用户帐号、从 Cloud Storage 存储分区进行读取以及使用 Stackdriver API 写入日志所必需的。

创建新实例时,系统会为实例授予以下范围:

范围

API 任务

read only

此范围可防止实例上的任何用户使用 Compute Engine API 写入 Cloud Storage 存储分区

logging.write

允许实例使用 Stackdriver Logging API (v2) 对 Compute Engine 日志进行写入访问。

monitoring.write

允许实例使用 Stackdriver Monitoring API (v3) 将指标数据发布到 GCP 项目。

servicecontrol

允许实例使用 Service Control API 管理您的 Google Service Control 数据。

service.management.readonly

允许实例使用 Stackdriver Monitoring API (v3) 将指标数据发布到 GCP 项目。

trace.append

允许实例使用 Stackdriver Trace API 收集和编写项目或应用的延迟数据。

例如,默认的范围组不允许实例写入 Cloud Storage 存储分区。如果渲染流水线需要实例将已完成的渲染写入 Cloud Storage,请在启动仅渲染工作器实例之前添加 storage-rw 范围。但请注意,此操作允许用户从实例复制任何数据,因此请不要向可访问敏感数据的实例添加此范围。

加密密钥管理

Cloud Storage

所有项目数据(以及 GCP 上的所有数据)均使用 AES128 或 AES256 加密进行静态加密。您还可以选择为 Cloud StorageCompute Engine 磁盘提供自己的加密密钥。

Cloud Storage 在将数据写入磁盘之前,始终会在服务器端对您的数据进行加密。默认情况下,Cloud Storage 使用自己的服务器端密钥来加密数据。数据采用数据加密密钥 (DEK) 进行细粒度加密,该密钥本身则通过密钥加密密钥 (KEK) 加密。KEK 由中央密钥管理服务管理,并且 KEK 可与 Gmail 等其他 Google 服务共享。

为了对数据区块进行解密,存储服务会调用 Google 的内部 Key Management Service 来检索该数据区块的解封装数据加密密钥 (DEK):

图片

请注意,您还可以选择 Cloud KMS 来管理密钥加密密钥。

虽然我们经常只提到一个密钥,但事实上我们会使用密钥集来保护数据:一个用于加密的密钥和一个用于解密的历史密钥集,历史密钥的数量由密钥轮替计划确定。

或者,您可以提供自己的加密密钥,用于 Cloud Storage 和 Compute Engine 永久性磁盘,但除非您已拥有本地密钥管理服务,否则我们强烈建议您让 Google 管理和轮替存储数据的密钥,Google 每 90 天轮替一次这些密钥。

Cloud KMS 是一种 GCP 服务,您可利用它将加密密钥集中保存在云中,以供云服务直接使用。目前还没有存储层集成可用于加密存储在其他 GCP 服务中的数据。

我们建议您设置一个单独的集中项目,用于为所有项目运行 Cloud KMS。

服务帐号

创建服务帐号时,系统会自动生成特定于该帐号的公钥/私钥对。公钥由 Google 维护,但私钥由您管理。在 GCP 上运行任务时,需要使用此私钥来对服务帐号进行身份验证。

网络安全

所有计算实例均创建为 Cloud Virtual Network 的成员。默认情况下,所有网络都是自动子网网络,系统会在其中为您创建区域子网。每个网络仅限一个项目;同一网络上不能同时存在多个项目。只有具有特定角色(项目所有者、组织管理员或计算网络管理员)的用户才能更改网络属性。

网络和子网

您可以将资源分隔在单独的网络上,以增加额外的安全级别。例如,包含高度机密内容的一系列照片只能在与项目数据其余部分隔离的单独网络中渲染。使用单个项目可以更有效地分离数据。

由于自动子网功能,创建新项目时,系统会创建多个子网,每个 Compute Engine 区域均有一个子网。在特定区域中启动新实例时,该实例放置于该区域的子网中,并分配有该子网的内部 IP。

防火墙规则

每个网络都有防火墙,可以阻止传入实例的所有流量。要允许传入流量,您必须创建“允许”防火墙规则。

每个项目中标记为 default 的网络都拥有默认防火墙规则,如下所示。若为手动创建的网络,则任何类型都没有防火墙规则。对于除默认网络之外的所有网络,您必须创建所需的任何防火墙规则。

下列所有默认规则并非都是渲染流水线所必需的:

规则

备注

建议

default-allow-internal

允许实例之间通信所必需的规则。如果您的队列管理器在本地,则实例可能不需要彼此通信。

如果您的实例不需要与其他实例通信,请删除此规则。

default-allow-ssh

用于允许经由端口 22 通过 SSH 进行访问。

删除此规则并创建一个类似规则,以仅允许通过 VPN 或已知 IP 进行 SSH 访问。

default-allow-rdp

仅在您希望经由端口 3389 通过启动远程桌面协议 (RDP) 访问实例时需要。大多数情况下,SSH 访问就已足够,因此可以删除此规则。

除非您使用的是运行 Windows 的计算机,否则请删除此规则。

default-allow-icmp

允许在整个网络中进行错误或操作信息的通信。此规则允许从任何 IP 进行访问。

删除此规则并创建一个类似规则,以仅允许来自已知 IP 地址的 ICMP。

默认情况下,防火墙规则适用于整个网络。如果您希望两个子网交换流量,则必须双向配置 allow 权限。

建议您将实例标记包含在流水线中,以允许使用防火墙规则访问特定实例类型。例如,您可以标记所有渲染实例以允许 SSH 访问,从而根据特定角色进行问题排查。任何没有此标记的实例都会自动将 SSH 访问限于许可服务器等等。

如果在创建防火墙规则时未指定 sourceRangessourceTags,则默认的 sourceRange 将为 0.0.0.0/0,因此规则将适用于网络内外的所有传入流量。

如果在创建 TCP 或 UDP 防火墙规则时未指定端口,则会允许从所有端口进行连接。

网络路由

所有网络均自动创建了到公共互联网和网络中 IP 地址范围的路由。默认情况下,出站流量不受阻止。只有具有外部 IP 地址和默认互连网网关路由的实例才能在网络外部发送数据包。

Google Cloud APIs(例如,gcloudgsutil)只能通过公共 IP 访问,因此您必须在网络 > 路由下保留默认的互联网网关路由 (Default internet gateway route)。

停用外部 IP 地址

出于安全考虑,我们建议您使用没有外部 IP 地址的实例。默认情况下,所有实例在启动时均分配有外部 IP 地址。为避免这种情况,您可以使用 --no-address 标志启动实例。

为了使渲染队列管理器能够控制没有外部 IP 地址的实例,您必须实现 Cloud VPN。VPN 网关是您的网络中唯一具有外部 IP 地址的资源,除非您添加 Cloud Router,Cloud Router 使用边界网关协议 (BGP) 在您的本地网络和您的 Cloud Platform 网络之间播送专用 IP 范围。

磁盘映像

在 VFX 流水线中,我们建议在组织级层使用单独的项目进行映像管理。此方法可防止修改设施范围内的默认映像模板,所有项目都有可能正在使用这些模板。此方法还有助于将启动映像整理到一个中心位置,分配适当的角色后,所有其他项目均可访问此位置。

您可以使用 IAM 角色在多个项目之间共享映像。如需了解详情,请参阅跨项目共享映像

公共映像

Compute Engine 提供许多预配置的公共映像,这些映像具有兼容的 Linux 和 Windows 操作系统。每个操作系统映像都配置为包含某些软件包(如 Cloud SDK),或者已启用服务(如 SSH)。

这些映像还包括一个软件包的集合,可设置和管理用户帐号,以及启用基于 SSH 密钥的身份验证。

自定义映像

您可以根据现有映像创建自己的自定义磁盘映像。我们强烈建议您的映像遵循这些安全性方面的最佳做法

我们建议您安装 Google Compute Engine 的 Linux 客机环境,以便访问公共映像默认可用的功能。通过安装客机环境,您可以使用公共映像上的相同安全控件在自定义映像上执行安全任务,例如元数据访问、系统配置和优化操作系统以用于 GCP。

连接

您可以通过多种方式从您的设施连接到 Google。在任何情况下,您都必须实现虚拟专用网 (VPN)。如下文所述,某些方法需要其他配置,以帮助确保数据的安全传输。

以下是适用于您的数据的部分安全防护方法:

  • 使用 TLS 以及由 Google 证书授权机构生成的 2048 位证书加密指向 Google 的数据链接。
  • 对通过我们的专用网络在数据中心之间传输的数据进行加密。
  • 将所有 RSA 证书升级为 2048 位密钥,提升 GCP 和所有其他 Google 服务的传输加密能力。
  • 使用完全正向加密 (PFS),有助于最大程度减少密钥泄露或加密破解的影响。

通过互联网连接

只需通过互联网访问 GCP 服务,您就可以连接到 Google 的网络和利用我们的端到端安全模型。在 VPN 隧道之间传输数据时,数据受经过身份验证和加密的协议的保护。

直接对等互连

Google 在全球 100 多个接入点设施中托管边缘网络基础架构,GCP 客户可以直接连接到这些设施。欢迎任何拥有公共 ASN 和可公共路由的 IP 前缀的 GCP 客户与 Google 进行对等互连。该选项使用与公共互联网相同的互连模型。

Cloud Interconnect

如果客户没有公共 ASN 或希望通过服务提供商连接到 Google,可以选择使用 Cloud Interconnect 服务。Cloud Interconnect 适用于希望与 Google 边缘建立企业级连接的客户。Cloud Interconnect 合作伙伴服务提供商通过以下两种方式之一帮助提供企业级连接:

  • 通过现有对等互连,这些对等互连共同进行容量管理,以保证高性能和低延迟时间。
  • 通过仅用于传输 GCP 客户流量的专用互连(但 Google 通过这些链接发布所有服务的路由)。

Cloud VPN

本地渲染流水线并不总是加密传输中的数据。但是,对于混合云渲染流水线,我们建议对传输中的所有数据进行加密。

无论您通过何种方式连接到 Google,都必须保护与 VPN 的连接。Cloud VPN 通过 IPsec VPN 连接将您的对等 VPN 网关连接到您的 GCP 网络。两个网络之间的流量传输通过一个 VPN 网关加密,然后通过另一个 VPN 网关解密。通过互联网传输数据时,这有助于保护您的数据,并且无需将数据加密作为渲染流水线的一部分来实现。

如果您的设施拥有多个位置或网络,您可以使用 Cloud Router 在这些位置和 Cloud VPN 上保持路由同步。

客户提供的 VPN

您可以在 GCP 中设置自己的 VPN 网关,但最好使用 Cloud VPN,以便实现更好的灵活性并更好地与 GCP 集成。

文件系统

许多文件服务器选项都可用于管理数据。根据您的流水线方法,您可能需要实现多个选项。

基于对象的文件服务器

Cloud Storage 是统一的对象存储,适用于整个渲染流水线中生成或使用的所有数据。由于 Cloud Storage 是 GCP 的一部分,因此可以利用 GCP 的安全功能,如访问权限控制Cloud IAM加密

Regional 存储空间类别创建存储分区时,项目成员可在全球范围内访问该存储分区中的数据,即使数据存储在特定数据中心内。从性能的角度来看,最好将存储和计算保持在同一区域,以提高吞吐量并减少延迟时间。

Cloud Storage 数据在全球范围内可用,因此您可以与世界其他地区的其他设施共享数据,且无需复制。这可能会产生额外的出站流量费用。由于可在全球范围内访问此数据,因此请务必正确管理虚拟机范围用户访问密钥,避免在渲染流水线中丢失数据。

您可能需要调整资产管理流水线,以便与基于对象的 Cloud Storage 架构连接。

符合 POSIX 标准的文件服务器

实时生产数据通常存储在符合 POSIX 标准的文件服务器上,对于需要访问文件元数据(如修改时间)或依赖于场景资产文件路径的渲染流水线,该服务器非常适用。

根据您的设施需求和工作负载,在实现 NFS 文件系统时,您有几个选择。

单节点文件服务器

符合 POSIX 标准的 NFS 服务器作为一键部署解决方案发布。您可以运行多个单节点文件服务器,并将其装载在您的实例上。这意味着您可以隔离流水线每个部分的存储,从而通过与本地文件系统相同的方式限制操作系统用户级层和群组级层的访问权限。

您还可以通过在渲染实例上以只读方式装载数据,帮助保护单节点文件服务器上的数据。由于不得从渲染实例修改软件、流水线工具和资产库,因此以只读方式装载是强制执行此限制的简便方式。

要进一步保护项目安全,您还可以为每个网络部署一个单节点文件管理器,因为实例只能在同一网络上装载文件服务器。

您还可以为您的软件或流水线磁盘创建快照,以便快速回滚到以前的版本,同时将对生产的影响降到最低。

其他文件系统

其他第三方文件系统可用于 GCP,如聚簇文件系统和缓存文件系统。要了解第三方缓存文件系统的安全性,请参阅各个供应商的合规性文档。

存储安全

默认情况下,Cloud Storage 使用我们为自身的加密数据所使用的同一强化密钥管理系统(包含严格的密钥访问控制和审核)代表您管理服务器端的加密密钥。Cloud Storage 对用户内容进行静态加密,且每个加密密钥本身都使用一组定期轮替的主密钥进行加密。

所有存储类别都支持相同的 OAuth 和细化访问权限控制,以保护您的数据。

我们建议使用 Cloud IAM 来限制谁有权访问 Cloud Storage 存储分区或项目中的数据。如果只需要管理少量对象,您还可以利用访问控制列表

转移选项

传输中的数据的安全是指数据在本地存储和云之间来回传输时的安全。您可以通过多种流水线方法来帮助管理本地和云之间的数据传输,但这些方法的设计和实现不在本来的介绍范围内。下面所列的所有传输方法(第三方传输方法除外)均在 Google 的完整安全套件中运行,用于进行身份验证和授权。

命令行

如需向/从 Cloud Storage 传输数据,我们建议使用 gsutil 命令复制、移动或同步小于 10 TB 的数据。gsutil 命令使用的安全功能和身份验证与 GCP 的相同,遵循 Cloud IAM 角色,并使用传输层加密 (HTTPS) 执行所有操作。gsutil 还支持并行上传。

要向符合 POSIX 标准的文件系统(如单节点文件服务器和永久性磁盘)或从该系统传输数据,我们建议在 VPN 连接中使用 scprsync

UDP

如果您选择使用第三方的基于 UDP 的 Data Transfer 协议(如 AsperaTervela Cloud FastPathBitSpeedFDT)将数据直接上传到 Cloud Storage 存储分区,请参阅第三方的文档,了解其安全模型和最佳做法。这些第三方服务不受 Google 管理。

使用 Stackdriver 进行记录

凭借 Google Stackdriver,您可以监控和记录项目或组织内的各种活动。Stackdriver 最初设计用于网页应用和服务,但可以用作渲染流水线的日志服务器,并为命令行渲染生成的大量数据提供收集点。

默认情况下,新 GCP 项目不会启用 Stackdriver API。目前有四种 API:Debugging、Logging、Monitoring 和 Trace。并非所有这些 API 都适用于您的工作流,但我们建议至少启用 Stackdriver Logging,以便 Stackdriver 可以充当外部应用的日志记录服务器。

审核日志记录可帮助您使用控制台或 API(可修改服务或项目的配置或元数据)来跟踪管理活动。您无法修改或删除审核日志。

所有日志会保留一段指定的时间,之后将被删除。Stackdriver Logging 配额政策说明了日志条目的保留时间。要在超出保留期后继续保留日志,您可以将其导出到 Cloud Storage 存储分区、BigQuery 数据集、Cloud Pub/Sub 主题或以上三者的任意组合中。

通过 Logging 代理可从各个实例收集日志,默认情况下不会安装此代理。安装说明见此处

其他注意事项

本节讨论 Google 产品线外的主题,但这些主题通常是混合渲染流水线的一部分。

队列管理

许多制片厂使用队列管理器来控制部署到本地渲染农场的部署、跟踪和任务。有时候,您可以使用同一队列管理器将作业部署到 GCP。具体方法可能因所涉及的软件而异。

某些队列管理器提供软件插件,可允许服务器和客户端连接到 GCP。请参阅第三方文档,查看其安全做法。

队列管理器发送给 GCP 的指令应使用 gcloud 命令发出。如果需要使用 ssh, 您必须生成用于通信的 SSH 密钥。建议考虑在 GCP 上(而不是在本地)运行队列管理服务器,以避免这种情况。

自动执行实例创建和终止

在某些情况下,您需要在作业启动时自动创建实例,并在作业成功完成时终止实例。出于费用和安全原因,应避免在未运行作业时继续运行实例。

自定义软件

渲染流水线通常包括第三方和自定义软件。从简单脚本到复杂的具有多个依赖项的已编译二进制文件,自定义软件可以包含所有内容。

要从脚本或程序中操作 GCP 实例,请使用可用的客户端库。每个版本都提供 OAuth 2.0 授权的方法。

许可

本地许可服务器

如果您在 VPN 上运行,则使用您自己的本地许可服务器有助于提供更安全的环境。安全级别仍受所使用许可技术的限制。

Cloud License Server

如果您在 GCP 上运行自己的许可服务器,我们建议您在单独的网络上运行,以便进行其他控制和监控。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Solutions