如何将Google Cloud Run网站访问权限限制为仅公司Active Directory用户可访问
Cloud Run 限制仅公司Gmail域用户访问的配置方法
步骤1:关闭公开访问权限
首先修改你的Cloud Build部署配置,移除--allow-unauthenticated参数,关闭公开访问权限,修改后的部署片段如下:
- name: "gcr.io/cloud-builders/gcloud" args: - "run" - "deploy" - "my-app" - "--image" - "gcr.io/$PROJECT_ID/appcicd:latest" - "--region" - "europe-west2" - "--platform" - "managed"
步骤2:授予公司域用户访问权限
因为你公司使用的是Gmail企业域(即Google Workspace域)账号,只需给整个域的用户授予Cloud Run服务的调用权限即可:
- 替换以下命令中的
yourcompany.com为你公司的Workspace域名,执行命令即可完成配置:
gcloud run services add-iam-policy-binding my-app \ --region=europe-west2 \ --member=domain:yourcompany.com \ --role=roles/run.invoker
- 如果需要把权限配置和部署流程集成,可以直接把权限绑定逻辑加到Cloud Build的部署步骤里,修改后的配置如下:
- name: "gcr.io/cloud-builders/gcloud" args: - "run" - "deploy" - "my-app" - "--image" - "gcr.io/$PROJECT_ID/appcicd:latest" - "--region" - "europe-west2" - "--platform" - "managed" - name: "gcr.io/cloud-builders/gcloud" args: - "run" - "services" - "add-iam-policy-binding" - "my-app" - "--region=europe-west2" - "--member=domain:yourcompany.com" - "--role=roles/run.invoker"
访问逻辑说明
配置完成后,用户打开Cloud Run服务的URL会自动跳转至Google账号登录页,只有登录账号属于你配置的公司域时,才能正常访问服务,其他账号访问会返回403错误。你公司的Active Directory用户如果已经同步到Google Workspace域,直接登录AD对应的Gmail账号即可访问。
内容的提问来源于stack exchange,提问作者Unknown
相关产品推荐
相关产品推荐

