配置 Privileged Access Manager 设置

作为 Privileged Access Manager 设置管理员,您可以为审批工作流和通知偏好设置配置一些其他设置。

除非您在子资源级别明确替换设置,否则在组织或文件夹级别配置的设置会自动应用于其子资源。

您可以启用服务账号作为符合条件的审批人。借助此设置,管理员可以在创建或修改使用权时,将服务账号和工作负载身份池中的身份添加为审批人。

您可以自定义各种 Privileged Access Manager 事件的资源级通知偏好设置,方法是选择性地停用特定事件和特定角色的通知,或停用所有通知。

准备工作

如需获得配置 Privileged Access Manager 设置所需的权限,请让您的管理员为您授予以下 IAM 角色:

  • 为项目、文件夹或组织配置设置: PAM Settings Admin (roles/privilegedaccessmanager.settingsAdmin) on your organization
  • 查看项目、文件夹或组织的设置: PAM Settings Viewer (roles/privilegedaccessmanager.settingsViewer) 针对项目、文件夹或组织的

这些预定义角色包含配置 Privileged Access Manager 设置所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需配置 Privileged Access Manager 设置,您需要具备以下权限:

  • 配置设置: privilegedaccessmanager.settings.update
  • 查看设置:
    • privilegedaccessmanager.settings.get
    • privilegedaccessmanager.settings.fetchEffective

启用服务账号作为审批人

控制台

  1. 前往 Privileged Access Manager 页面。

    前往 Privileged Access Manager

  2. 选择组织、文件夹或项目。

  3. 点击设置标签页。 在设置来源部分中,系统默认选择继承自父级

  4. 如需在子资源上覆盖从父资源继承的设置,请在作为审批者的服务账号部分中选择覆盖继承

  5. 如需启用“将服务账号设为审批人”设置,请开启将服务账号设为审批人切换开关,然后点击保存

REST

Privileged Access Manager API 的 updateSettings 方法可配置其他 Privileged Access Manager。

在使用任何请求数据之前,请先进行以下替换:

  • SCOPE:您要更新设置的组织、文件夹或项目,格式为 organizations/ORGANIZATION_IDfolders/FOLDER_IDprojects/PROJECT_ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • UPDATED_FIELDS:需要更新的设置字段的英文逗号分隔列表。例如 emailNotificationSettings,serviceAccountApproverSettings

    如需更新所有可修改的字段,请将更新掩码设置为 *

  • SA_AS_APPROVERserviceAccountApproverSettings 字段中的一个布尔值,用于指示是否允许服务账号批准授权。默认值为 false
    • 如果您为 serviceAccountApproverSettings 字段指定了值,则该设置会应用于您的资源。
    • 如果您指定了 serviceAccountApproverSettings 字段,但将其留空,则系统会将默认设置应用于您的资源。
    • 如果您完全未指定 serviceAccountApproverSettings 字段,则资源会继承父资源的设置。

    如果您停用此设置,则需要服务账号批准的授权将不会获得批准。如果您的使用权仅将服务账号作为审批者,则这些使用权无效。

  • request.json:包含修改后的设置的文件。如需创建此文件,请获取现有设置,将响应保存在名为 request.json 的文件中,然后修改该文件以用作更新请求的正文。您必须在正文中添加 ETAG,才能更新最新版本的设置。

HTTP 方法和网址:

PATCH https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/settings?updateMask=UPDATED_FIELDS

请求 JSON 正文:

