集成


Red Hat Advanced Cluster Security for Kubernetes 3.70

集成 Red Hat Advanced Cluster Security for Kubernetes

摘要

本文档论述了如何在 Red Hat Advanced Cluster Security for Kubernetes 中配置常见集成,包括与镜像 registry、Slack、Packeruty、JIRA、电子邮件和使用通用 Webhook 集成。

第 1 章 与镜像 registry 集成

Red Hat Advanced Cluster Security for Kubernetes 与各种镜像 registry 集成,以便您可以了解您的镜像并应用安全策略以供镜像使用。

当您与镜像 registry 集成时,您可以查看重要的镜像详情,如镜像创建日期和 Dockerfile 详情(包括镜像层)。

将 Red Hat Advanced Cluster Security for Kubernetes 与 registry 集成后,您可以扫描镜像、查看镜像组件或在部署镜像前应用安全策略,或应用到集群中部署的现有镜像。

注意

当您与镜像 registry 集成时,Red Hat Advanced Cluster Security for Kubernetes 不会扫描 registry 中的所有镜像。Red Hat Advanced Cluster Security for Kubernetes 只在以下情况时扫描镜像:

  • 在部署中使用镜像
  • 使用 roxctl CLI 检查镜像
  • 使用持续集成(CI)系统强制安全策略

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与主要镜像 registry 集成,包括:

1.1. 自动配置

Red Hat Advanced Cluster Security for Kubernetes 包含默认与标准 registry 集成,如 Docker Hub 及其他。它还可根据受监控集群中找到的工件(如镜像 pull secret)自动配置集成。通常,您不需要手动配置 registry 集成。

重要

如果您使用 GCR registry,Red Hat Advanced Cluster Security for Kubernetes 不会自动创建 registry 集成。

1.2. Amazon ECR 集成

对于 Amazon ECR 集成,如果满足以下条件,Red Hat Advanced Cluster Security for Kubernetes 会自动生成 ECR registry 集成:

  • 集群的云供应商是 AWS。
  • 集群中的节点具有 Instance Identity and Access Management(IAM)角色关联,且实例元数据服务可在节点上可用。例如,在使用 Amazon Elastic Kubernetes Service(EKS)来管理集群时,这个角色被称为 EKS 节点 IAM 角色。
  • Instance IAM 角色具有对您要部署的 ECR registry 访问权限的 IAM 策略。

如果满足列出的条件,Red Hat Advanced Cluster Security for Kubernetes 会监控从 ECR registry 中拉取的部署,并为它们自动生成 ECR 集成。您可以在自动生成这些集成后编辑它们。

1.3. 手动配置镜像 registry

如果使用 GCR,则必须手动创建镜像 registry 集成。

1.3.1. 手动配置 OpenShift Container Platform registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 OpenShift Container Platform 内置容器镜像 registry 集成。

先决条件

  • 您需要一个用户名和密码才能使用 OpenShift Container Platform registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 通用 Docker Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. 用户名及密码 .
  5. 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
  6. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.2. 手动配置 Amazon Elastic Container Registry

您可以使用 Red Hat Advanced Cluster Security for Kubernetes 手动创建并修改 Amazon Elastic Container Registry(ECR)集成。如果您要从 Amazon ECR 部署,则 Amazon ECR registry 的集成通常会自动生成。但是,您可能想要自行创建集成以扫描外部部署的镜像。您还可以修改自动生成的集成的参数。例如,您可以将自动生成的 Amazon ECR 集成使用的验证方法更改为使用 AssumeRole 身份验证或其他授权模型。

重要

要清除您对自动生成的 ECR 集成、删除集成和 Red Hat Advanced Cluster Security for Kubernetes 所做的更改,当您从 Amazon ECR 部署镜像时,会自动生成的参数与自动生成的参数进行创建新的集成。

先决条件

  • 您必须有一个 Amazon Identity and Access Management(IAM)访问密钥 ID 和 secret 访问密钥。或者,您可以使用节点级 IAM 代理,如 kiamkube2iam
  • 访问密钥必须具有 ECR 的读取访问权限。如需更多信息,请参阅如何创建 AWS 访问密钥
  • 如果您在 Amazon Elastic Kubernetes Service(EKS)中运行 Red Hat Advanced Cluster Security for Kubernetes,并想与来自一个单独的 Amazon 帐户的 ECR 集成,您必须首先在 ECR 中设置存储库策略声明。按照 设置存储库策略语句Actions 的说明,请选择 Amazon ECR API 操作的以下范围:

    • ecr:BatchCheckLayerAvailability
    • ecr:BatchGetImage
    • ecr:DescribeImages
    • ecr:GetDownloadUrlForLayer
    • ecr:ListImages

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Amazon ECR
  3. 单击 New integration,或者点击自动生成的集成之一将其打开,然后单击 Edit
  4. 输入或修改以下字段的详情:

    1. 更新已存储的凭据 :在修改集成时没有更新凭证(如访问密钥和密码)时清除此框。
    2. 集成名称 :集成的名称。
    3. Registry ID :registry 的 ID。
    4. 端点 :registry 的地址。选择 AssumeRole 选项时不启用此字段。
    5. region :registry 的区域,如 us-west-1
  5. 如果使用 IAM,请选择 Use Container IAM role。否则,清除 Use Container IAM 角色 框,并输入 Access key IDSecret access key
  6. 如果使用 AssumeRole 身份验证,请选择 Use AssumeRole,并输入以下字段的详情:

    1. AssumeRole ID: 要假定的角色 ID。
    2. AssumeRole External ID (可选):如果您使用 外部 ID 和 AssumeRole,您可以在这里输入它。
  7. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  8. 选择 Test 以测试与所选 registry 集成是否正常工作。
  9. 选择 Save
1.3.2.1. 将 assumerole 与 Amazon ECR 搭配使用

您可以使用 AssumeRole 授予对 AWS 资源的访问权限,而无需手动配置每个用户的权限。反之,您可以使用所需权限定义角色,并授予用户来假定角色的访问权限。AssumeRole 允许您授予、撤销或通常管理更精细的权限。

1.3.2.1.1. 使用容器 IAM 配置 AssumeRole

在通过 Red Hat Advanced Cluster Security for Kubernetes 使用 AssumeRole 之前,您必须首先对其进行配置。

流程

  1. 为您的 EKS 集群启用 IAM OIDC 供应商:

    $ eksctl utils associate-iam-oidc-provider --cluster <cluster name> --approve
    Copy to Clipboard Toggle word wrap
  2. 为您的 EKS 集群 创建一个 IAM 角色
  3. 将新创建的角色与服务帐户关联:

    $ kubectl -n stackrox annotate sa central eks.amazonaws.com/role-arn=arn:aws:iam::67890:role/<role-name>
    Copy to Clipboard Toggle word wrap
  4. 重启 Central 以应用更改。

    $ kubectl -n stackrox delete pod -l app=central
    Copy to Clipboard Toggle word wrap
  5. 将角色分配给允许角色根据需要假定另一个角色的策略:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": "sts:AssumeRole",
                "Resource": "arn:aws:iam::<ecr-registry>:role/<assumerole-readonly>" 
    1
    
            }
        ]
    }
    Copy to Clipboard Toggle word wrap
    1
    <assumerole-readonly > 替换为您要假定的角色。
  6. 更新您要假定的角色的信任关系:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": [
              "arn:aws:iam::<ecr-registry>:role/<role-name>" 
    1
    
            ]
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    Copy to Clipboard Toggle word wrap
    1
    & lt;role-name > 应与之前创建的新角色匹配。

要在没有容器 IAM 的情况下使用 AssumeRole,您必须使用一个 access 和一个 secret 密钥作为 带有编程访问的 AWS 用户进行身份验证

流程

  1. 根据 AssumeRole 用户是否与 ECR registry 或不同帐户位于同一个帐户中,您必须:

    • 如果要假定角色位于与 ECR registry 相同的帐户中,则创建具有所需权限的新角色。

      注意

      在创建角色时,您可以根据需要选择任何可信实体。但是,您必须在创建后修改它。

    • 或者,您必须提供权限来访问 ECR registry,如果用户处于与 ECR registry 不同的帐户,则需要定义其信任关系:

      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": "sts:AssumeRole",
                  "Resource": "arn:aws:iam::<ecr-registry>:role/<assumerole-readonly>" 
      1
      
              }
          ]
      }
      Copy to Clipboard Toggle word wrap
      1
      <assumerole-readonly > 替换为您要假定的角色。
  2. 通过在 Principal 字段中包含用户 ARN 来配置角色的信任关系:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": [
              "arn:aws:iam::<ecr-registry>:user/<role-name>"
            ]
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    Copy to Clipboard Toggle word wrap
1.3.2.1.3. 在 RHACS 中配置 AssumeRole

