将 Akeyless 与 Google SecOps 集成

本文档介绍了如何将 Akeyless 与 Google Security Operations 集成。

使用场景

Akeyless 集成使用 Google SecOps 功能来支持以下用例:

  • 同步集成凭据:使用 Akeyless 中存储的 Secret,在 Google SecOps 集成实例、连接器和作业中自动更新凭据和敏感参数。

  • 在 Playbook 中检索 Secret:在 Playbook 执行期间,根据需要从 Akeyless 提取静态 Secret 或特定 Secret 版本,以便向外部服务进行身份验证。

  • 自动执行凭证变换:通过将参数映射到 latest Secret 版本,将变换后的 API 密钥、令牌和密码从 Akeyless 传播到 Google SecOps 集成、连接器和作业,从而防止因凭证过期而导致的中断。

  • 通过版本固定控制凭据更新:将集成、连接器或作业参数固定到 Akeyless 中的特定 Secret 版本,以验证凭据更改或在需要时回滚到先前版本。

  • 消除工作流中的硬编码 Secret:将敏感凭据集中存储在 Akeyless 中,而不是直接嵌入到 playbook 输入或自定义脚本中,从而减少 SOC 工作流中的凭据泄露。

准备工作

在 Google SecOps 平台中配置集成之前,请验证您是否具备以下条件:

  • API 密钥凭据:用于身份验证的 Akeyless 访问 ID 和访问密钥。

    如需了解详情,请参阅 Akeyless API 密钥身份验证。

  • 访问权限:为您的身份验证方法授予对 Google SecOps 检索的 Secret 的读取权限。

    如需了解详情,请参阅 Akeyless 基于角色的访问控制 (RBAC)。

  • 网络连接:从 Google SecOps 实例或远程代理到 Akeyless API Gateway 网址的网络访问权限。

集成参数

Akeyless 集成需要以下参数:

参数 说明
API Gateway URL

可选。

Akeyless API Gateway 的网址。

默认值为 https://api.akeyless.io。

Access ID

必填。

Akeyless API 密钥身份验证方法的访问 ID,例如 p-12345abcde。

Access Key

必填。

与您的 Akeyless Access ID 关联的访问密钥。

Verify SSL

必填。

如果选中,集成会在连接到 Akeyless 服务器时验证 SSL 证书。

默认处于启用状态。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。

如有需要,您可以在后续阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。

操作

如需详细了解操作,请参阅 在工作桌上响应待处理的操作和在案例中运行手动操作。

获取 Secret 值

使用获取 Secret 值操作从 Akeyless 检索 Secret 值,以便在 playbook 中使用。

此操作不会在 Google SecOps 实体上运行。

操作输入

获取 Secret 值操作需要以下参数:

参数 说明
Secret Name

必填。

要从 Akeyless 检索的 Secret 的名称或路径。

如需检索最新版本,请输入 SECRET_NAME 或 SECRET_NAME:latest。

如需检索特定版本,请输入 SECRET_NAME:VERSION_NUMBER,其中 VERSION_NUMBER 是一个正整数(例如 /prod/api-key:2)。

操作输出

获取 Secret 值操作会提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
案例墙表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用获取 Secret 值操作时收到的 JSON 结果输出:

{
  "secret_name": "/secops/integrations/example-api-key",
  "version": "latest",
  "secret_value": "EXAMPLE_SECRET_VALUE"
}
输出消息

获取 Secret 值操作可能会返回以下输出消息:

输出消息 消息说明
Successfully retrieved secret 'SECRET_NAME' (version: 'SECRET_VERSION') from Akeyless Security. 操作成功。
Failed to retrieve secret 'SECRET_NAME' (version: 'SECRET_VERSION') from Akeyless Security. Reason: ERROR_REASON

操作失败。

验证 Akeyless 中是否存在 Secret 路径和版本,以及您的身份验证凭证是否具有对 Secret 的读取权限。

Error executing action 'Get Secret Value'. Reason: Invalid credential mapping format for value 'SECRET_NAME'. Expected format: 'secret_name' or 'secret_name:version' (where version is a positive integer or 'latest').

操作失败。

验证 Secret Name 参数的格式。

脚本结果

下表列出了使用获取 Secret 值操作时脚本结果输出的值:

脚本结果名称 值
is_success True 或 False

Ping

使用 Ping 操作测试与 Akeyless 服务器的连接。

此操作不会在 Google SecOps 实体上运行。

操作输入

无。

操作输出

Ping 操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
案例墙表格 不可用
丰富化表 不可用
JSON 结果 不可用
输出消息 可用
脚本结果 可用
输出消息

Ping 操作可能会返回以下输出消息:

输出消息 消息说明
Successfully connected to the Akeyless server with the provided connection parameters! 操作成功。
Failed to connect to the Akeyless server! Reason: ERROR_REASON

操作失败。

验证您的 API Gateway URL、Access ID、Access Key 和 SSL 设置。

脚本结果

下表列出了使用 Ping 操作时脚本结果输出的值:

脚本结果名称 值
is_success True 或 False

作业

如需详细了解作业,请参阅 配置新作业和 高级调度。

同步集成凭证作业

使用同步集成凭据作业,将 Akeyless 中存储的 Secret 自动同步到您配置的 Google SecOps 集成实例、连接器和作业。

作业输入

同步集成凭证作业需要以下参数:

参数 说明
API Gateway URL

可选。

Akeyless API Gateway 的网址。

默认值为 https://api.akeyless.io。

Access ID

必填。

Akeyless API 密钥身份验证方法的访问 ID,例如 p-12345abcde。

Access Key

必填。

与您的 Akeyless Access ID 关联的访问密钥。

Verify SSL

必填。

如果选中,集成会在连接到 Akeyless 服务器时验证 SSL 证书。

默认处于启用状态。

Environment Name

必填。

配置了目标集成实例、连接器和作业的 Google SecOps 环境。

默认值为 Default Environment。

Credential Mapping

必填。

一个 JSON 或 YAML 字典,用于将目标集成实例、连接器和作业映射到包含其参数值的 Akeyless 密钥。

在 integration_instances、connectors 或 jobs 键下至少添加一个映射的参数。

如需查看示例,请参阅示例 Credential Mapping。

默认值为 {"integration_instances": {"Integration_Instance_Name": {"Parameter_Name": "Secret_Name"}}}。

示例 Credential Mapping

以下示例展示了如何在 Credential Mapping 参数中映射集成实例、连接器和作业的参数:

{
  "integration_instances": {
    "VirusTotal_Prod": {
      "API Key": "/secops/prod/virustotal-api-key"
    },
    "Jira_Instance_1": {
      "API Token": "/secops/prod/jira-api-token:2"
    }
  },
  "connectors": {
    "CrowdStrike Falcon Alerts Connector": {
      "Client Secret": "/secops/prod/crowdstrike-client-secret:latest"
    }
  },
  "jobs": {
    "ServiceNow Sync Closed Cases": {
      "Password": "/secops/prod/servicenow-password:1"
    }
  }
}

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。