首页 > 解决方案 > GCP中的授权和认证机制

问题描述

我想创建一个类似Udemy的视频平台,用户可以在其中看到所有视频,但只能观看他购买的视频。

我正在打一个休息电话,从一个角度应用程序的存储桶中获取视频,在这里使用Firebase身份验证。在我对存储桶的 GET 请求中,我传递了从Firebase authn获得的访问令牌。

此访问令牌是否可用于确定用户访问存储桶中视频的范围?

假设我已为特定用户授予对存储桶中视频的读取权限,使用访问令牌可以获取视频吗?但每次我尝试它都显示未经授权。有没有其他方法可以验证用户对存储桶对象的访问权限。

标签: firebaseauthenticationgoogle-cloud-platformauthorizationgoogle-cloud-storage

解决方案


Google建议不要使用 ACL,因为它很难管理并且对授权有全局视图。

在大多数情况下,建议使用 Cloud Identity and Access Management (Cloud IAM) 来控制对资源的访问。

注意:可以通过 ACL 或 Cloud IAM 政策授予权限。通常,由 Cloud IAM 政策授予的权限不会出现在 ACL 中,由 ACL 授予的权限也不会出现在 Cloud IAM 政策中。唯一的例外是直接应用于存储桶的 ACL 和某些存储桶级别的 Cloud IAM 政策,如 Cloud IAM 与 ACL 的关系中所述。

IMO,最好的模式是在您身边拥有一个数据库,每个用户允许 GCS 上的文件。您可以将这些存储在 Firestore 中:价格实惠、按需付费、免费套餐。对于下载视频,您可以通过生成 signedUrl来临时访问用户。


推荐阅读