在 ECR 中配置 AssumeRole 后,您可以使用 AssumeRole 将 Red Hat Advanced Cluster Security for Kubernetes 与 Amazon Elastic Container Registry(ECR)集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Amazon ECR
  3. New Integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. Registry ID :registry 的 ID。
    3. region :registry 的区域,如 us-west-1
  5. 如果使用 IAM,请选择 Use container IAM role。否则,清除 Use custom IAM 角色 框,并输入 Access key IDSecret access key
  6. 如果使用 AssumeRole,请选择 Use AssumeRole,并输入以下字段的详情:

    1. AssumeRole ID: 要假定的角色 ID。
    2. AssumeRole External ID (可选):如果您使用 外部 ID 和 AssumeRole,您可以在这里输入它。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.3. 手动配置 Google Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Google Container Registry(GCR)集成。

先决条件

  • 您必须具有服务帐户密钥。
  • 关联的服务帐户必须有权访问 registry。如需有关授予用户和其他项目对 GCR 访问权限的信息,请参阅配置访问控制
  • 如果使用 GCR Container Analysis,还必须为服务帐户授予以下角色:

    • 容器分析注意事项查看器
    • 容器分析 Occurrences Viewer
    • 存储对象查看器

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分,选择 Google Container Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 键入: 选择 Registry
    3. 注册表端点 :registry 的地址。
    4. 项目 :Google Cloud 项目名称。
    5. 服务账户密钥(JSON) 您的服务帐户密钥进行身份验证。
  5. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  6. 选择 Test 以测试与所选 registry 集成是否正常工作。
  7. 选择 Save

1.3.4. 手动配置 Google Artifact Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Google Artifact Registry 集成。

先决条件

  • 您需要一个带有 Artifact Registry Reader Identity and Access Management(IAM)角色 roles/artifactregistry.reader 的服务帐户密钥。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Google Artifact Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. registry 端点 :registry 的地址。
    3. 项目 :Google Cloud 项目名称。
    4. 服务账户密钥(JSON) 您的服务帐户密钥进行身份验证。
  5. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  6. 选择 Test 以测试与所选 registry 集成是否正常工作。
  7. 选择 Save

1.3.5. 手动配置 Microsoft Azure Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Microsoft Azure Container Registry 集成。

先决条件

  • 您必须具有用户名和密码才能进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分,选择 Microsoft Azure Container Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. 用户名及密码 .
  5. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  6. 选择 Test 以测试与所选 registry 集成是否正常工作。
  7. 选择 Save

1.3.6. 手动配置 JFrog Artifactory

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 JFrog Artifactory 集成。

先决条件

  • 您必须有使用 JFrog Artifactory 进行身份验证的用户名和密码。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分,选择 JFrog Artifactory
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. 用户名及密码 .
  5. 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
  6. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.7. 手动配置 Docker 受信任的 registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Docker Trusted Registry 集成。

先决条件

  • 您必须具有用户名和密码才能使用 Docker Trusted Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Docker Trusted Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 键入: 选择 Registry
    3. 端点 :registry 的地址。
    4. 用户名及密码 .
  5. 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
  6. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.8. 手动配置 Quay Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Quay Container Registry 集成。

先决条件

  • 您必须具有 OAuth 令牌才能使用 Quay Container Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Red Hat Quay.io
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 键入: 选择 Registry
    3. 端点 :registry 的地址。
    4. OAuth 令牌
  5. 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
  6. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.9. 手动配置 IBM Cloud Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 IBM Cloud Container Registry 集成。

先决条件

  • 您必须有一个 API 密钥才能使用 IBM Cloud Container Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分,选择 IBM Cloud Container Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. API 密钥.
  5. 选择 Test 以测试与所选 registry 集成是否正常工作。
  6. 选择 Save

1.3.10. 手动配置 Red Hat Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Red Hat Container Registry 集成。

先决条件

  • 您必须具有用户名和密码才能使用 Red Hat Container Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分,选择 Red Hat Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. 用户名及密码 .
  5. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  6. 选择 Test 以测试与所选 registry 集成是否正常工作。
  7. 选择 Save

第 2 章 与 CI 系统集成

Red Hat Advanced Cluster Security for Kubernetes(RHACS)与各种持续集成(CI)产品集成,并允许您在部署镜像前应用构建时和部署时安全规则。

在镜像构建并推送到 registry 后,Red Hat Advanced Cluster Security for Kubernetes 集成到 CI 管道中。首先推送镜像,开发人员可以在处理任何策略违反情况时继续测试其工件,以及其它 CI 测试失败、Linter 违反情况或其他问题。

如果可能,您应该配置版本控制系统,以便在构建阶段(包括 Red Hat Advanced Cluster Security for Kubernetes 检查)时阻止拉取或合并请求。

通过联系 Red Hat Advanced Cluster Security for Kubernetes 安装,检查镜像是否遵循您配置的构建阶段策略,从而与您的 CI 产品功能集成。如果有策略违反情况,控制台日志中会显示更详细的信息,包括策略描述、比例和补救说明。每个策略都包括一个可选的强制设置;如果您为构建阶段执行标记策略,则该策略的故障会导致客户端以非零错误代码退出。

要将 Red Hat Advanced Cluster Security for Kubernetes 与 CI 系统集成,请按照以下步骤操作:

2.1. 配置构建策略

要在构建期间检查 Red Hat Advanced Cluster Security for Kubernetes 策略,您必须首先配置应用于容器生命周期的构建阶段的策略。然后,您必须与在构建期间推送到镜像的 registry 集成。

2.1.1. 检查现有的 build-phase 策略

使用 RHACS 门户检查您在 Red Hat Advanced Cluster Security for Kubernetes 中配置的任何现有的构建阶段策略。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 使用全局搜索来搜索 Lifecycle Stage:Build

2.1.2. 创建新系统策略

除了使用默认策略外,您还可以在 Red Hat Advanced Cluster Security for Kubernetes 中创建自定义策略。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 单击 + New Policy
  3. 输入策略的 Name
  4. 为策略选择严重性级别: Critical、High, Medium 或 Low。
  5. BuildDeployRuntime 中选择适用于策略的 Lifecycle Stage。您可以选择多个阶段。

    注意

    如果您创建了与 CI 系统集成的新策略,请选择 Build 作为生命周期阶段。

    • 构建时策略适用于镜像字段,如 CVE 和 Dockerfile 指令。
    • 部署时策略可包括所有构建时策略标准。它们也可以拥有集群配置中的数据,如以特权模式运行或挂载 Docker 守护进程套接字。
    • 运行时策略可以包括所有构建时和部署时策略标准,以及运行时进程执行的数据。
  6. DescriptionRationaleRemediation 字段中输入策略的信息。当 CI 验证构建时,会显示这些字段中的数据。因此,包括所有解释策略的信息。
  7. Categories 下拉菜单中选择一个类别。
  8. Notifications 下拉菜单中选择通知程序,以便在出现此策略违反时接收警报通知。

    注意

    您必须将 Red Hat Advanced Cluster Security for Kubernetes 与通知提供程序(如 webhook、JIRA 或 PagerDuty)集成,以接收警报通知。只有当您集成了任何带有 Red Hat Advanced Cluster Security for Kubernetes 的通知供应商时,通知程序才会显示。

  9. 使用 Restrict to Scope,只为特定集群、命名空间或标签启用此策略。您可以添加多个范围,并在 RE2 语法中为命名空间和标签使用正则表达式。
  10. 使用 Scope 排除部署、集群、命名空间和标签。此字段表示策略不会应用到您指定的实体。您可以添加多个范围,并在 RE2 语法中为命名空间和标签使用正则表达式。但是,您不能使用正则表达式来选择部署。
  11. 对于 排除的镜像(仅限Build Lifecycle),请从列表中选择您不想触发策略违反的所有镜像。

    注意

    排除的镜像(Build Lifecycle) 设置只在您在持续集成系统(构建生命周期阶段)检查镜像时应用。如果您使用此策略检查运行的部署( Deploy 生命周期阶段)或运行时活动(运行时生命周期阶段)时,它不会生效。

  12. Policy Criteria 部分中,配置将触发该策略的属性。
  13. 在面板头上选择 Next
  14. 新策略面板显示启用策略时会触发的违反情况。
  15. 在面板头上选择 Next
  16. 选择策略的强制行为。强制设置仅适用于您为 Lifecycle Stages 选项选择的各个阶段。选择 ON 强制执行策略并报告违反情况。选择 OFF 仅报告违反情况。

    注意

    各个生命周期阶段的行为都不同。

    • 对于 Build 阶段,当镜像与策略条件匹配时,Red Hat Advanced Cluster Security for Kubernetes 的构建会失败。
    • 对于 Deploy 阶段,Red Hat Advanced Cluster Security for Kubernetes 会阻止创建与策略条件匹配的部署。在进行准入控制器的集群中,Kubernetes 或 OpenShift Container Platform API 服务器会阻断所有不合规的部署。在其他集群中,Red Hat Advanced Cluster Security for Kubernetes 编辑不合规的部署,以防止调度 pod。
    • 对于 Runtime 阶段,Red Hat Advanced Cluster Security for Kubernetes 会停止所有与策略条件匹配的 pod。
    警告

    策略实施可能会影响正在运行的应用程序或开发过程。在启用强制选项前,请告知所有相关人员并计划如何响应自动化执行操作。

