将 Google Cloud IAM 与 Google SecOps 集成
本文档介绍了如何将 Google Cloud Identity and Access Management Google Cloud 与 Google Security Operations 集成。
使用场景
Google Cloud IAM 集成支持以下用例:
自动管理服务账号生命周期:在用户加入和退出流程中自动创建、启用或停用服务账号,以确保仅在必要时授予访问权限。
快速身份事件响应:在发生安全事件时,立即删除或停用遭入侵的服务账号和角色,以防止未经授权访问云资源。
身份治理和丰富:使用详细的服务账号元数据(例如显示名称和项目 ID)丰富 Google SecOps 中的用户实体,以便分析师在调查期间立即获得相关背景信息。
政策审核和强制执行:检索和审核访问权限控制政策,确保其符合最小权限原则,并以程序化方式设置新政策来修复未经授权的更改。
基于角色的访问权限控制 (RBAC) 管理:在整个组织内创建和管理具有特定权限集的自定义 IAM 角色,以精细控制云环境访问权限。
准备工作
在 Google SecOps 中配置 Google Cloud IAM 集成之前,请完成以下前提条件步骤:
创建自定义 IAM 角色:定义具有管理服务账号和角色所需的特定权限的角色。
创建服务账号:创建集成用于执行操作的身份。
选择身份验证方法:在推荐的 Workload Identity 或服务账号 JSON 密钥之间进行选择。
创建和配置自定义 IAM 角色
为遵循最小权限原则,请完成以下步骤,以创建仅包含此集成所需的特定权限的自定义角色:
在 Google Cloud 控制台中,前往 IAM 和管理 > 角色。
点击创建角色。
提供标题、说明和 ID。
将角色发布阶段设置为
General Availability。点击添加权限,然后添加以下特定权限:
iam.serviceAccounts.listiam.serviceAccounts.createiam.serviceAccounts.getiam.serviceAccounts.getIamPolicyiam.serviceAccounts.setIamPolicyiam.serviceAccounts.disableiam.serviceAccounts.enableiam.serviceAccounts.deleteiam.roles.listiam.roles.getiam.roles.createiam.roles.delete
点击创建。
创建服务账号
集成使用服务账号在您的项目中进行身份验证并执行 IAM 操作。
如需创建服务账号,请完成以下步骤:
在 Google Cloud 控制台中,依次前往 IAM 和管理 > 服务账号。
点击创建服务账号。
输入名称和说明,然后点击创建并继续。
在向此服务账号授予对项目的访问权限部分中,将您在上一步中创建的自定义角色分配给此服务账号。点击完成。
选择身份验证方法
Google SecOps 支持此集成的两种身份验证途径:
选项 1:Workload Identity(推荐):此方法使用短期有效的令牌,通过服务账号模拟来实现。它更安全,因为无需使用长期有效的 JSON 密钥。
选项 2:服务账号 JSON 密钥:此方法使用静态密钥文件。仅当您的环境中没有 Workload Identity 时,才使用此方法。
使用 Workload Identity 进行身份验证(推荐)
如要使用 Workload Identity,您必须授权 Google SecOps 实例模拟您创建的服务账号。
在 Google SecOps 中,前往内容中心 > 响应集成。
选择 Google Cloud IAM 集成。
在 Workload Identity 邮箱字段中,输入您的服务账号电子邮件地址。
点击保存,然后点击测试。测试预计最初会失败。
点击失败的测试旁边的 close_small,查看错误消息。
搜索错误消息末尾附近的专用电子邮件地址(格式为
gke-init-python@...或soar-python@...)。复制此地址。
授予模拟权限
检索到 Google SecOps 实例的唯一身份后,您必须授权该身份访问您的 Google Cloud 资源。此步骤可启用服务账号模拟,从而允许平台生成短期有效令牌并代表您执行操作,而无需静态密钥。
在 Google Cloud 控制台中,依次前往 IAM 和管理 > 服务账号。
选择您为此集成创建的服务账号。
前往权限标签页,然后点击授予访问权限。
将您复制的唯一电子邮件地址粘贴到新的主账号字段中。
分配 Service Account Token Creator 角色 (
roles/iam.serviceAccountTokenCreator)。点击保存。
使用 JSON 密钥进行身份验证
如果您的环境中无法使用 Workload Identity,您可以使用服务账号 JSON 密钥对集成进行身份验证。此方法依赖于静态的长期有效的密钥文件,以在平台与您的 Google Cloud 资源之间建立连接。
在 Google Cloud 控制台中,依次前往 IAM 和管理 > 服务账号,然后选择您的服务账号。
前往密钥标签页。
点击添加密钥 > 创建新密钥。
选择
JSON作为密钥类型,然后点击创建。相应文件会下载到您的计算机上。复制 JSON 文件的全部内容。
在平台中配置此集成时,将内容粘贴到服务账号 JSON 文件内容字段中。
集成参数
Google Cloud IAM 集成需要以下参数:
| 参数 | 说明 |
|---|---|
API Root |
可选。 Google Cloud IAM 实例的基本网址。 默认值为 |
Account Type |
可选。 Google Cloud 账号的类型。 此值对应于身份验证 JSON 文件中的 默认值为 |
Project ID |
可选。 相应 Google Cloud 账号的项目 ID。 此值对应于身份验证 JSON 文件中的 |
Quota Project ID |
可选。 发出 API 请求时用于配额和结算的项目 ID。 |
Private Key ID |
可选。 Google Cloud 账号的私钥 ID。 此值对应于身份验证 JSON 文件中的 |
Private Key |
可选。 Google Cloud 账号的私钥。 此值对应于身份验证 JSON 文件中的 |
Client Email |
可选。 Google Cloud 账号的客户电子邮件地址。 此值对应于身份验证 JSON 文件中的 |
Client ID |
可选。 Google Cloud 账号的客户端 ID。 此值对应于身份验证 JSON 文件中的 |
Auth URI |
可选。 Google Cloud 账号的身份验证 URI。 此值对应于身份验证 JSON 文件中的 默认值为 |
Token URI |
可选。 Google Cloud 账号的令牌 URI。 此值对应于身份验证 JSON 文件中的 默认值为 |
Auth Provider X509 URL |
可选。 身份验证提供方的 X.509 证书网址。 此值对应于身份验证 JSON 文件中的 默认值为 |
Client X509 URL |
可选。 客户端 X.509 证书网址。 此值对应于身份验证 JSON 文件中的 |
Organization ID |
可选。 Google Cloud 组织的唯一标识符。 |
Service Account Json File Content |
可选。 服务账号密钥文件的完整 JSON 内容。 如果提供此参数,则系统会忽略各个连接参数(例如 |
Workload Identity Email |
可选。 与 Workload Identity 服务账号关联的电子邮件地址。 |
Verify SSL |
可选。 如果选中此选项,集成会在连接到 Google Cloud IAM 服务时验证 SSL 证书。 默认处于启用状态。 |
如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。
如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。
操作
如需详细了解操作,请参阅 在工作台页面中处理待处理的操作和执行人工处置措施。
创建角色
创建 Identity and Access Management 角色。
参数
| 参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
|---|---|---|---|---|
| 角色 ID | 字符串 | 不适用 | 是 | 为新创建的 Identity and Access Management 角色指定角色 ID。 |
| 角色定义 | 字符串 | 不适用 | 是 | 指定要用作角色定义的 JSON 政策文档。 |
Run On
该操作不会在实体上运行。
角色政策 JSON 示例
{
"name": "projects/silver-shift-275007/roles/iam_test_role_api",
"title": "iam_test_role_api",
"description": "test role",
"includedPermissions": [
"storagetransfer.projects.getServiceAccount"
],
"stage": "GA",
"etag": "BwXBu1RHiPw="
}
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
"title": "[ROLE_TITLE]",
"description": "[ROLE_DESCRIPTION]",
"includedPermissions": [
"storagetransfer.projects.getServiceAccount"
],
"stage": "GA",
"etag": "[ETAG_VALUE]"
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“执行操作‘创建角色’时出错。原因:{0}''.format(error.Stacktrace) |
常规 |
创建服务账号
创建 Identity and Access Management 服务账号。
参数
| 参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
|---|---|---|---|---|
| 服务账号 ID | 字符串 | 字符串 | 是 | 指定要创建的服务账号 ID。 |
| 服务账号显示名称 | 字符串 | 字符串 | 否 | 指定要创建的服务账号显示名称。 |
| 服务账号说明 | 字符串 | 字符串 | 否 | 指定要创建的服务账号说明。 |
Run On
此操作不会在实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
"projectId": "PROJECT_ID",
"uniqueId": "UNIQUE_ID",
"email": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
"displayName": "SERVICE_ACCOUNT_DISPLAY_NAME",
"etag": "ETAG_VALUE",
"description": "SERVICE_ACCOUNT_DESCRIPTION",
"oauth2ClientId": "UNIQUE_ID"
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Create Service Account". 原因:{0}''.format(error.Stacktrace) |
常规 |
删除角色
删除 Identity and Access Management 角色。
参数
| 参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
|---|---|---|---|---|
| 角色 ID | 字符串 | 不适用 | 是 | 为新创建的 Identity and Access Management 角色指定角色 ID。 |
Run On
此操作不会在实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
"title": "[ROLE_TITLE]",
"description": "[ROLE_DESCRIPTION]",
"includedPermissions": [
"storagetransfer.projects.getServiceAccount"
],
"stage": "GA",
"etag": "[ETAG_VALUE]",
"deleted": true
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“执行操作‘删除角色’时出错。原因:{0}''.format(error.Stacktrace) |
常规 |
删除服务账号
删除服务账号。操作需要将 Identity and Access Management 服务账号电子邮件作为 Google SecOps 用户实体。
Run On
此操作在 User 实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Delete Service Account". 原因:{0}''.format(error.Stacktrace) |
常规 |
停用服务账号
停用服务账号。操作需要将 Identity and Access Management 服务账号电子邮件作为 Google SecOps 用户实体。
Run On
此操作在 User 实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“执行操作‘停用服务账号’时出错。原因:{0}''.format(error.Stacktrace) |
常规 |
启用服务账号
启用服务账号。操作需要将 Identity and Access Management 服务账号电子邮件作为 Google SecOps 用户实体。
Run On
此操作在 User 实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“执行操作‘启用服务账号’时出错。原因:{0}''.format(error.Stacktrace) |
常规 |
丰富实体
使用 Identity and Access Management 中的服务账号信息丰富 Google SecOps 用户实体。操作需要将 Identity and Access Management 服务账号电子邮件作为 Google SecOps 用户实体。
Run On
此操作在 User 实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
"projectId": "[PROJECT_ID]",
"uniqueId": "[UNIQUE_ID]",
"email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
"displayName": "[DISPLAY_NAME]",
"etag": "[ETAG]",
"description": "[DESCRIPTION]",
"oauth2ClientId": "[UNIQUE_ID]"
}
实体扩充
| 扩充项字段名称 | 逻辑 - 适用情形 |
|---|---|
| Google_IAM_name | |
| Google_IAM_project_id | .. |
| Google_IAM_unique_id | |
| Google_IAM_email | |
| Google_IAM_display_name | |
| Google_IAM_description | |
| Google_IAM_oauth2_client_id |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“执行操作‘丰富实体’时出错。原因:{0}''.format(error.Stacktrace) |
常规 |
| 表(丰富度) | 表格名称:{实体}扩充表 列:键、值 |
实体 |
获取服务账号 IAM 政策
获取服务账号的访问权限控制政策。操作需要将 Identity and Access Management 服务账号电子邮件地址作为 Google SecOps 用户实体。请注意,如果未向服务账号分配任何政策,则政策可能为空。
Run On
此操作在 User 实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"version": 1,
"etag": "[ETAG_VALUE]",
"bindings": [
{
"role": "roles/iam.securityReviewer",
"members": [
"user:[USER_EMAIL]"
]
}
]
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“执行操作‘获取服务账号 IAM 政策’时出错。原因:{0}''.format(error.Stacktrace) |
常规 |
列出角色
根据指定的搜索条件列出 Identity and Access Management 角色。请注意,此操作不适用于 Google SecOps 实体。
参数
| 参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
|---|---|---|---|---|
| 查看 | DDL | 基本 | 否 | 指定应使用哪个视图来返回角色信息。 |
| 要返回的行数上限 | 整数 | 50 | 否 | 指定角色操作应返回多少个角色。 |
| 是否仅列出项目自定义角色? | 复选框 | 尚未核查 | 否 | 如果启用,操作将仅返回为当前项目 ID 定义的自定义角色。 |
| 显示已删除的数据库 | 复选框 | 尚未核查 | 否 | 如果已启用,操作还会返回已删除的角色。 |
Run On
该操作不会在实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"roles": [
{
"name": "roles/accessapproval.approver",
"title": "Access Approval Approver",
"description": "Ability to view or act on access approval requests and view configuration",
"stage": "BETA",
"etag": "[ETAG_VALUE]"
},
{
"name": "roles/accessapproval.configEditor",
"title": "Access Approval Config Editor",
"description": "Ability update the Access Approval configuration",
"stage": "BETA",
"etag": "[ETAG_VALUE]"
}
]
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、无效的可用区、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "List Roles". 原因:{0}''.format(error.Stacktrace) |
常规 |
| 表格 | 表格名称: Google Cloud IAM 角色 表格列: 角色名称 角色名称 角色说明 角色阶段 角色 ETag 角色权限 |
常规 |
List Service Accounts
根据指定的搜索条件列出 Identity and Access Management 服务账号。 请注意,此操作不适用于 Google SecOps 实体。
参数
| 参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
|---|---|---|---|---|
| 服务账号显示名称 | 字符串 | 不适用 | 否 | 指定要返回的服务账号显示名称。参数接受多个值,这些值以英文逗号分隔的字符串形式表示。 |
| 服务账号电子邮件地址 | 字符串 | 不适用 | 否 | 指定要返回的服务账号电子邮件地址。参数接受多个值,这些值以英文逗号分隔的字符串形式表示。 |
| 要返回的行数上限 | 整数 | 50 | 否 | 指定角色操作应返回多少个角色。 |
Run On
此操作不会在实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"accounts": [
{
"name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
"projectId": "[PROJECT_ID]",
"uniqueId": "[UNIQUE_ID]",
"email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
"displayName": "[DISPLAY_NAME]",
"etag": "[ETAG_VALUE]",
"description": "[SERVICE_ACCOUNT_DESCRIPTION]",
"oauth2ClientId": "[UNIQUE_ID]"
}
]
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、无效的可用区、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "List Service Accounts". 原因:{0}''.format(error.Stacktrace) |
常规 |
| 表格 | 表格名称: Google Cloud 服务账号 表格列: 服务账号名称 服务账号唯一 ID 服务账号电子邮件地址 服务账号显示名称 服务账号说明 服务账号 OAuth2 客户端 ID |
常规 |
Ping
使用 Google Security Operations Marketplace 标签页中的集成配置页面上提供的参数,测试与 Identity and Access Management 服务的连接。
参数
不适用
Run On
此操作不会在实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行:
|
常规 |
轮替服务账号密钥
使用轮替服务账号密钥操作来轮替与服务账号关联的用户管理的密钥。在轮替期间,系统会删除所有现有密钥并创建新密钥。
此操作可在以下 Google SecOps 实体上运行:
DeploymentUsername
操作输入
轮替服务账号密钥操作需要以下参数:
| 参数 | 说明 |
|---|---|
Service Account |
可选。 要轮替密钥的服务账号的英文逗号分隔列表。 此参数可与实体搭配使用。如果提供,则除了操作范围中标识的任何服务账号实体之外,该操作还会轮换这些特定账号的密钥。 |
操作输出
轮替服务账号密钥操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用轮换服务账号密钥操作时收到的 JSON 结果输出:
[
{
"Entity": "123",
"EntityResult": {
"name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
"validAfterTime": "2023-09-12T11:02:31Z",
"validBeforeTime": "9999-12-31T23:59:59Z",
"keyAlgorithm": "KEY_ALG_RSA_2048",
"keyOrigin": "GOOGLE_PROVIDED",
"keyType": "USER_MANAGED"
}
},
{
"Entity": "1234",
"EntityResult": {
"name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
"validAfterTime": "2023-09-12T11:02:31Z",
"validBeforeTime": "9999-12-31T23:59:59Z",
"keyAlgorithm": "KEY_ALG_RSA_2048",
"keyOrigin": "GOOGLE_PROVIDED",
"keyType": "USER_MANAGED"
}
}
]
输出消息
轮替服务账号密钥操作可能会返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Rotate Service Account Keys". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表列出了使用轮换服务账号密钥操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
设置服务账号 IAM 政策
设置指定服务账号的访问权限控制政策。操作需要将 Identity and Access Management 服务账号电子邮件作为 Google SecOps 账号实体。请注意,操作中提供的政策会替换任何现有政策。
参数
| 参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
|---|---|---|---|---|
| 政策 | 字符串 | 不适用 | 是 | 指定要为服务账号设置的 JSON 政策文档。 |
Run On
此操作在“账号”实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
{
"version": 1,
"etag": "[ETAG_VALUE]",
"bindings": [
{
"role": "roles/iam.securityReviewer",
"members": [
"user:[USER_EMAIL]"
]
}
]
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“执行操作‘设置服务账号 IAM 政策’时出错。原因:{0}''.format(error.Stacktrace) |
常规 |
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。