从 GCS 提供具有访问限制的静态页面

jo8*_*asi 5 google-cloud-storage

我正在谷歌云存储上提供静态页面。只要它是公开的,它就可以很好地工作。现在我设置了 acl,以便只有一组用户可以读取存储,未经身份验证的用户将被重定向到 google 身份验证。现在的问题是,网站的静态内容(例如 javascript 和 css)无法再找到,并且出现 404 错误。静态内容也位于存储桶中,并且可以与公共 url 配合使用。当使用经过身份验证的网址时,它不再起作用。

我尝试提供访问控制页面是否正确?我想是的,因为它有效,除了静态内容。那么你有什么想法我在这里缺少什么吗?

gui*_*ere 4

尝试在您提交的 App Engine 上部署。为了这

  1. 在静态文件的同一根目录中,创建一个 app.yaml包含以下内容的文件
runtime: nodejs10
env: standard
instance_class: F1
handlers:
  - url: /
    static_files: index.html
    require_matching_file: false
    upload: index.html
  - url: /(.*)
    static_files: /\1
    require_matching_file: false
    upload: /.*
  - url: .*
    script: auto
Run Code Online (Sandbox Code Playgroud)
  1. 在 App Engine 上部署gcloud app deploy
  2. 检查它是否适用于提供的 URL。

如果是这样:

  1. 转到安全 -> 身份感知代理 (IAP)
  2. 激活 App Engine 的 IAP;如果您之前没有配置过 OAuth 同意屏幕,则可能必须在此步骤中进行配置
  3. 选中根服务左侧的复选框,然后转到页面右侧的信息面板 在此输入图像描述
  4. 添加具有角色的成员、组或域IAP-secured Web app user

测试并享受!