2.2. 配置 registry 集成

要扫描镜像,您必须提供 Red Hat Advanced Cluster Security for Kubernetes,并可访问您在构建管道中使用的镜像 registry。

2.2.1. 检查现有 registry 集成

您可以使用 RHACS 门户检查您是否已经与 registry 集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integration 部分,查找突出显示的 Registry 标题。另外,还包括已经为该标题配置的项目数量。

如果没有突出显示 Registry 标题,您必须首先与镜像 registry 集成。

2.3. 配置访问权限

Red Hat Advanced Cluster Security for Kubernetes 提供了一个命令行界面(CLI) roxctl,以便可以轻松地将 Red Hat Advanced Cluster Security for Kubernetes 策略集成到构建管道中。roxctl CLI 显示有关问题的详细信息以及如何修复它们,以便开发人员可以在容器生命周期的早期阶段维护高标准。

要安全地向 Red Hat Advanced Cluster Security for Kubernetes API 服务器进行身份验证,您必须创建一个 API 令牌。

2.3.1. 使用 roxctl CLI 进行身份验证

要进行身份验证,您可以使用身份验证令牌或管理员密码。红帽建议在生产环境中使用身份验证令牌,因为每个令牌被分配了特定的访问控制权限。

使用以下步骤生成身份验证令牌。

流程

  1. 进入 RHACS 门户。
  2. 进入 Platform ConfigurationIntegrations
  3. 向下滚动到 Authentication Tokens 类别,然后单击 API Token
  4. Generate Token
  5. 为令牌输入一个名称,再选择提供所需访问级别的角色(例如,持续集成或 Sensor Creator )。
  6. Generate

    重要

    复制生成的令牌,并安全地存储它。您将无法再次查看它。

注意

生成身份验证令牌后,将其导出为 ROX_API_TOKEN 变量:

$ export ROX_API_TOKEN=<api_token>
Copy to Clipboard Toggle word wrap

您还可以将令牌保存到文件中,并将它与 --token-file 选项一起使用。例如:

$ roxctl central debug dump --token-file <token_file>
Copy to Clipboard Toggle word wrap
  • 您不能同时使用 -password (-p)和 --token-file 选项。
  • 如果您已设置了 ROX_API_TOKEN 变量,并指定 --token-file 选项,roxctl CLI 使用指定的令牌文件进行身份验证。
  • 如果您已设置了 ROX_API_TOKEN 变量,并指定 --password 选项,roxctl CLI 使用指定的密码进行身份验证。

2.3.2. 通过下载二进制文件安装 roxctl CLI

您可以安装 roxctl CLI 来使用命令行界面与 Red Hat Advanced Cluster Security for Kubernetes 进行交互。您可以在 Linux、Windows 或 macOS 上安装 roxctl

2.3.2.1. 在 Linux 中安装 roxctl CLI

您可以按照以下流程在 Linux 上安装 roxctl CLI 二进制文件。

流程

  1. 下载 roxctl CLI 的最新版本:

    $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Linux/roxctl
    Copy to Clipboard Toggle word wrap
  2. 使 roxctl 二进制文件可执行:

    $ chmod +x roxctl
    Copy to Clipboard Toggle word wrap
  3. roxctl 二进制文件放到 PATH 中的目录中:

    要查看您的 PATH,请执行以下命令:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

验证

  • 验证您已安装的 roxctl 版本:

    $ roxctl version
    Copy to Clipboard Toggle word wrap
2.3.2.2. 在 macOS 上安装 roxctl CLI

您可以按照以下流程在 macOS 中安装 roxctl CLI 二进制文件。

流程

  1. 下载 roxctl CLI 的最新版本:

    $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Darwin/roxctl
    Copy to Clipboard Toggle word wrap
  2. 从二进制文件中删除所有扩展属性:

    $ xattr -c roxctl
    Copy to Clipboard Toggle word wrap
  3. 使 roxctl 二进制文件可执行:

    $ chmod +x roxctl
    Copy to Clipboard Toggle word wrap
  4. roxctl 二进制文件放到 PATH 中的目录中:

    要查看您的 PATH,请执行以下命令:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

验证

  • 验证您已安装的 roxctl 版本:

    $ roxctl version
    Copy to Clipboard Toggle word wrap
2.3.2.3. 在 Windows 上安装 roxctl CLI

您可以按照以下流程在 Windows 上安装 roxctl CLI 二进制文件。

流程

  • 下载 roxctl CLI 的最新版本:

    $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Windows/roxctl.exe
    Copy to Clipboard Toggle word wrap

验证

  • 验证您已安装的 roxctl 版本:

    $ roxctl version
    Copy to Clipboard Toggle word wrap

2.3.3. 从容器运行 roxctl CLI

roxctl 客户端是 Red Hat Advanced Cluster Security for Kubernetes roxctl 镜像的默认入口点。在容器镜像中运行 roxctl 客户端:

流程

  1. 登录到 registry.redhat.io registry。

    $ docker login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. 拉取 roxctl CLI 的最新容器镜像。

    $ docker pull registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.70.2
    Copy to Clipboard Toggle word wrap

安装 CLI 后,您可以使用以下命令运行它:

$ docker run -e ROX_API_TOKEN=$ROX_API_TOKEN \
  -it registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.70.2 \
  -e $ROX_CENTRAL_ADDRESS <command>
Copy to Clipboard Toggle word wrap

验证

  • 验证您已安装的 roxctl 版本。

    $ docker run -it registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.70.2 version
    Copy to Clipboard Toggle word wrap

2.4. 与 CI 管道集成

完成这些步骤后,下一步是与您的 CI 管道集成。

每个 CI 系统可能需要稍有不同的配置。

2.4.1. 使用 Jenkins

使用 StackRox 容器镜像 Scanner Jenkins 插件与 Jenkins 集成。您可以在 Jenkins 自由风格项目和管道中使用此插件。

2.4.2. 使用 CircleCI

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 CircleCI 集成。

Prerequisetes

  • 您有一个具有 Image 资源的读写权限 的令牌。
  • 您有 Docker Hub 帐户的用户名和密码。

流程

  1. 登录 CircleCI 并打开现有项目或创建新项目。
  2. 单击 Project Settings
  3. 环境变量
  4. Add 变量,创建以下三个环境变量:

    • 名称STACKROX_CENTRAL_HOST - Central 的 DNS 名称或 IP 地址。
    • 名称ROX_API_TOKEN - 访问 Red Hat Advanced Cluster Security for Kubernetes 的 API 令牌。
    • 名称DOCKERHUB_PASSWORD - Docker Hub 帐户的密码。
    • 名称DOCKERHUB_USER - Docker Hub 帐户的用户名。
  5. 在所选项目的本地代码存储库的根目录下创建名为 .circleci 的目录,如果您还没有 CircleCI 配置文件。
  6. .circleci 目录中创建一个带有以下行的 config.yml 配置文件:

    version: 2
    jobs:
      check-policy-compliance:
        docker:
          - image: 'circleci/node:latest'
            auth:
              username: $DOCKERHUB_USER
              password: $DOCKERHUB_PASSWORD
        steps:
          - checkout
          - run:
              name: Install roxctl
              command: |
                  curl -H "Authorization: Bearer $ROX_API_TOKEN" https://$STACKROX_CENTRAL_HOST:443/api/cli/download/roxctl-linux -o roxctl && chmod +x ./roxctl
          - run:
              name: Scan images for policy deviations and vulnerabilities
              command: |
                  ./roxctl image check --endpoint "$STACKROX_CENTRAL_HOST:443" --image "<your_registry/repo/image_name>" 
    1
    
          - run:
              name: Scan deployment files for policy deviations
              command: |
                  ./roxctl image check --endpoint "$STACKROX_CENTRAL_HOST:443" --image "<your_deployment_file>" 
    2
    
                  # Important note: This step assumes the YAML file you'd like to test is located in the project.
    workflows:
      version: 2
      build_and_test:
        jobs:
          - check-policy-compliance
    Copy to Clipboard Toggle word wrap
    1
    <your_registry/repo/image_name& gt; 替换为您的 registry 和镜像路径。
    2
    <your_deployment_file > 替换为部署文件的路径。
    注意

    如果您在存储库中已有 CircleCI 的 config.yml 文件,请在现有配置文件中添加一个带有指定详情的新作业部分。

  7. 将配置文件提交到存储库后,导航到 CircleCI 仪表板中的 Jobs 队列,以验证构建策略的执行。

