在控制台和 API 访问权限政策中配置用户活动条件

本文档介绍了如何在控制台和 API 访问权限政策中配置用户活动条件。用户活动条件由 Security Command Center Event Threat Detection 提供的 60 多种安全风险指标提供支持,其中许多指标可由特定用户操作触发。

您可以向控制台和 API 访问权限政策添加基于用户活动的风险条件,从而增强组织的安全状况并实现基于风险的动态访问权限控制。

这些条件可帮助您主动大规模应对基于身份的攻击,并在超出定义的风险阈值时触发用户重新身份验证提示,从而降低风险。例如,如果有人尝试从已知的危险 IP 地址访问您的系统、从他们通常不会登录的地点登录,或者表现出试图绕过安全措施的行为,系统会要求他们重新进行身份验证。

如需详细了解如何通过在访问权限政策中添加用户活动条件来提升安全状况,请参阅通过情境感知访问权限实现身份威胁检测和响应 (ITDR)

准备工作

设置此功能时,请注意以下几点:

  • 用户活动条件是一项高级功能,需要 Security Command Center 高级版或企业版许可。

  • 用户活动条件功能仅适用于指定群组内的 Google 身份用户账号。此功能不支持单点登录 (SSO) 用户和服务账号。

  • 您无法将用户活动条件与员工身份联合搭配使用。

  • 在本文档中,应用是指 Google Cloud 控制台或自定义应用(例如 Tableau 应用),您可以使用这些应用从 Cloud Storage 存储桶或 BigQuery 获取数据。

在访问政策中配置用户活动条件

您可以通过以下方式配置访问权限政策:

  • 创建新的访问权限政策和访问权限级别。
  • 创建或更新访问权限级别,然后将该访问权限级别添加到政策中。

创建具有用户活动条件的新的访问权限政策和访问权限级别

请完成以下步骤,创建访问权限级别以及控制台和 API 访问权限政策。

控制台

  1. 在 Google Cloud 控制台中,打开控制台和 API 访问权限政策页面。

    前往控制台和 API 访问权限政策

  2. 选择组织下拉列表中选择您的组织,然后点击选择

  3. 点击添加访问权限政策

  4. 创建访问权限政策对话框中,选择要限制访问权限的群组。

  5. 选择可访问 Google Cloud 的应用中,选择要限制其访问权限的应用。访问条件将应用于您选择的应用。如果您未选择任何应用,则条件将限制对所有应用的访问权限,但用户活动条件除外。用户活动条件仅适用于 Google Cloud 控制台。

  6. 访问权限级别中,您可以选择现有的试运行访问权限级别或有效访问权限级别,也可以创建新的访问权限级别。

    1. 如需创建访问权限级别,请点击创建新的访问权限级别

    2. 访问权限级别标题字段中,输入访问权限级别的标题。 标题最多不能超过 50 个字符,以字母开头,并且只能包含数字、字母、下划线和空格。

    3. 指定主账号可以访问控制台和 API 的条件。

    4. 对于用户活动建议的设置包括以下所有风险类型。取消选中在确定访问权限时不想纳入的任何风险类型。

      • 可疑操作:潜在的恶意操作,例如移除或减少安全限制。
      • 身份声誉:账号设置或状态发生变化,例如更改群组成员资格或变为有效(非休眠)状态。
      • 恶意来源:来自可疑来源的活动,例如与不良行为者关联的 IP 地址。
      • 重复操作:过多的访问尝试失败,例如 Identity and Access Management (IAM) 拒绝。
      • 非典型位置:从不寻常的位置(例如新的地理区域)进行访问。

      风险响应中的要求重新进行身份验证设置表示,当 Google 根据您之前设置的用户活动条件确定用户风险超出阈值时,用户需要重新进行身份验证。

    5. 如果您创建了多个条件,请使用合并条件,指定您是希望访问权限级别要求请求满足至少一个条件 (OR),还是满足所有条件 (AND)。

    6. 点击保存

  7. 创建访问权限政策页面中,从以下选项中进行选择。

    • 试运行:在强制执行政策之前测试更改。建议您先进行试运行,根据政策结果进行任何更改,然后再强制执行政策。
    • 强制执行:开始强制执行政策。
    • 取消:取消政策。

gcloud

  1. 创建 custom-level-spec.yaml YAML 文件。

    expression: "noRiskSignals(userRisk, [RiskType.IDENTITY_REPUTATION, RiskType.MALICIOUS_SOURCE])"
    
    
  2. 运行以下命令:

    gcloud access-context-manager levels create risk_based_access_level\
      --title=TITLE \
      --custom-level-spec=YAML_FILE \
      --description="A risk-based access level" \
      --policy=POLICY_NAME
    

    替换以下内容:

    • TITLE:访问权限级别的描述性标题。
    • YAML_FILE:您的自定义访问权限级别规范 YAML 文件,例如 custom-level-spec.yaml
    • POLICY_NAME:Access Context Manager 政策的名称。
  3. 将访问权限级别绑定到政策。

创建或更新访问权限级别并将其添加到政策中

如需在政策中添加用户活动条件,请创建新的访问权限级别或更新现有访问权限级别,然后将该访问权限级别添加到政策中。

控制台

  1. 如需在创建或更新访问权限级别时添加用户活动条件,请完成以下文档中的步骤,并指定用户活动

  2. 如需向现有政策添加包含用户活动的访问权限级别,请更新访问权限政策并添加该访问权限级别。

gcloud

  1. 创建具有用户活动条件的访问权限级别:

    gcloud access-context-manager levels create risk_based_access_level \
      --title=TITLE \
      --custom-level-spec=risk_level.yaml \
      --description="A risk-based access level" \
      --policy=POLICY_NAME
    

    替换以下内容:

    • TITLE:访问权限级别的描述性标题,例如 NoAtypicalLocationRisk
    • risk_level.yaml:您在上一步中创建的 YAML 文件的路径。
    • POLICY_NAME:要向其添加访问权限级别的 Access Context Manager 政策的名称。

    示例 risk_level.yaml YAML 文件:

    expression: "noRiskSignals(userRisk, [RiskType.ATYPICAL_LOCATION, RiskType.BAD_NETWORK_SIGNALS])"
    

    此表达式指定,如果用户的风险不包括异常位置或不良网络信号,则授予访问权限。

  2. 将访问权限级别绑定到范围和群组:

    gcloud access-context-manager cloud-bindings create \
    --group-key=GROUP_KEY \
    --organization=ORGANIZATION_ID \
    --binding-file=BINDING_YAML
    

    替换以下内容:

    • GROUP_KEY:您的 Google 群组的电子邮件地址或 ID。
    • ORGANIZATION_ID:您组织的 ID。
    • BINDING_YAML:您的 YAML 配置文件。

    示例 YAML 文件:

    scopedAccessSettings:
     - scope:
         clientScope:
           restrictedClientApplication:
             name: Cloud Console
       activeSettings:
         accessLevels:
         - accessPolicies/123/accessLevels/access_level_1
       dryRunSettings:
         accessLevels:
         - accessPolicies/123/accessLevels/dry_run_access_level_1
    

向访问权限政策添加具有用户活动条件访问权限级别

如需向现有政策添加基于风险的访问权限级别,您可以更新访问权限政策并添加访问权限级别。