允许公开(未通过身份验证)访问

如果您的服务是公共 API 或网站,建议使用此选项。

您可以随时使用控制台或 gcloud 命令行将 IAM Cloud Run Invoker 角色分配给 allUsers 成员类型,以允许对服务进行未经身份验证的调用:

控制台

创建新服务时,您可以通过勾选“允许未通过身份验证的调用”复选框来允许未通过身份验证的调用。

要允许对现有服务进行未经身份验证的调用,请执行以下操作:

  1. 转到 Google Cloud Console:

    转到 Google Cloud Console

  2. 选择要公开的服务。

  3. 点击右上角的显示信息面板,以显示权限标签页。

  4. 添加成员字段中,输入 allUsers

  5. 选择角色下拉菜单中选择 Cloud Run Invoker 角色。

  6. 点击添加

命令行

使用 gcloud run deploy 创建新服务时,系统会提示您“允许未经身份验证的访问”。

或者,在使用 gcloud run deploy 命令时,您可以明确指定您的服务是否可以公开访问:

gcloud run deploy SERVICE ... --allow-unauthenticated

要允许对现有服务进行未经身份验证的调用,请为特殊 allUsers 成员类型授予服务上的 roles/run.invoker 角色:

  gcloud run services add-iam-policy-binding SERVICE \
    --member="allUsers" \
    --role="roles/run.invoker"

YAML

创建一个名为 policy.yaml 的文件,其中包含以下内容:

bindings:
- members:
  - allUsers
  role: roles/run.invoker

使用以下命令允许对现有 SERVICE 进行未经身份验证的调用:

gcloud run services set-iam-policy SERVICE policy.yaml