第 3 章 与 PagerDuty 集成

如果使用 PagerDuty,您可以将 Red Hat Advanced Cluster Security for Kubernetes 的警报转发到 PagerDuty。

以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 PagerDuty 集成的高级工作流:

  1. 在 PagerDuty 中添加新的 API 服务,并获取集成密钥。
  2. 使用集成密钥在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。
  3. 识别您要发送通知的策略,并更新这些策略的通知设置。

3.1. 配置 PagerDuty

通过创建新服务并获取集成密钥,开始与 PagerDuty 集成。

流程

  1. 导航到 ConfigurationServices
  2. 选择 Add Services
  3. General Settings 下,指定 NameDescription
  4. Integration Setting 下,点 直接通过为 Integration Type 下拉菜单选择 Events v2 API 的 Use our API。
  5. Incident Settings 下,选择 升级策略 并配置通知设置和事件超时。
  6. 接受 事件发现行为Alert Grouping 的默认设置,或者根据需要配置它们。
  7. Add Service
  8. Service Details 页面中,记录 Integration Key

使用集成密钥在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 Notifier Integrations 部分,然后选择 PagerDuty
  3. New Integration添加 图标)。
  4. 输入 Integration Name 的名称。
  5. PagerDuty 集成密钥字段中输入集成密钥
  6. Test勾选标记 图标)验证与 PagerDuty 集成是否正常工作。
  7. Create (save icon)创建配置。

3.3. 配置策略通知

为系统策略启用警报通知。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 选择您要为其发送警报的一个或多个策略。
  3. Bulk actions 下,选择 Enable notification
  4. Enable notification 窗口中,选择 PagerDuty notifier。

    注意

    如果您还没有配置任何其他集成,系统会显示一个没有配置通知的消息。

  5. 单击 启用
注意
  • Red Hat Advanced Cluster Security for Kubernetes 根据选择发送通知。要接收通知,您必须首先为策略分配通知程序。
  • 通知仅针对给定警报发送一次。如果您已将通知程序分配给策略,则不会收到通知,除非违反情况生成新警报。
  • Red Hat Advanced Cluster Security for Kubernetes 在以下情况下创建新警报:

    • 首次在部署中发生策略违反情况。
    • 在解决了之前部署的策略警报后,在部署后出现运行时策略违反情况。

第 4 章 与 Slack 集成

如果使用 Slack,您可以将 Red Hat Advanced Cluster Security for Kubernetes 的警报转发到 Slack。

以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 Slack 集成的高级工作流:

  1. 创建一个新的 Slack app,启用传入的 Webhook,并获取 Webhook URL。
  2. 使用 webhook URL 将 Slack 与 Red Hat Advanced Cluster Security for Kubernetes 集成。
  3. 识别您要发送通知的策略,并更新这些策略的通知设置。

4.1. 配置 Slack

首先创建一个新的 Slack app,并获取 Webhook URL。

先决条件

  1. 您需要具有管理员帐户或有权创建 webhook 的用户帐户。

流程

  1. 创建新的 Slack app:

    注意

    如果要使用现有的 Slack 应用程序,请转至 https://api.slack.com/apps 并选择 app。

    1. 导航到 https://api.slack.com/apps/new
    2. 输入 App Name 并选择 Development Slack Workspace 以安装您的应用程序。
    3. Create App
  2. 在设置页面中,选择 Basic Information 部分,选择 Incoming Webhooks在添加特性和功能下)。
  3. 打开 激活的 Webhooks 切换。
  4. 选择 Add New Webhook to Workspace
  5. 选择一个 应用程序要发布的频道,然后选择 Authorize。页面刷新并将您发回到应用设置页面。
  6. 复制位于您的 Workspace 的 Webhook URL 部分中的 Webhook URL。

如需了解更多详细信息,请参阅 Slack 文档主题,了解如何采用 Webhook

4.1.1. 将警报发送到不同的 Slack 频道

您可以将 Red Hat Advanced Cluster Security for Kubernetes 配置为向不同的 Slack 频道发送通知,以便它们直接进入正确的团队。

流程

  1. 配置传入的 webhook 后,在部署 YAML 文件中添加类似如下的注解:

    example.com/slack-webhook: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
    Copy to Clipboard Toggle word wrap
  2. 当您为 Kubernetes 配置 Red Hat Advanced Cluster Security 时,使用 Label/Annotation Key for Slack Webhook 字段中的注解键 example.com/slack-webhook

完成配置后,如果部署具有您在 YAML 文件中配置的注解,Red Hat Advanced Cluster Security for Kubernetes 会将警报发送到您为该注解指定的 webhook URL。否则,它会将警报发送到默认的 webhook URL。

使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 Notifier Integrations 部分,然后选择 Slack
  3. New Integration添加 图标)。
  4. 输入 Integration Name 的名称。
  5. Default Slack Webhook 字段中输入生成的 Webhook URL。
  6. 选择 Test选中标记 图标)来测试与 Slack 集成是否正常工作。
  7. 选择 Create (save icon)来创建配置。

4.3. 配置策略通知

为系统策略启用警报通知。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 选择您要为其发送警报的一个或多个策略。
  3. Bulk actions 下,选择 Enable notification
  4. Enable 通知 窗口中,选择 Slack notifier。

    注意

    如果您还没有配置任何其他集成,系统会显示一个没有配置通知的消息。

  5. 单击 启用
注意
  • Red Hat Advanced Cluster Security for Kubernetes 根据选择发送通知。要接收通知,您必须首先为策略分配通知程序。
  • 通知仅针对给定警报发送一次。如果您已将通知程序分配给策略,则不会收到通知,除非违反情况生成新警报。
  • Red Hat Advanced Cluster Security for Kubernetes 在以下情况下创建新警报:

    • 首次在部署中发生策略违反情况。
    • 在解决了之前部署的策略警报后,在部署后出现运行时策略违反情况。

第 5 章 使用通用 Webhook 集成

使用 Red Hat Advanced Cluster Security for Kubernetes,您可以将警报通知作为 JSON 消息发送到任何 webhook 接收器。发生冲突时,Red Hat Advanced Cluster Security for Kubernetes 在配置的 URL 上发出 HTTP POST 请求。POST 请求正文包含关于警报的 JSON 格式信息。

Webhook POST 请求的 JSON 数据包括 v1.Alert 对象和您配置的任何自定义字段,如下例所示:

{
  "alert": {
    "id": "<id>",
    "time": "<timestamp>",
    "policy": {
      "name": "<name>",
      ...
    },
    ...
  },
  "<custom_field_1>": "<custom_value_1>"
}
Copy to Clipboard Toggle word wrap

您可以创建多个 webhook。例如,您可以创建一个 webhook 来接收所有审计日志,并为警报通知创建一个 Webhook。

将 Red Hat Advanced Cluster Security for Kubernetes 的警报转发到任何 Webhook 接收器:

  1. 设置 webhook URL 以接收警报。
  2. 使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。
  3. 识别您要发送通知的策略,并更新这些策略的通知设置。

