使用 IAP 保护 GAE/Cloud Run 应用程序,但排除静态内容
如何保护(使用 IAP)应用程序的正确方法是什么,该应用程序由执行逻辑(servlet)和静态内容(css,js,...)组成,通过 url 前缀(logic = / admin /,static = / css 进行区分) /,/js/,...)。是否为由全局 IAM 条件(例如 request.path.startsWith("/admin") 管理的整个应用程序和 URL 前缀启用 IAP ?)即使对于静态资源无条件打开 IAP,是否还会出现性能/网络问题?
或者我是否必须将应用程序分离到两个服务,并为“逻辑”部分打开 IAP,为“静态”部分关闭 IAP?
一种可能的方法是
将静态内容直接上传到云存储
公开上传的内容
在您的 GAE/Cloud Run 应用程序中使用 Cloud Storage 中的项目的 URL,然后按照您的预期使用 IAP 保护您的 GAE/Cloud Run 应用程序
最终效果应该是这样的
a) 任何拥有您的任何静态内容链接的人都会看到该内容
b) 然而,对 GAE/Cloud Run 应用程序的访问由 IAP 控制
请参阅文档此处