【问题标题】:authorization and authentication mechanism in GCPGCP中的授权和认证机制
【发布时间】:2020-06-23 10:42:48
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: firebase authentication google-cloud-platform authorization google-cloud-storage


    【解决方案1】:

    Google recommend to not use 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 中:价格实惠、按需付费、免费套餐。下载视频,您可以通过generating a signedUrl为用户生成一个临时访问权限。

    【讨论】:

      【解决方案2】:

      如前所述,Guillaume Cloud Storage 使用 ACL 模式来控制对存储在其存储桶中的资源的访问。

      尽管如此,当您需要为每个用户存储宽对象(在这种情况下为视频)时,您可以将这些对象存储在 Firestore 中:价格实惠、按需付费、免费套餐。这是一个非常合适的选项,因为 Firestore 可以用作另一个 resource

      建议在这种情况下生成signed URL

      【讨论】:

        猜你喜欢
        • 2013-08-19
        • 2018-07-06
        • 2015-03-05
        • 2018-11-27
        • 2018-07-25
        • 2010-11-14
        • 2021-11-08
        • 2013-08-08
        相关资源
        最近更新 更多