使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 Notifier Integrations 部分,再选择 Generic Webhook
  3. 单击 New integration
  4. 输入 Integration name 的名称。
  5. Endpoint 字段中输入 webhook URL。
  6. 如果您的 webhook 接收器使用不可信证书,在 CA 证书字段中输入 CA 证书。否则,请将其留空。

    注意

    webhook 接收器使用的服务器证书必须在端点 DNS 名称中有效。您可以点击 Skip TLS 验证 来忽略这个验证。红帽不推荐关闭 TLS 验证。如果没有 TLS 验证,数据可以被意外的接收者拦截。

  7. 可选:点 Enable audit logging 接收有关 Red Hat Advanced Cluster Security for Kubernetes 中所有更改的警报。

    注意

    红帽建议将单独的 Webhook 用于警报和审计日志,以不同的方式处理这些消息。

  8. 要使用 Webhook 接收器进行身份验证,请输入以下其中之一的详情:

    • 用于基本 HTTP 验证的用户名和密码
    • custom Header,如 Authorization: Bearer <access_token>
  9. 使用 Extra 字段在 Red Hat Advanced Cluster Security for Kubernetes 发送的 JSON 对象中包含额外的键值对。例如,如果您的 webhook 接收器接受来自多个源的对象,您可以将 "source": "rhacs" 添加为额外字段并过滤这个值来标识 Red Hat Advanced Cluster Security for Kubernetes 的所有警报。
  10. 选择 Test 来发送测试消息,以验证与通用 Webhook 集成是否正常工作。
  11. 选择 Save 以创建配置。

5.2. 配置策略通知

为系统策略启用警报通知。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 选择您要为其发送警报的一个或多个策略。
  3. Bulk actions 下,选择 Enable notification
  4. Enable notification 窗口中,选择 Webhook 通知程序。

    注意

    如果您还没有配置任何其他集成,系统会显示一个没有配置通知的消息。

  5. 单击 启用
注意
  • Red Hat Advanced Cluster Security for Kubernetes 根据选择发送通知。要接收通知,您必须首先为策略分配通知程序。
  • 通知仅针对给定警报发送一次。如果您已将通知程序分配给策略,则不会收到通知,除非违反情况生成新警报。
  • Red Hat Advanced Cluster Security for Kubernetes 在以下情况下创建新警报:

    • 首次在部署中发生策略违反情况。
    • 在解决了之前部署的策略警报后,在部署后出现运行时策略违反情况。

第 6 章 与 Sumo Logic 集成

如果您使用 Sumo Logic,您可以将 Red Hat Advanced Cluster Security for Kubernetes 的警报转发到 Sumo Logic。

以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 Sumo Logic 集成的高级工作流:

  1. 在 Sumo Logic 中添加一个新的 Custom App,设置 HTTP 源,并获取 HTTP URL。
  2. 使用 HTTP URL 将 Sumo Logic 与 Red Hat Advanced Cluster Security for Kubernetes 集成。
  3. 识别您要发送通知的策略,并更新这些策略的通知设置。

6.1. 配置 Sumo Logic

使用 设置向导 设置 流数据 并获取 HTTP URL。

流程

  1. 登录到您的 Sumo Logic Home 页面,然后选择 Setup Wizard
  2. 将光标移到,以设置流数据 并选择 开始使用
  3. 在 Select Data Type 页面中,选择 Your Custom App
  4. 在 Set Up Collection 页面上,选择 HTTP Source
  5. 输入 Source Category 的名称,如 rhacs,然后单击 Continue
  6. 复制 生成的 URL。

使用 HTTP URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 Notifier Integrations 部分,然后选择 Sumo Logic
  3. New Integration添加 图标)。
  4. 输入 Integration Name 的名称。
  5. HTTP Collector Source Address 字段中输入生成的 HTTP URL。
  6. Testcheckmark 图标)来测试与 Sumo Logic 集成是否正常工作。
  7. Create (save icon)创建配置。

6.3. 配置策略通知

为系统策略启用警报通知。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 选择您要为其发送警报的一个或多个策略。
  3. Bulk actions 下,选择 Enable notification
  4. Enable notification 窗口中,选择 Sumo Logic notifier。

    注意

    如果您还没有配置任何其他集成,系统会显示一个没有配置通知的消息。

  5. 单击 启用
注意
  • Red Hat Advanced Cluster Security for Kubernetes 根据选择发送通知。要接收通知,您必须首先为策略分配通知程序。
  • 通知仅针对给定警报发送一次。如果您已将通知程序分配给策略,则不会收到通知,除非违反情况生成新警报。
  • Red Hat Advanced Cluster Security for Kubernetes 在以下情况下创建新警报:

    • 首次在部署中发生策略违反情况。
    • 在解决了之前部署的策略警报后,在部署后出现运行时策略违反情况。

6.4. 查看 Sumo Logic 中的警报

您可以在 Sumo Logic 中查看来自 Red Hat Advanced Cluster Security for Kubernetes 的警报。

  1. 登录到您的 Sumo Logic Home 页面,然后点击 Log Search
  2. 在搜索框中,输入 _sourceCategory=rhacs。确保在使用配置 Sumo Logic 时输入的相同 类别名称。
  3. 选择 时间,然后单击 Start

第 7 章 与 Google Cloud Storage 集成

您可以与 Google Cloud Storage(GCS) 集成以启用数据备份。您可以在基础架构灾难或损坏数据时使用这些备份进行数据恢复。与 GCS 集成后,您可以调度每天或每周备份,并手动进行按需备份。

备份包括 Red Hat Advanced Cluster Security for Kubernetes 整个数据库,其中包括所有配置、资源、事件和证书。确保备份安全存储。

注意

如果您使用 Red Hat Advanced Cluster Security for Kubernetes 版本 3.0.53 或更早版本,则备份不包括证书。

要在 Google Cloud Storage(GCS)上配置数据备份,请在 Red Hat Advanced Cluster Security for Kubernetes 中创建集成。

先决条件

注意

目前,Red Hat Advanced Cluster Security for Kubernetes 不支持使用 Workload Identity 对 GCS 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 External 备份 部分,然后选择 Google Cloud Storage
  3. New Integration添加 图标)。
  4. 输入 Integration Name 的名称。
  5. Backups To Retain 框中输入要保留的备份数目。
  6. Schedule 中,选择备份频率(daily 或 weekly)和运行备份过程的时间。
  7. 输入您要存储备份的 Bucket 名称。
  8. Service Account JSON 字段中输入服务帐户密钥文件的内容。
  9. 选择 Test选中标记 图标)以确认与 GCS 集成正常工作。
  10. 选择 Create (save icon)来创建配置。

配置后,Red Hat Advanced Cluster Security for Kubernetes 根据指定的计划自动备份所有数据。

7.1.1. 在 Google Cloud Storage 上执行按需备份

使用 RHACS 门户触发在 Google Cloud Storage 上手动备份 Red Hat Advanced Cluster Security for Kubernetes。

先决条件

  • 您必须已经将 Red Hat Advanced Cluster Security for Kubernetes 与 Google Cloud Storage 集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. External backup 部分下,点 Google Cloud Storage
  3. 选择您要进行备份的 GCS 存储桶的集成名称。
  4. Trigger Backup
注意

目前,当您选择 Trigger Backup 选项时,没有通知。但是,Red Hat Advanced Cluster Security for Kubernetes 会在后台开始备份任务。

第 8 章 使用 syslog 协议集成

syslog 是一个事件日志协议,应用程序用来将信息发送到中央位置,如 SIEM 或 syslog 收集器,用于数据保留和安全调查。使用 Red Hat Advanced Cluster Security for Kubernetes,您可以使用 syslog 协议发送警报和审计事件。

注意
  • 使用 syslog 协议转发事件需要 Red Hat Advanced Cluster Security for Kubernetes 版本 3.0.52 或更新版本。
  • 当您使用 syslog 集成时,Red Hat Advanced Cluster Security for Kubernetes 会转发您配置和所有审计事件的违反警报。
  • 目前,Red Hat Advanced Cluster Security for Kubernetes 仅支持 CEF (通用事件格式)。

以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 syslog 事件接收器集成的高级工作流:

  1. 设置 syslog 事件接收器以接收警报。
  2. 使用接收器的地址和端口号在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。

配置后,Red Hat Advanced Cluster Security for Kubernetes 会自动将所有违反和审计事件发送到配置的 syslog 接收器。

在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新的 syslog 集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 Notifier Integrations 部分,然后选择 Syslog
  3. New Integration (添加图标)。
  4. 输入 Integration Name 的名称。
  5. 通过 local0 到 local7,从 local0 选择 Logging Facility 值。
  6. 输入您的 接收主机地址接收器端口号
  7. 如果使用 TLS,请打开 Use TLS 切换。
  8. 如果您的 syslog 接收器使用不受信任的证书,请打开 Disable TLS Certificate Validation(Insecure) 切换。否则,请退出。
  9. 选择 Test勾选标记 图标)来发送测试信息,以验证与通用 Webhook 集成是否正常工作。
  10. 选择 Create (save icon)来创建配置。

