使用 Cloud Scheduler 创建的每个 cron 作业将根据指定时间表发送到“目标”,并在其中完成该任务包含的工作。默认情况下,允许使用所有作业目标类型。如需限制可在组织中创建的目标类型(HTTP、
Pub/Sub 或 App Engine HTTP),您可以在配置组织政策时
应用 cloudscheduler.allowedTargetTypes 限制条件。
所需的角色
如需获得管理组织政策所需的权限,请让您的管理员为您授予组织的 Organization Policy Administrator (roles/orgpolicy.policyAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
应用限制条件
您可以使用 Google Cloud 控制台或 Google Cloud CLI 将限制条件 应用于组织政策。
控制台
在 Google Cloud 控制台中,前往 IAM 和管理 > 组织政策 页面。
在控制台工具栏上,使用资源选择器选择要查看其组织政策的项目、文件夹或组织。
系统会显示可用于此资源的组织政策限制条件列表。
按允许的作业目标类型 限制条件名称过滤列表。
在该限制条件所在的行中,依次点击 操作 > 修改政策。
在“修改政策”页面上,选择覆盖父资源的政策。
您可以选择让此政策包含父文件夹中的规则,或者完全取代父文件夹的政策。
在规则下方,点击添加规则。
在政策值列表中,选择自定义。
在政策类型 列表中,选择允许 。
添加
APPENGINE、HTTP或PUBSUB的自定义值。如需添加多个作业类型,请点击 添加值。
点击完成 。
如需强制执行政策,请点击设置政策 。
gcloud
如需查看限制条件的现有配置,请使用
gcloud org-policies describe命令:gcloud org-policies describe constraints/cloudscheduler.allowedTargetTypes \ --RESOURCE_TYPE_FLAG=RESOURCE_ID替换以下内容:
RESOURCE_TYPE_FLAG:根据政策在层次结构中的附加位置,可以是folder、organization或project。RESOURCE_ID:适用的文件夹、组织或项目 ID。
输出应类似如下所示:
etag: CJTvgc0GENDs+50B- name: projects/PROJECT_NUMBER/policies/cloudscheduler.allowedTargetTypes spec: etag: CJTvgc0GENDs+50B inheritFromParent: true rules: - values: allowedValues: - PUBSUB updateTime: '2026-02-26T16:40:52.331282Z'使用
gcloud org-policies set-policy命令在资源上设置政策。这会覆盖附加到资源的限制条件。创建一个临时文件
/tmp/policy.yaml以存储政策。例如:name: projects/PROJECT_NUMBER/policies/cloudscheduler.allowedTargetTypes spec: rules: - values: allowedValues: - TARGET_TYPE替换以下内容:
PROJECT_NUMBER:您的 Google Cloud 项目 编号。TARGET_TYPE:作业目标类型;可以是APPENGINE、HTTP或PUBSUB。
运行
set-policy命令:gcloud org-policies set-policy /tmp/policy.yaml
您可以使用
gcloud org-policies reset命令将限制条件重置为默认值:gcloud org-policies reset constraints/cloudscheduler.allowedTargetTypes \ --RESOURCE_TYPE_FLAG=RESOURCE_ID
对组织政策的更改最长可能需要 15 分钟才能完全实施。