{
  "emailNotificationSettings": {
    "customNotificationBehavior": {
      "adminNotifications": {
        "grantActivated": "NOTIFICATION_MODE_1",
        "grantActivationFailed": "DISABLED",
        "grantEnded": "ENABLED",
        "grantExternallyModified": "ENABLED"
      },
      "approverNotifications": {
        "pendingApproval": "NOTIFICATION_MODE_2"
      },
      "requesterNotifications": {
        "entitlementAssigned": "ENABLED",
        "grantActivated": "ENABLED",
        "grantExpired": "NOTIFICATION_MODE_3",
        "grantRevoked": "ENABLED"
      }
    }
  },
  "etag": "\"ZjlkNWZlMWUtNDlhYS00YjJjAYlzNWYtZWFkNGVjOWU3NWMkBwYRsottW5Md\"",
  "name": "SCOPE/locations/global/settings",
  "serviceAccountApproverSettings": {
    "enabled": SA_AS_APPROVER
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:


{
  "name": "SCOPE/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
    "createTime": "2024-03-25T01:55:02.544562950Z",
    "target": "SCOPE/locations/global/settings",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1beta"
  },
  "done": false
}


如需检查更新操作的进度,您可以向以下端点发送 GET 请求:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID

向以下端点发送 GET 请求以列出所有操作:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations

自定义通知偏好设置

控制台

  1. 前往 Privileged Access Manager 页面。

    前往 Privileged Access Manager

  2. 选择组织、文件夹或项目。

  3. 点击设置标签。

  4. 通知部分中,系统默认选择从父级继承

    下表显示了默认通知偏好设置:

    事件 管理员 请求者 审批人
    已分配使用权 - ✓ -
    授权需要获得批准 - - ✓
    授权已激活 ✓ ✓ -
    授权遭拒 - ✓ -
    授权已过期 - ✓ -
    授权已结束 ✓ ✓ -
    已撤消授权 - ✓ -
    授权已在外部修改 ✓ ✓ -
    授权激活失败 ✓ ✓ -
  5. 如需替换从父级继承的设置,请开启针对以下事件发送通知开关。

  6. 如需针对所需的 PAM 事件和角色停用通知,请清除相应的复选框,然后点击保存

  7. 如需停用所有通知,请清除针对以下事件发送通知,然后点击保存

REST

Privileged Access Manager API 的 updateSettings 方法可配置其他 Privileged Access Manager。

在使用任何请求数据之前,请先进行以下替换:

  • SCOPE:您要更新设置的组织、文件夹或项目,格式为 organizations/ORGANIZATION_IDfolders/FOLDER_IDprojects/PROJECT_ID。项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • UPDATED_FIELDS:需要更新的设置字段的英文逗号分隔列表。例如 emailNotificationSettings,serviceAccountApproverSettings

    如需更新所有可修改的字段,请将更新掩码设置为 *

  • NOTIFICATION_MODE: 在 emailNotificationSettings 字段中,使用 ENABLED 可发送相应事件的通知电子邮件,使用 DISABLED 可阻止发送此类电子邮件。
    • 如果您为 emailNotificationSettings 字段指定了值,则该设置会应用于您的资源。
    • 如果您指定了 emailNotificationSettings 字段,但将其留空,则系统会将默认设置应用于您的资源。
    • 如果您完全未指定 emailNotificationSettings 字段,则资源会继承父资源的设置。
  • request.json:包含修改后的设置的文件。如需创建此文件,请获取现有设置,将响应保存在名为 request.json 的文件中,然后修改该文件以用作更新请求的正文。您必须在正文中添加 ETAG,才能更新最新版本的设置。

HTTP 方法和网址:

PATCH https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/settings?updateMask=UPDATED_FIELDS

请求 JSON 正文:

{
  "emailNotificationSettings": {
    "customNotificationBehavior": {
      "adminNotifications": {
        "grantActivated": "NOTIFICATION_MODE_1",
        "grantActivationFailed": "DISABLED",
        "grantEnded": "ENABLED",
        "grantExternallyModified": "ENABLED"
      },
      "approverNotifications": {
        "pendingApproval": "NOTIFICATION_MODE_2"
      },
      "requesterNotifications": {
        "entitlementAssigned": "ENABLED",
        "grantActivated": "ENABLED",
        "grantExpired": "NOTIFICATION_MODE_3",
        "grantRevoked": "ENABLED"
      }
    }
  },
  "etag": "\"ZjlkNWZlMWUtNDlhYS00YjJjAYlzNWYtZWFkNGVjOWU3NWMkBwYRsottW5Md\"",
  "name": "SCOPE/locations/global/settings",
  "serviceAccountApproverSettings": {
    "enabled": SA_AS_APPROVER
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:


{
  "name": "SCOPE/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
    "createTime": "2024-03-25T01:55:02.544562950Z",
    "target": "SCOPE/locations/global/settings",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1beta"
  },
  "done": false
}


如需检查更新操作的进度,您可以向以下端点发送 GET 请求:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID

向以下端点发送 GET 请求以列出所有操作:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations

后续步骤