第 9 章 与 Amazon S3 集成

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Amazon S3 集成,以启用数据备份。您可以在基础架构灾难或损坏数据时使用这些备份进行数据恢复。与 Amazon S3 集成后,您可以每天或每周备份调度并手动进行备份。

备份包括整个 Red Hat Advanced Cluster Security for Kubernetes 数据库,其中包括所有配置、资源、事件和证书。确保备份安全存储。

重要
  • 如果您使用 Red Hat Advanced Cluster Security for Kubernetes 版本 3.0.53 或更早版本,则备份不包括证书。
  • 如果您的 Amazon S3 是 air-gapped 环境的一部分,您必须将 AWS root CA 添加为 Red Hat Advanced Cluster Security for Kubernetes 中的 可信证书颁发机构

要配置 Amazon S3 备份,请在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。

先决条件

  • 现有 S3 Bucket。要创建具有所需权限的新存储桶,请参阅 Amazon 文档 创建存储桶
  • S3 存储桶的读取、写入 和删除 权限、访问密钥 IDSecret 访问密钥
  • 如果您使用 KIAMkube2iam 或其他代理,则 具有读取写入 和删除 权限的 IAM 角色

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 External 备份 部分,然后选择 Amazon S3
  3. New Integration添加 图标)。
  4. 输入 Integration Name 的名称。
  5. Backups To Retain 框中输入要保留的备份数目。
  6. 对于 Schedule,将备份频率设置为每日或每周,并运行备份过程。
  7. 输入您要存储备份的 Bucket 名称。
  8. (可选)如果要将备份保存在特定文件夹结构中,输入 对象前缀。如需了解更多详细信息,请参阅 Amazon 文档主题 使用对象元数据
  9. 如果您使用非公共 S3 实例,请输入存储桶的 Endpoint,否则将其留空。
  10. 输入 存储桶 的区域。
  11. 打开 Use Container IAM Role 切换或输入 Access Key IDSecret Access Key
  12. 选择 Test选中标记 图标)以确认与 Amazon S3 集成正常工作。
  13. 选择 Create (save icon)来创建配置。

配置后,Red Hat Advanced Cluster Security for Kubernetes 根据指定的计划自动备份所有数据。

9.2. 在 Amazon S3 上执行按需备份

使用 RHACS 门户触发在 Amazon S3 上手动备份 Red Hat Advanced Cluster Security for Kubernetes。

先决条件

  • 您必须已将 Red Hat Advanced Cluster Security for Kubernetes 与 Amazon S3 集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. External backup 部分下,单击 Amazon S3
  3. 选择您要进行备份的 S3 存储桶的集成名称。
  4. Trigger Backup
注意

目前,当您选择 Trigger Backup 选项时,没有通知。但是,Red Hat Advanced Cluster Security for Kubernetes 会在后台开始备份任务。

如果使用 Google Cloud Security Command Center (Cloud SCC),您可以将警报从 Red Hat Advanced Cluster Security for Kubernetes 转发到 Cloud SCC。本指南介绍了如何将 Red Hat Advanced Cluster Security for Kubernetes 与 Cloud SCC 集成。

以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 Cloud SCC 集成的高级工作流。

  1. 在 Google Cloud 中注册新的安全源。
  2. 为 Red Hat Advanced Cluster Security for Kubernetes 提供源 ID 和服务帐户密钥。
  3. 识别您要发送通知的策略,并更新这些策略的通知设置。

10.1. 配置 Google Cloud SCC

首先,将 Red Hat Advanced Cluster Security for Kubernetes 添加为可信 Cloud SCC 源。

流程

  1. 按照 Cloud Security Command Center 指南中的 Adding 漏洞和威胁源,并将 Red Hat Advanced Cluster Security for Kubernetes 添加为可信 Cloud SCC 源。记录 Google Cloud 为 Red Hat Advanced Cluster Security for Kubernetes 集成创建的源 ID。如果您在注册后没有看到源 ID,您可以在 Cloud SCC Security Sources 页面中找到它
  2. 为您创建的服务帐户或您在上一步中使用的现有帐户创建密钥。详情请参阅 Google Cloud 的指南,以 创建和管理服务帐户密钥

使用 Source ID服务帐户密钥 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新的 Google Cloud SCC 集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 Notifier Integrations 部分,然后选择 Google Cloud SCC
  3. New Integration添加 图标)。
  4. 输入 Integration Name 的名称。
  5. 输入 Cloud SCC Source ID 和服务帐户密钥(JSON)
  6. 选择 Create (save icon)来创建配置。

10.3. 配置策略通知

为系统策略启用警报通知。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 选择您要为其发送警报的一个或多个策略。
  3. Bulk actions 下,选择 Enable notification
  4. Enable notification 窗口中,选择 Google Cloud SCC 通知程序。

    注意

    如果您还没有配置任何其他集成,系统会显示一个没有配置通知的消息。

  5. 单击 启用
注意
  • Red Hat Advanced Cluster Security for Kubernetes 根据选择发送通知。要接收通知,您必须首先为策略分配通知程序。
  • 通知仅针对给定警报发送一次。如果您已将通知程序分配给策略,则不会收到通知,除非违反情况生成新警报。
  • Red Hat Advanced Cluster Security for Kubernetes 在以下情况下创建新警报:

    • 首次在部署中发生策略违反情况。
    • 在解决了之前部署的策略警报后,在部署后出现运行时策略违反情况。

第 11 章 与 Splunk 集成

如果您使用 Splunk,您可以将 Red Hat Advanced Cluster Security for Kubernetes 的警报转发到 Splunk,并从 Splunk 内查看漏洞和合规性相关数据。

根据您的用例,您可以使用以下方法将 Red Hat Advanced Cluster Security for Kubernetes 与 Splunk 集成:

您可以使用其中一项或两个集成选项将 Red Hat Advanced Cluster Security for Kubernetes 与 Splunk 集成。

11.1. 使用 HTTP 事件收集器

您可以使用 HTTP 事件收集器将 Red Hat Advanced Cluster Security for Kubernetes 的警报转发到 Splunk。

要使用 HTTP 事件收集器将 Red Hat Advanced Cluster Security for Kubernetes 与 Splunk 集成,请按照以下步骤操作:

  1. 在 Splunk 中添加新的 HTTP 事件收集器,并获取令牌值。
  2. 使用令牌值在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。
  3. 识别您要发送通知的策略,并更新这些策略的通知设置。

11.1.1. 在 Splunk 中添加 HTTP 事件收集器

为您的 Splunk 实例添加新的 HTTP 事件收集器,并获取令牌。

流程

  1. 在 Splunk 仪表板中,导航到 SettingsAdd Data
  2. Monitor
  3. Add Data 页面中,点 HTTP Event Collector
  4. 为事件收集器输入 Name,然后点 Next >
  5. 接受默认 Input Settings 并点 Review >
  6. 查看事件收集器属性并点击 Submit >
  7. 复制事件 收集器的 Token 值。您需要此令牌值在 Red Hat Advanced Cluster Security for Kubernetes 中配置与 Splunk 集成。
11.1.1.1. 启用 HTTP 事件收集器

您必须启用 HTTP 事件收集器令牌,然后才能接收事件。

流程

  1. 在 Splunk 仪表板中,导航到 SettingsData inputs
  2. HTTP Event Collector
  3. Global Settings
  4. 在打开的对话框中,单击 Enabled,然后单击 Save

使用令牌值在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新的 Splunk 集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 Notifier Integrations 部分,然后选择 Splunk
  3. New Integration添加 图标)。
  4. 输入 Integration Name 的名称。
  5. HTTP 事件收集器 URL 字段中输入您的 Splunk URL。如果端口号不是 HTTPS,或者 80 代表 HTTP,则必须指定端口号。您还必须在 URL 末尾添加 URL 路径 /services/collector/event。例如: https://<splunk-server-path>:8088/services/collector/event
  6. HTTP Event Collector Token 字段中输入您的令牌。

    注意

    如果您使用 Red Hat Advanced Cluster Security for Kubernetes 版本 3.0.57 或更新版本,您可以为 Alert 事件指定自定义 Source Type,为 Audit 事件指定 Source Type

  7. 选择 Testcheckmark 图标)以发送测试消息,以验证与 Splunk 集成是否正常工作。
  8. 选择 Create (save icon)来创建配置。

11.1.3. 配置策略通知

