跳转到主要内容

适用于 Frame.io 的 Storage Connect

C
作者:Chiyani Babbar

Storage Connect 对使用 Frame.io V4 和旧版帐户的企业客户可用。

Frame.io Storage Connect 允许 Frame.io 的企业客户使用自己的云存储端点作为 Frame.io 的后备存储。如今,当用户将资源上传到 Frame.io 时,该资源会流经应用程序堆栈并存储在 Frame.io 的 Amazon S3 存储桶中。类似地,对于资源的播放和传递,也是由 Frame.io 管理的 Amazon S3 存储桶提供服务。
​
借助 Storage Connect,上传到 Frame.io 的资源将被重定向至客户的连接存储,而不是 Frame.io 的连接存储。此项服务适用于净新增客户和现有客户。为了支持现有客户,Frame.io 提供一次性迁移功能,可将过去存储在 Frame.io 管理的 Amazon S3 存储桶中的现有客户数据迁移到客户管理的 Amazon S3 存储桶中,以便广泛使用。
​
以下信息旨在为净新增和现有的 Frame.io 客户提供分步指南,帮助配置他们的 S3 存储桶以与 Storage Connect 兼容。
​

AWS S3 | 净新增客户的设置和指南

客户需要在 us-east-1 区域内向 Frame.io 提供空的 S3 存储桶。要确保正确配置存储桶,以便可以安全地与 Frame.io 配合运行,请在 AWS 控制台中执行以下步骤。
​

创建 AWS IAM OIDC 标识提供者

访问 Identity and Access Management (AWS IAM) 仪表板,网址为 https://console.aws.amazon.com/iam/。在此处,您需要将 Frame.io 添加为新的受信任标识提供者。请按照以下步骤执行此操作。
​
​Access Management > Identity providers

创建后,导航到新创建的提供者并将其选中,然后复制 Amazon 资源名称 (ARN)。

  • 可以在所选提供者的“Summary”部分中找到 ARN,下一步创建 IAM 角色时将需要此信息。

  • ARN 值的格式将类似于以下所示...

    • arn:aws:iam::1234567891234:oidc-provider/tokens.storage.frame.io

有关设置 AWS IAM OIDC 标识提供者的详细信息,请参考 AWS 官方指南。
​

创建 IAM 角色

现在,已将 Frame.io 创建为受信任的标识提供者,可以新建“角色”以安全地向 Frame.io 授予对存储桶的访问权限。按照下面提供的信息执行三个步骤即可成功完成配置。
​
​Access Management > Roles
​
​步骤 1 | 选择信任实体

  • 选择“Create Role”

    • 受信任实体类型:自定义信任策略

    • 自定义信任策略:

{
"Version": "2012-10-17",
"Statement": [
{"Effect": "Allow",
"Principal": {
"Federated": "IAM_OIDC_PROVIDER_ARN"},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"tokens.storage.frame.io:sub": ["FRAMEIO_ACCOUNT_ID"]
}
}
}
]
}

将上述内容复制并粘贴到信任策略字段中 - 执行此操作时,请注意任何格式更改或误操作。
​
设置好上述 JSON 块后,请务必将临时变量相应地替换为您的特定客户值。

  • 将 IAM_OIDC_PROVIDER_ARN 替换为 AWS IAM OIDC 标识 ARN(从前面的步骤中复制),并将 FRAMEIO_ACCOUNT_ID 替换为我们的支持团队提供的 Frame.io 帐户 ID。

仔细检查您的工作,然后选择 Next。
​
​步骤 2 | 添加权限
​
为了正确向 Frame.io 授予对客户 S3 存储桶或对象密钥的访问权限,需要创建新策略。
​
不要选择或搜索提供的 AWS 策略,而是选择“Create policy”。 将打开新的浏览器标签页。
​
选择 JSON 选项,然后将以下内容复制并粘贴到字段中。
​

{
"Version": "2012-10-17",
"Statement": [
{"Action":[
"s3:PutObject",
"s3:ListMultipartUploadParts",
"s3:GetObject"],
"Effect": "Allow",
"Resource": "arn:aws:s3:::BUCKET_NAME/*"
}
]
}

再次强调,执行此操作时请注意任何格式更改或误操作。
​
与之前一样,请务必将临时变量相应地替换为您的客户特定值。

  • 将 BUCKET_NAME 替换为您的存储桶名称:

仔细检查您的工作,然后选择“Next”。
​
为您的策略提供名称,以及可选的说明和标记, 然后选择“Create Policy”。 创建策略后,关闭该标签页并返回到原始标签页以完成创建“角色”。
​
现在已经创建自定义策略,请刷新浏览器标签页以查找并选择新建的策略,然后选择 Next。
​
​步骤 3 | 命名、审核和创建
​
为角色提供名称以及可选说明。查看配置并选择“Create Role”。
​
复制 IAM 角色 ARN 并提供给您的 Frame.io 支持团队,我们需要使用这些信息和一些其他信息来相应地更新您的后端帐户配置。
​

