Google cloud storage 使用访问限制服务地面军事系统的静态页面

Google cloud storage 使用访问限制服务地面军事系统的静态页面,google-cloud-storage,Google Cloud Storage,我在谷歌云存储上提供一个静态页面。只要它是公开的,它就工作得很好。现在我设置了acl,这样只有一个组的用户可以读取存储,未经身份验证的用户可以重定向到google身份验证。现在的问题是,网站的静态内容,比如javascript和css,已经找不到了,我在那里发现了404个错误。静态内容也在存储桶中,它可以很好地处理公共URL。当使用经过身份验证的URL时,它不再起作用 我尝试为访问控制页面提供服务是否正确?我想是的,因为除了静态内容,它是有效的。你知道我这里缺少什么吗?尝试在你的应用程序引擎文件

我在谷歌云存储上提供一个静态页面。只要它是公开的,它就工作得很好。现在我设置了acl,这样只有一个组的用户可以读取存储,未经身份验证的用户可以重定向到google身份验证。现在的问题是,网站的静态内容,比如javascript和css,已经找不到了,我在那里发现了404个错误。静态内容也在存储桶中,它可以很好地处理公共URL。当使用经过身份验证的URL时,它不再起作用


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

尝试在你的应用程序引擎文件上部署。为此

在静态文件的同一根目录中,使用此内容创建app.yaml文件 在应用程序引擎上部署gcloud应用程序部署 检查它是否在提供的URL上工作。 如果是:

转到安全->身份识别代理IAP 激活应用程序引擎的IAP;这一步可能需要配置OAuth同意屏幕,因为您以前没有这样做 选中根服务左侧的复选框,然后转到页面右侧的信息面板 添加具有IAP安全Web app用户角色的成员、组或域
测试和享受

尝试在您提交的应用程序引擎上部署。为此

在静态文件的同一根目录中,使用此内容创建app.yaml文件 在应用程序引擎上部署gcloud应用程序部署 检查它是否在提供的URL上工作。 如果是:

转到安全->身份识别代理IAP 激活应用程序引擎的IAP;这一步可能需要配置OAuth同意屏幕,因为您以前没有这样做 选中根服务左侧的复选框,然后转到页面右侧的信息面板 添加具有IAP安全Web app用户角色的成员、组或域
测试和享受

您可以使用以下变通方法,根据bucket向GCS静态页面添加用户身份验证

首先,您需要创建一个名为redirect.html的公共文件。该文件将是静态网页的入口点,您需要添加以下内容

正在重定向到您的站点。。 index.html和其他文件必须是授予选定用户读取权限的私有文件

这背后的神奇之处在于,如果你的浏览器没有任何活动的谷歌帐户,你的浏览器会提示你选择一个谷歌帐户

只有拥有读者权限或其他具有阅读权限的角色的用户才能访问您的静态网站

只是一个友好的提醒,如果您的浏览器有超过1个谷歌帐户,这将占用浏览器中的主谷歌帐户。这可能会导致身份验证问题,如果发生这种情况,请使用匿名窗口

你可以找到更多关于这个的信息

额外步骤

如果已启用数据访问日志,此解决方案将引发一些身份验证问题,则需要向将使用身份验证站点的用户添加异常

为此,在云控制台中,导航到IAM&Admin>auditlogs。查看谷歌云存储的列表或过滤器。单击该行


在右侧的信息面板中,在“豁免用户”选项卡上,单击“添加豁免用户”。

您可以使用以下解决方法,根据Bucket将用户身份验证添加到您的GCS静态页面

首先,您需要创建一个名为redirect.html的公共文件。该文件将是静态网页的入口点,您需要添加以下内容

正在重定向到您的站点。。 index.html和其他文件必须是授予选定用户读取权限的私有文件

这背后的神奇之处在于,如果你的浏览器没有任何活动的谷歌帐户,你的浏览器会提示你选择一个谷歌帐户

只有拥有读者权限或其他具有阅读权限的角色的用户才能访问您的静态网站

只是一个友好的提醒,如果您的浏览器有超过1个谷歌帐户,这将占用浏览器中的主谷歌帐户。这可能会导致身份验证问题,如果发生这种情况,请使用匿名窗口

你可以找到更多关于这个的信息

额外步骤

如果已启用数据访问日志,此解决方案将引发一些身份验证问题,则需要向将使用身份验证站点的用户添加异常

为此,在云控制台中,导航到IAM&Admin>auditlogs。查看谷歌云存储的列表或过滤器。单击该行


在右侧的“信息”面板中,在“豁免用户”选项卡上,单击“添加豁免用户”。

您可以分享用户的身份验证方式吗?他们的身份提供者是什么?他们通过浏览器中的cookies来识别。如果没有,谷歌登录将打开。身份验证不是问题所在。问题是我
在打开经过身份验证的url后,Google的重定向。因此,my index.html静态内容的相对路径与bucket中的可用路径不再匹配。例如,重定向到身份验证不是问题,但是,因为您使用谷歌帐户,我的答案更简单!你能分享一下用户是如何被认证的吗?他们的身份提供者是什么?他们通过浏览器中的cookies来识别。如果没有,谷歌登录将打开。身份验证不是问题所在。问题是谷歌在打开经过验证的url后重定向。因此,my index.html静态内容的相对路径与bucket中的可用路径不再匹配。例如,重定向到身份验证不是问题,但是,因为您使用谷歌帐户,我的答案更简单!是的,如果您使用node提供文件,那么它肯定可以工作。但我最初的计划是坚持使用地面军事系统。无论如何谢谢使用你想要的运行时!!节点、Python、Java、Go。。。因为只提供静态文件,所以不使用它@jo87casi你试过这个方法吗?在我的例子中,现在可以完美地为访问受限的静态网站提供服务。不幸的是,GCS缺少这种控件。是的,如果您使用node提供文件,它当然可以工作。但我最初的计划是坚持使用地面军事系统。无论如何谢谢使用你想要的运行时!!节点、Python、Java、Go。。。因为只提供静态文件,所以不使用它@jo87casi你试过这个方法吗?在我的情况下,完美地为静态网站提供服务,现在访问受到限制。不幸的是,GCS缺乏这种控制。
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