为系统策略启用警报通知。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 选择您要为其发送警报的一个或多个策略。
  3. Bulk actions 下,选择 Enable notification
  4. Enable notification 窗口中,选择 Splunk notifier。

    注意

    如果您还没有配置任何其他集成,系统会显示一个没有配置通知的消息。

  5. 单击 启用
注意
  • Red Hat Advanced Cluster Security for Kubernetes 根据选择发送通知。要接收通知,您必须首先为策略分配通知程序。
  • 通知仅针对给定警报发送一次。如果您已将通知程序分配给策略,则不会收到通知,除非违反情况生成新警报。
  • Red Hat Advanced Cluster Security for Kubernetes 在以下情况下创建新警报:

    • 首次在部署中发生策略违反情况。
    • 在解决了之前部署的策略警报后,在部署后出现运行时策略违反情况。

11.2. 使用 StackRox Kubernetes 安全平台附加组件

您可以使用 StackRox Kubernetes 安全平台附加组件将漏洞检测和合规性相关数据从 Red Hat Advanced Cluster Security for Kubernetes 转发到 Splunk。

首先生成带有 Red Hat Advanced Cluster Security for Kubernetes 中所有资源的 API 令牌,然后使用该令牌安装和配置附加组件。

11.2.1. 安装和配置 Splunk 附加组件

您可以从 Splunk 实例安装 StackRox Kubernetes 安全平台附加组件。

先决条件

  • 您必须具有一个 API 令牌,并且具有对 Red Hat Advanced Cluster Security for Kubernetes 的所有资源的 读取权限。您可以分配 analysts 系统角色授予此级别访问权限。analysts 角色具有所有资源的读取权限。

流程

  1. Splunkbase 下载 StackRox Kubernetes 安全平台附加组件。
  2. 导航到 Splunk 实例上的 Splunk 主页。
  3. 导航到 AppsManage Apps
  4. 从文件 中选择 Install app
  5. Upload app 弹出框中,选择 Choose File 并选择 StackRox Kubernetes Security Platform add-on 文件。
  6. Upload
  7. 单击 Restart Splunk 并确认重启。
  8. 在 Splunk 重启后,从 Apps 菜单中选择 StackRox
  9. 单击 Create New Input
  10. 选择 StackRox Compliance,以拉取合规数据或 StackRox 漏洞管理,从而将漏洞数据拉取到 Splunk 中。
  11. 输入 Name 作为输入。
  12. 选择 Interval 从 Red Hat Advanced Cluster Security for Kubernetes 中提取数据。例如,每 14400 秒。
  13. 选择您要发送数据的 Splunk Index
  14. 对于中央端点,请输入 IP 地址或您的中央实例的名称。
  15. 输入您为附加组件生成的 API 令牌
  16. 点击 Add

第 12 章 与镜像漏洞策略集成

Red Hat Advanced Cluster Security for Kubernetes(RHACS)与各种漏洞扫描程序集成,以便您导入容器镜像并监控它们是否存在漏洞。您可以设置 Red Hat Advanced Cluster Security for Kubernetes 以从许多开源和商业容器镜像漏洞扫描程序中获取安全漏洞数据,包括:

如果您在 DevOps 工作流中使用这些产品之一,您可以使用 RHACS 门户配置与 Red Hat Advanced Cluster Security for Kubernetes 的连接。集成后,您的镜像漏洞会包括在 RHACS 门户中,您可以轻松推断它们。

12.1. 与 Anchore scanner 集成

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Anchore 扫描程序集成。

先决条件

  • 您有一个 Anchore scanner 用户名和密码用于身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Anchore Scanner。此时会打开 Configure Anchore scanner 镜像集成 模态框。
  3. New Integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 类型 :选择扫描
    3. 端点 :扫描程序的地址。
    4. 用户名及密码 .
  5. 选择 Test选中标记 图标)以测试该集成是否正常工作。
  6. 选择 Create (save icon)来创建配置。

12.2. 与 Clair 集成

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Clair 集成,以静态分析您的镜像中的漏洞。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Clair。此时会打开 Configure Anchore scanner 镜像集成 模态框。
  3. New Integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 类型 :选择扫描
    3. 端点 :扫描程序的地址。
  5. 选择 Test选中标记 图标)以测试该集成是否正常工作。
  6. 选择 Create (save icon)来创建配置。

12.3. 与 Docker Trusted Registry 扫描程序集成

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Docker Trusted Registry 集成以扫描镜像。

先决条件

  • 您必须具有用户名和密码才能使用 Docker Trusted Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Docker Trusted Registry

    此时会打开 Configure image integration modal。

  3. New Integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 类型 :选择扫描
    3. 端点 :registry 的地址。
    4. 用户名及密码 .
  5. 选择 Test选中标记 图标)来测试与所选 registry 集成是否正常工作。
  6. 选择 Create (save icon)来创建配置。

12.4. 与 Google Container Registry 集成

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Google Container Registry(GCR)集成,以进行容器分析和漏洞扫描。

先决条件

  • 必须具有 Google Container Registry 的服务帐户密钥。
  • 关联的服务帐户有权访问 registry。如需有关授予用户和其他项目对 GCR 访问权限的信息,请参阅配置访问控制
  • 如果使用 GCR Container Analysis,您已将以下角色授予服务帐户:

    • 容器分析注意事项查看器
    • 容器分析 Occurrences Viewer
    • 存储对象查看器

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分,选择 Google Container Registry

    此时会打开 Configure image integration modal。

  3. New Integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 类型 :选择扫描
    3. 注册表端点 :registry 的地址。
    4. 项目 :Google Cloud 项目名称。
    5. 服务账户密钥(JSON) 您的服务帐户密钥进行身份验证。
  5. 选择 Test选中标记 图标)来测试与所选 registry 集成是否正常工作。
  6. 选择 Create (save icon)来创建配置。

12.5. 与 Quay Container Registry 集成

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Quay Container Registry 集成以扫描镜像。

先决条件

  • 您必须具有 OAuth 令牌才能使用 Quay Container Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分下,选择 Quay Container Registry

    此时会打开 Configure image integration modal。

  3. New Integration
  4. 填写以下所需详情:

    1. 集成名称 :集成的名称。
    2. 类型 :选择扫描
    3. 端点 :registry 的地址。
    4. OAuth 令牌 : Quay Container Registry 的 OAuth 令牌。
  5. 选择 Test选中标记 图标)来测试与所选 registry 集成是否正常工作。
  6. 选择 Create (save icon)来创建配置。

12.6. 与 Tenable 集成

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Tenable 集成以扫描镜像。

先决条件

  • 您必须有一个 Tenable access key 和 secret key 进行身份验证。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. Image Integrations 部分,选择 Tenable。此时会打开 Configure Anchore scanner 镜像集成 模态框。
  3. New Integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. Source Inputs :选择扫描
    3. 访问密钥 :Tenable 访问密钥。
    4. 机密密钥 :Tenable 的机密密钥。
  5. 选择 Test选中标记 图标)以测试该集成是否正常工作。
  6. 选择 Create (save icon)来创建配置。

第 13 章 与 JIRA 集成

如果使用 JIRA,您可以将 Red Hat Advanced Cluster Security for Kubernetes 中的警报转发到 JIRA。

以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 JIRA 集成的高级工作流:

  1. 在 JIRA 中设置用户。
  2. 使用 JIRA URL、用户名和密码将 JIRA 与 Red Hat Advanced Cluster Security for Kubernetes 集成。
  3. 识别您要发送通知的策略,并更新这些策略的通知设置。

13.1. 配置 JIRA

首先创建新用户,再分配适当的角色和权限。

先决条件

  • 您需要具有权限的 JIRA 帐户,以创建并编辑要与之集成的项目中的问题。

流程

使用 JIRA 服务器 URL 和用户凭证在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationIntegrations
  2. 向下滚动到 Notifier Integrations 部分,然后选择 JIRA Software
  3. New Integration
  4. 输入 Integration Name 的名称。
  5. UsernamePassword 或 API Token 框中输入用户凭证。
  6. 对于 Issue Type,输入一个有效的 JIRA Issue Type,如 Tasksub-taskBug
  7. 在 JIRA URL 框中输入 JIRA 服务器 URL
  8. 输入您在 Default Project 框中创建问题的项目键。
  9. 使用 Annotation Key For Project 框在不同的 JIRA 项目中创建一个问题。
  10. 如果您在 JIRA 项目中使用自定义优先级,请使用 Priority Mapping 切换来配置自定义优先级。
  11. 如果您在 JIRA 项目中使用强制自定义字段,请在 Default Fields JSON 框中输入它们作为 JSON 值(如果需要 字段)。例如:

    {
      "customfield_10004": 3,
      "customfield_20005": "Alerts",
    }
    Copy to Clipboard Toggle word wrap
  12. 选择 Testcheckmark 图标)来测试与 JIRA 集成是否正常工作。
  13. 选择 Create (save icon)来创建配置。