AWS S3 | 现有客户的设置和指南

为了确保我们现有的客户能够成功使用 Storage Connect,Frame.io 提供对现有客户数据的迁移服务。该服务会将对象从 Frame.io 管理的存储中复制到 AWS us-east-1 内客户提供的目标存储桶。迁移服务定义了净新增客户和现有客户的设置和指南之间的差异。
​
​步骤 1 | 成功计划
与您的客户团队合作,制定迁移到启用了 Storage Connect 的帐户的计划和时间表。这将包括定义要迁移的帐户、根据需要清理和取消存档项目以及对帐户的其他常规维护。
​
​步骤 2 | Frame.io 迁移服务 - 存储桶策略
制定好迁移计划后,客户可以向 Frame.io 迁移服务授予对其 S3 存储桶的访问权限。
​
完成上述针对净新增客户定义的步骤,然后继续添加下面列出的 S3 存储桶策略。
​
要添加此迁移存储桶策略,请导航到目标 S3 存储桶的权限。进入存储桶的“Permissions”选项卡后,只需将以下 JSON 块添加到“Bucket Policy”部分并保存更改。
​

{
"Version": "2012-10-17",
"Statement": [
{ "Sid": "FrameioMigrationAccess",
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::BUCKET_NAME/*",
"Principal": { "AWS": "arn:aws:iam::745689021772:role/frameio-storage-connect-migration-access"
}
}
]
}

与往常一样,请务必将临时变量 BUCKET_NAME 相应地替换为您的客户特定值。
​
​步骤 3 | 策略清理
迁移服务完成后,客户应从存储桶中移除以下策略。
​

Frame.io | 帐户配置和必需参数

设置 Frame.io 连接存储的最后一步是向您的成功团队提供一些关键参数。
​
协调并将以下信息传递给您的专属客户成功经理。从此刻开始,您帐户的后端将更新,以建立到 S3 存储桶或对象密钥的正确对象路由。

  • 区域:us-east-1

  • 存储桶名称

  • 对象前缀

  • IAM 角色 ARN

完成后,用户可以通过任何 Frame.io 客户端上传内容,并将原始媒体写入您提供的客户存储库。
​
请记住,Frame.io 将继续存储您生成的代理和缩略图,以确保用户在应用程序内获得最佳体验。我们将此措施视为业务连续性预防措施,以防 Frame.io 与客户存储的连接出现故障。
​

常见问题

问:是否可以重命名 S3 存储桶中的对象,并且仍可通过 Frame.io 访问它?
​答:目前还不行。将来,我们可能会添加将对象“重新链接”到 Frame.io 中资源的功能。
​
​问:是否可以对存储桶使用 AWS S3 生命周期规则,以便将对象转移到成本更低的存储类型?
​答:您可以使用自己的 AWS S3 生命周期规则将对象移动到其他存储类型(如 IA 或 GIR),但是如果仍在 Frame.io 内活跃地审核对象,则可能会产生额外的 AWS S3 费用。
​
​问:是否可以将对象移动到 Glacier?
​答:我们建议不要将对象移动到 Glacier。Frame.io 不会检测此更改,因此,用户在尝试访问原始媒体以进行下载时,体验会打折扣。
​
​问:支持哪些 S3 存储类?
​答:所有具备即时检索功能的类(即 Standard、Intelligent-Tiering、Standard-IA、Glacier Instant Retrieval)。不支持:Glacier Flexible Retrieval、Glacier Deep Archive。

问:我是否仍可以在 Frame.io Web 应用 UI 中“存档”项目?

答:使用 Storage Connect,存档项目的操作将使用相应团队的“Archived Projects”下拉菜单重新组织该项目。

但是,此操作没有对 S3 的关联调用。客户可以在 AWS 中实施自己的生命周期规则。最终用户的 UI 交互不会对 AWS 内配置的策略或触发器产生任何影响。

当然,最终用户可以根据需要立即“取消存档”项目。
​
​问:是否可以审核对 S3 存储桶的访问?
​答:可以,您可以使用 AWS CloudTrail 来审核 Frame.io 应何时承担 IAM 角色,并使用 AWS S3 访问日志来审核从 Frame.io 发出的对 Amazon S3 存储桶的所有请求。
​
​问:Frame.io 的日志保留策略是什么?
​答:从 Frame.io AWS 环境生成的日志将符合我们现有的日志保留策略。
​
​

这是否解答了您的问题?