13.2.1. 在不同的 JIRA 项目中创建问题

您可以配置 Red Hat Advanced Cluster Security for Kubernetes 在不同的 JIRA 项目中创建一个问题,以便它们直接进入正确的团队。

先决条件

  • 您必须具有要发送警报的每个项目具有访问权限的帐户。

流程

  1. 在部署 YAML 文件中添加类似于以下内容的注解:

    jira/project-key: <jira_project_key>
    Copy to Clipboard Toggle word wrap
  2. 在为 Kubernetes 配置 Red Hat Advanced Cluster Security for Kubernetes 时,使用注解键 jira/project-keyAnnotation Key for Project 字段中使用注解键 jira/project-key。

完成配置后,如果部署在 YAML 文件中具有注解,Red Hat Advanced Cluster Security for Kubernetes 会将警报发送到为该注解指定的项目。否则,警报会发送到 default 项目。

13.2.2. 在 JIRA 中配置自定义优先级

如果您在 JIRA 项目中使用自定义优先级,您可以在 Red Hat Advanced Cluster Security for Kubernetes 中配置它们。

流程

  1. 在 Red Hat Advanced Cluster Security for Kubernetes 中配置 JIRA 集成时,打开 优先级映射 切换。Red Hat Advanced Cluster Security for Kubernetes 获取 JIRA 项目架构,并自动填充 CRITICAL_SEVERITYHIGH_SEVERITYMEDIUM_SEVERITY 字段的值,以及 LOW_SEVERITY 字段。
  2. 根据您的 JIRA 项目配置,验证或更新优先级值。
  3. 选择 Testcheckmark 图标)来测试与 JIRA 集成是否正常工作。
  4. 选择 Create (save icon)来创建配置。
注意

如果出现错误,请按照 Troubleshooting JIRA 集成部分中 的说明操作。

13.3. 配置策略通知

为系统策略启用警报通知。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 选择您要为其发送警报的一个或多个策略。
  3. Bulk actions 下,选择 Enable notification
  4. Enable notification 窗口中,选择 JIRA notifier。

    注意

    如果您还没有配置任何其他集成,系统会显示一个没有配置通知的消息。

  5. 单击 启用
注意
  • Red Hat Advanced Cluster Security for Kubernetes 根据选择发送通知。要接收通知,您必须首先为策略分配通知程序。
  • 通知仅针对给定警报发送一次。如果您已将通知程序分配给策略,则不会收到通知,除非违反情况生成新警报。
  • Red Hat Advanced Cluster Security for Kubernetes 在以下情况下创建新警报:

    • 首次在部署中发生策略违反情况。
    • 在解决了之前部署的策略警报后,在部署后出现运行时策略违反情况。

13.4. JIRA 集成故障排除

如果您在 JIRA 项目中使用自定义优先级或强制自定义字段,当您尝试将 Red Hat Advanced Cluster Security for Kubernetes 与 JIRA Software 集成时,可能会出现错误。这个错误可能是由于严重性和优先级字段值之间的不匹配。

如果您不知道 JIRA 项目中的自定义优先级值,请使用 roxctl CLI 为 JIRA 集成启用调试日志记录。

流程

  1. 要获取 JIRA 项目的自定义优先级值,请运行以下命令来打开 debug logging for JIRA:

    $ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug log --level Debug --modules notifiers/jira
    Copy to Clipboard Toggle word wrap
  2. 按照说明配置 Red Hat Advanced Cluster Security for Kubernetes for JIRA 集成。当您测试集成时,即使集成测试失败,生成的日志都包含您的 JIRA 项目模式和自定义优先级。
  3. 要将调试信息保存为压缩的 .zip 文件,请运行以下命令:

    $ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug dump
    Copy to Clipboard Toggle word wrap
  4. 解压缩 .zip 文件,以检索 JIRA 项目中使用的自定义优先级值。
  5. 要关闭 debug 日志记录,请运行以下命令:

    $ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug log --level Info
    Copy to Clipboard Toggle word wrap
  6. 再次配置 Red Hat Advanced Cluster Security for Kubernetes for JIRA 集成,并使用优先级值配置自定义优先级。

第 14 章 与电子邮件集成

配置 Red Hat Advanced Cluster Security for Kubernetes(RHACS),将警报发送到标准电子邮件供应商。

您可以通过将来自 RHACS 的警报转发到标准电子邮件提供程序,使用电子邮件作为通知方法。要将 RHACS 平台的警报转发到电子邮件地址,您可以使用 Default RecipientsDeployment Annotations 参数。

您可以使用默认接收者向标准和集中团队发送电子邮件。要发送电子邮件到管理部署的特定团队,请使用 Deployment Annotations。要根据命名空间管理使用者,请使用 Namespace Annotations

您可以使用注解键定义与部署或命名空间关联的策略违反情况的使用者。如果部署具有注解,则注解的值会覆盖默认值。如果命名空间具有注解,则命名空间的值会覆盖默认值。

  • 如果部署具有注解键和定义的听众,则会向由密钥定义的读者发送电子邮件。
  • 如果部署没有注解键,则会检查命名空间以获取注解键,并将电子邮件发送到定义的使用者。
  • 如果没有注解键,则会向集成中定义的默认接收者发送电子邮件。

您可以使用电子邮件通知程序在 Red Hat Advanced Cluster Security for Kubernetes 平台中创建新集成。

使用注解动态决定电子邮件接收者:

  1. 在部署 YAML 文件中添加类似于以下示例的注解,其中 email 是您在电子邮件集成中指定的 Annotation 键。

    annotations:
      email: <email_address>
    Copy to Clipboard Toggle word wrap
  2. 在配置 RHACS 时,在 接收者字段使用注解密钥 电子邮件
注意

注解可以在部署或命名空间中使用。

如果您使用注解配置了部署或命名空间,则 RHACS 平台会将警报发送到注解中指定的电子邮件。否则,它会将警报发送到默认的接收者。

流程

  1. 导航到 Platform ConfigurationIntegrations
  2. Notifier Integrations 部分下,选择 Email
  3. 选择 New Integration 图标。
  4. Integration Name 字段中输入您的电子邮件集成名称。
  5. 对于电子邮件服务器,请输入您的电子邮件服务器的地址。电子邮件地址是完全限定域名和端口号。例如 smtp.example.com:465
  6. 输入用于身份验证的服务帐户的用户名和密码。
  7. 可选:指定发件人的名称(如果与默认值不同)。
  8. 指定将在 Default Recipient 框中接收通知的电子邮件地址,或者为 接收者输入注解键
  9. 可选:打开 Disable TLS 证书验证(不安全) 切换,以在没有 TLS 的情况下发送电子邮件。除非使用的是 StartTLS,否则不应禁用 TLS。

    注意

    使用 TLS 进行电子邮件通知。如果没有 TLS,所有电子邮件都会以未加密的形式发送。

  10. 可选: 要使用 StartTLS,请选择 Use STARTTLS(Requires TLS To Disabled) 下拉菜单的 LoginPlain

    重要

    在 StartTLS 中,凭证以纯文本形式传递给电子邮件服务器,然后建立会话加密。

    • StartTLS with login 参数使用 base64 编码字符串发送身份验证凭据。
    • StartTLS 带有 普通参数,以纯文本形式 将身份验证凭据发送到您的邮件中继。

14.2. 配置策略通知

为系统策略启用警报通知。

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationPolicies
  2. 选择您要为其发送警报的一个或多个策略。
  3. Bulk actions 下,选择 Enable notification
  4. Enable notification 窗口中,选择 Email notifier。

    注意

    如果您还没有配置任何其他集成,系统会显示一个没有配置通知的消息。

  5. 单击 启用
注意
  • Red Hat Advanced Cluster Security for Kubernetes 根据选择发送通知。要接收通知,您必须首先为策略分配通知程序。
  • 通知仅针对给定警报发送一次。如果您已将通知程序分配给策略,则不会收到通知,除非违反情况生成新警报。
  • Red Hat Advanced Cluster Security for Kubernetes 在以下情况下创建新警报:

    • 首次在部署中发生策略违反情况。
    • 在解决了之前部署的策略警报后,在部署后出现运行时策略违反情况。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat