集成
集成 Red Hat Advanced Cluster Security for Kubernetes
摘要
第 1 章 与镜像 registry 集成
Red Hat Advanced Cluster Security for Kubernetes (RHACS)与各种镜像 registry 集成,以便您可以了解您的镜像并应用安全策略。
当您与镜像 registry 集成时,您可以查看重要的镜像详情,如镜像创建日期和 Dockerfile 详情(包括镜像层)。
将 RHACS 与 registry 集成后,您可以扫描镜像、查看镜像组件,并在部署前或之后为镜像应用安全策略。
当您与镜像 registry 集成时,RHACS 不会扫描 registry 中的所有镜像。RHACS 仅在您进行时扫描镜像:
- 使用部署中的镜像
-
使用
roxctl
CLI 检查镜像 - 使用持续集成(CI)系统来实施安全策略
您可以将 RHACS 与主要镜像 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 Node IAM 角色。
- Instance IAM 角色具有 IAM 策略,授予对您要从其中部署 ECR registry 的访问权限。
如果满足列出的条件,Red Hat Advanced Cluster Security for Kubernetes 会监控从 ECR registry 中拉取(pull)的部署,并为它们自动生成 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 进行身份验证。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Generic Docker Registry。
- 单击新建集成。
输入以下字段的详情:
- 集成名称 :集成的名称。
- endpoint :registry 的地址。
- 用户名和密码.。
- 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
- 选择 Create integration without testing 来创建集成,而无需测试与 registry 的连接。
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 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 代理,如
kiam
或kube2iam
。 - access key 必须具有 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
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Amazon ECR。
- 单击 New integration,或者点击自动生成的集成之一将其打开,然后单击 编辑。
输入或修改以下字段的详情:
- 更新存储的凭证 :如果您修改集成而不更新访问密钥和密码等凭证,则清除此框。
- 集成名称 :集成的名称。
- registry ID :registry 的 ID。
- endpoint :registry 的地址。选择 AssumeRole 选项时,此字段不会被启用。
-
区域 :registry 的区域,如
us-west-1
。
- 如果使用 IAM,请选择 Use Container IAM role。否则,清除 Use Container IAM 角色 框并输入 Access key ID 和 Secret 访问密钥。
如果使用 AssumeRole 验证,请选择 Use AssumeRole,并为以下字段输入详情:
- AssumeRole ID :要假定的角色 ID。
- AssumeRole External ID (可选):如果您使用 具有 AssumeRole 的外部 ID,可以在这里输入它。
- 选择 Create integration without testing 来创建集成,而无需测试与 registry 的连接。
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 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 之前,您必须首先配置它。
流程
为 EKS 集群启用 IAM OIDC 供应商:
$ eksctl utils associate-iam-oidc-provider --cluster <cluster name> --approve
- 为您的 EKS 集群创建 IAM 角色。
将新创建的角色与服务帐户关联:
$ kubectl -n stackrox annotate sa central eks.amazonaws.com/role-arn=arn:aws:iam::67890:role/<role-name>
重启 Central 以应用更改。
$ kubectl -n stackrox delete pod -l app=central
为允许角色根据需要假设另一个角色的策略分配角色:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::<ecr-registry>:role/<assumerole-readonly>" 1 } ] }
- 1
- 将
<assumerole-readonly
> 替换为您要假定的角色。
更新您要假设的角色的信任关系:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<ecr-registry>:role/<role-name>" 1 ] }, "Action": "sts:AssumeRole" } ] }
- 1
- &
lt;role-name
> 应与之前创建的新角色匹配。
1.3.2.1.2. 在没有容器 IAM 的情况下配置 AssumeRole
要在没有容器 IAM 的情况下使用 AssumeRole,必须使用 access 和一个 secret 密钥来作为 带有编程访问的 AWS 用户进行身份验证。
流程
根据 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 } ] }
- 1
- 将
<assumerole-readonly
> 替换为您要假定的角色。
通过在 Principal 字段中包含用户 ARN 来配置角色的信任关系:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<ecr-registry>:user/<role-name>" ] }, "Action": "sts:AssumeRole" } ] }
1.3.2.1.3. 在 RHACS 中配置 AssumeRole
在 ECR 中配置 AssumeRole 后,您可以使用 AssumeRole 将 Red Hat Advanced Cluster Security for Kubernetes 与 Amazon Elastic Container Registry (ECR)集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Amazon ECR。
- 单击 New Integration。
输入以下字段的详情:
- 集成名称 :集成的名称。
- registry ID :registry 的 ID。
-
区域 :registry 的区域,如
us-west-1
。
- 如果使用 IAM,请选择 Use container IAM role。否则,清除 Use 自定义 IAM 角色 框,并输入 Access key ID 和 Secret 访问密钥。
如果使用 AssumeRole,请选择 Use AssumeRole,并输入以下字段的详情:
- AssumeRole ID :要假定的角色 ID。
- AssumeRole External ID (可选):如果您使用 具有 AssumeRole 的外部 ID,可以在这里输入它。
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 Save。
1.3.3. 手动配置 Google Container Registry
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Google Container Registry (GCR)集成。
前提条件
- 您必须具有服务帐户密钥。
- 关联的服务帐户必须有权访问 registry。如需有关授予用户和其他项目访问权限的信息,请参阅配置访问控制。
如果使用 GCR Container Analysis,还必须将以下角色授予服务帐户:
- 容器分析备注器
- 容器分析器器
- 存储对象查看器
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Google Container Registry。
- 单击新建集成。
输入以下字段的详情:
- 集成名称 :集成的名称。
- 键入 :选择 Registry。
- 注册表端点 :registry 的地址。
- 项目 :Google Cloud 项目名称。
- 用于验证服务帐户密钥(JSON) 的服务帐户密钥。
- 选择 Create integration without testing 来创建集成,而无需测试与 registry 的连接。
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 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
的服务帐户密钥。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Google Artifact Registry。
- 单击新建集成。
输入以下字段的详情:
- 集成名称 :集成的名称。
- registry 端点 :registry 的地址。
- 项目 :Google Cloud 项目名称。
- 用于验证服务帐户密钥(JSON) 的服务帐户密钥。
- 选择 Create integration without testing 来创建集成,而无需测试与 registry 的连接。
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 Save。
1.3.5. 手动配置 Microsoft Azure Container Registry
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Microsoft Azure Container Registry 集成。
前提条件
- 您必须具有用户名和密码进行验证。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Microsoft Azure Container Registry。
- 单击新建集成。
输入以下字段的详情:
- 集成名称 :集成的名称。
- endpoint :registry 的地址。
- 用户名和密码.。
- 选择 Create integration without testing 来创建集成,而无需测试与 registry 的连接。
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 Save。
1.3.6. 手动配置 JFrog Artifactory
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 JFrog Artifactory 集成。
前提条件
- 您必须具有使用 JFrog Artifactory 进行身份验证的用户名和密码。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 JFrog Artifactory。
- 单击新建集成。
输入以下字段的详情:
- 集成名称 :集成的名称。
- endpoint :registry 的地址。
- 用户名和密码.。
- 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
- 选择 Create integration without testing 来创建集成,而无需测试与 registry 的连接。
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 Save。
1.3.7. 手动配置 Quay Container Registry
您可以将 Red Hat Advanced Cluster Security for Kubernetes (RHACS)与 Quay Container Registry 集成。您可以使用以下方法之一与 Quay 集成:
- 与 Quay 公共存储库(registry)集成:此方法不需要身份验证。
- 使用机器人帐户与 Quay 私有注册表集成:此方法要求您创建机器人帐户以用于 Quay (推荐)。如需更多信息,请参阅 Quay 文档。
- 与 Quay 集成以使用 Quay 扫描程序而不是 RHACS 扫描程序:此方法使用 API 并通过 OAuth 令牌进行身份验证。请参阅 "Additional Resources" 部分的 "Integrating with Quay Container Registry to scan images" 部分。
前提条件
- 要使用 Quay 私有注册表进行身份验证,您需要与机器人帐户或 OAuth 令牌(已弃用)关联的凭证。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Red Hat Quay.io。
- 单击新建集成。
- 输入 Integration name。
输入 Endpoint,或 registry 地址。
- 如果您要与 Quay 公共存储库集成,在 Type 下,选择 Registry,然后继续下一步。
如果您要与 Quay 私有 registry 集成,请在 Type 下选择 Registry,并在以下字段中输入信息:
-
机器用户名 :如果您使用 Quay 机器人帐户访问 registry,请以 <
namespace>+<accountname> 格式输入用户名
。 - robot password :如果您使用 Quay 机器人帐户访问注册表,请输入机器人帐户用户名的密码。
- OAuth 令牌 :如果您使用 OAuth 令牌(已弃用)访问 registry,请在此字段中输入它。
-
机器用户名 :如果您使用 Quay 机器人帐户访问 registry,请以 <
- 可选: 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
- 可选: 要在不测试的情况下创建集成,请选择 Create integration without testing。
- 选择 Save。
如果要编辑 Quay 集成,但不想更新凭证,请验证是否未选择 更新存储的凭证。
1.4. 其他资源
1.4.1. 手动配置 IBM Cloud Container Registry
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 IBM Cloud Container Registry 集成。
前提条件
- 您必须具有 API 密钥,以便与 IBM Cloud Container Registry 进行身份验证。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 IBM Cloud Container Registry。
- 单击新建集成。
输入以下字段的详情:
- 集成名称 :集成的名称。
- endpoint :registry 的地址。
- API 密钥.
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 Save。
1.4.2. 手动配置 Red Hat Container Registry
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Red Hat Container Registry 集成。
前提条件
- 您必须具有一个用户名和密码才能使用 Red Hat Container Registry 进行身份验证。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Red Hat Registry。
- 单击新建集成。
输入以下字段的详情:
- 集成名称 :集成的名称。
- endpoint :registry 的地址。
- 用户名和密码.。
- 选择 Create integration without testing 来创建集成,而无需测试与 registry 的连接。
- 选择 Test 来测试与所选 registry 的集成是否正常工作。
- 选择 Save。
第 2 章 与 CI 系统集成
Red Hat Advanced Cluster Security for Kubernetes (RHACS)与各种持续集成(CI)产品集成,并在部署镜像前应用构建和部署时间安全规则。
在构建并推送到 registry 后,Red Hat Advanced Cluster Security for Kubernetes 集成到 CI 管道中。先推送镜像可让开发人员继续测试其工件,同时处理任何策略违反情况以及任何其他 CI 测试失败、中断违规或其他问题。
如果可能,您应该将版本控制系统配置为在构建阶段(包括 Red Hat Advanced Cluster Security for Kubernetes 检查)时阻止拉取或合并请求。
通过联系您的 Red Hat Advanced Cluster Security for Kubernetes 安装,检查镜像是否满足您配置的 build-phase 策略,从而与您的 CI 产品功能集成。如果策略违反情况,会在控制台日志中显示详细的信息,包括策略描述、rationale 和 remediation 指令。每个策略都包括一个可选的强制设置 ; 如果您为构建阶段执行标记策略,则这个策略失败会导致客户端以非零错误代码退出。
要将 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 中配置的现有构建阶段策略。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
-
使用全局搜索搜索
Lifecycle Stage:Build
。
2.1.2. 创建新系统策略
除了使用默认策略外,您还可以在 Red Hat Advanced Cluster Security for Kubernetes 中创建自定义策略。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 单击 + New Policy。
- 输入策略的 Name。
- 选择策略的严重性级别:Critical, High, Medium, 或 Low。
选择要应用的 Lifecycle Stages,从 Build、Deploy 或 Runtime。您可以选择多个阶段。
注意如果您创建一个新策略来与 CI 系统集成,请选择 Build 作为生命周期阶段。
- 构建策略适用于镜像字段,如 CVE 和 Dockerfile 指令。
- 部署时策略可包括所有构建时策略标准。它们也可以包含来自集群配置的数据,如以特权模式运行或挂载 Docker 守护进程套接字。
- 运行时策略可包括所有构建时间和部署时间策略标准,以及运行时期间进程执行的数据。
- 在 Description、Rationale 和 Remediation 字段中输入有关策略的信息。当 CI 验证构建时,会显示来自这些字段的数据。因此,包括解释该策略的所有信息。
- 从 Categories 下拉菜单中选择一个类别。
从 Notifications 下拉菜单中选择通知程序,该通知在违反此策略时接收警报通知。
注意您必须将 Red Hat Advanced Cluster Security for Kubernetes 与通知提供程序(如 webhook、JIRA 或 PagerDuty)集成以接收警报通知。只有您已将任何通知供应商与 Red Hat Advanced Cluster Security for Kubernetes 集成时,才会显示通知程序。
- 使用 Restrict to Scope 只在特定集群、命名空间或标签上启用此策略。您可以添加多个范围,并在 RE2 语法中使用正则表达式进行命名空间和标签。
- 使用范围 排除范围 来排除部署、集群、命名空间和标签。此字段表示策略不适用于您指定的实体。您可以添加多个范围,并在 RE2 语法中使用正则表达式进行命名空间和标签。但是,您无法使用正则表达式来选择部署。
对于 Excluded Images (Build Lifecycle),请从不想触发策略的违反列表中选择所有镜像。
注意Excluded Images (Build Lifecycle only) 设置仅适用于您在持续集成系统中检查镜像(构建生命周期阶段)。如果您使用此策略来检查正在运行的部署( Deploy 生命周期阶段)或运行时活动( Runtime 生命周期阶段),则它不会生效。
- 在 Policy Criteria 部分中,配置将触发该策略的属性。
- 在面板标题上选择" 下一步"。
- 新的策略面板显示在启用策略时触发的违反情况的预览。
- 在面板标题上选择" 下一步"。
选择策略的执行行为。执行设置仅适用于您为 Lifecycle Stages 选项选择的各个阶段。选择 ON 来强制实施策略并报告违反情况。选择 OFF 仅报告违反情况。
注意每个生命周期阶段的执行行为会有所不同。
- 对于 Build 阶段,当镜像与策略条件匹配时,Red Hat Advanced Cluster Security for Kubernetes 会失败您的 CI 构建。
- 对于 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 集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integration 部分下,查找突出显示的 Registry 标题。标题还列出已为该标题配置的项目数量。
如果没有突出显示 Registry 标题,您必须首先与镜像 registry 集成。
2.2.1.1. 其他资源
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 进行身份验证
为进行身份验证,您可以使用身份验证令牌或管理员密码。红帽建议在生产环境中使用身份验证令牌,因为每个令牌被分配了特定的访问控制权限。
使用以下步骤生成身份验证令牌。
流程
- 导航到 RHACS 门户。
- 进入 Platform Configuration → Integrations。
- 向下滚动到 Authentication Tokens 类别,然后点 API Token。
- 点 Generate Token。
- 输入令牌的名称,再选择提供所需访问级别的角色(如 持续集成 或 Sensor Creator)。
点 Generate。
重要复制生成的令牌,并安全地存储它。您将无法再次查看它。
生成身份验证令牌后,将其导出为 ROX_API_TOKEN
变量:
$ export ROX_API_TOKEN=<api_token>
您也可以将令牌保存到文件中,并将它与 --token-file
选项搭配使用。例如:
$ roxctl central debug dump --token-file <token_file>
-
您不能同时使用
-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 二进制文件。
流程
下载
roxctl
CLI 的最新版本:$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Linux/roxctl
使
roxctl
二进制文件可执行:$ chmod +x roxctl
将
roxctl
二进制文件放到PATH
中的目录中:要查看您的
PATH
,请执行以下命令:$ echo $PATH
验证
验证您已安装的
roxctl
版本:$ roxctl version
2.3.2.2. 在 macOS 上安装 roxctl CLI
您可以按照以下流程在 macOS 中安装 roxctl
CLI 二进制文件。
流程
下载
roxctl
CLI 的最新版本:$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Darwin/roxctl
从二进制文件中删除所有扩展属性:
$ xattr -c roxctl
使
roxctl
二进制文件可执行:$ chmod +x roxctl
将
roxctl
二进制文件放到PATH
中的目录中:要查看您的
PATH
,请执行以下命令:$ echo $PATH
验证
验证您已安装的
roxctl
版本:$ roxctl version
2.3.2.3. 在 Windows 上安装 roxctl CLI
您可以按照以下流程在 Windows 上安装 roxctl
CLI 二进制文件。
流程
下载
roxctl
CLI 的最新版本:$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.72.3/bin/Windows/roxctl.exe
验证
验证您已安装的
roxctl
版本:$ roxctl version
2.3.3. 从容器运行 roxctl CLI
roxctl
客户端是 Red Hat Advanced Cluster Security for Kubernetes roxctl
镜像的默认入口点。在容器镜像中运行 roxctl
客户端:
前提条件
- 您必须首先从 RHACS 门户生成身份验证令牌。
流程
登录到
registry.redhat.io
registry。$ docker login registry.redhat.io
为
roxctl
CLI 拉取最新的容器镜像。$ docker pull registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3
安装 CLI 后,您可以使用以下命令运行它:
$ docker run -e ROX_API_TOKEN=$ROX_API_TOKEN \ -it registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3 \ -e $ROX_CENTRAL_ADDRESS <command>
验证
验证您已安装的
roxctl
版本。$ docker run -it registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8:3.72.3 version
2.4. 与 CI 管道集成
完成这些步骤后,下一步是与您的 CI 管道集成。
每个 CI 系统可能需要配置稍有不同。
2.4.1. 使用 Jenkins
使用 StackRox 容器镜像 Scanner Jenkins 插件与 Jenkins 集成。您可以在 Jenkins freestyle projects 和 pipelines 中使用此插件。
2.4.2. 使用 CircleCI
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 CircleCI 集成。
先决条件
-
您有对
Image
资源的read
和write
权限的令牌。 - 您有 Docker Hub 帐户的用户名和密码。
流程
- 登录 CircleCI 并打开现有项目或创建新项目。
- 单击 Project Settings。
- 点 Environment variables。
点 Add 变量,创建以下三个环境变量:
- 名称 :STACKROX_CENTRAL_HOST - Central 的 DNS 名称或 IP 地址。
- Name:ROX_API_TOKEN - 用于访问 Red Hat Advanced Cluster Security for Kubernetes 的 API 令牌。
- 名称 :DOCKERHUB_PASSWORD - Docker Hub 帐户的密码。
- 名称 :DOCKERHUB_USER - Docker Hub 帐户的用户名。
-
如果您还没有 CircleCI 配置文件,在所选项目的本地代码存储库的根目录中创建名为
.circleci
的目录。 使用
.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
注意如果您的存储库中已有用于 CircleCI 的
config.yml
文件,在现有配置文件中添加一个带有指定详情的新 jobs 部分。- 将配置文件提交到您的存储库后,导航到 CircleCI 仪表板中的 Jobs 队列,以验证构建策略强制执行。
第 3 章 与 PagerDuty 集成
如果使用 PagerDuty,您可以将警报从 Red Hat Advanced Cluster Security for Kubernetes 转发到 PagerDuty。
以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 PagerDuty 集成的高级工作流:
- 在 PagerDuty 中添加新的 API 服务,并获取集成密钥。
- 使用集成密钥在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。
- 确定您要发送通知的策略,并更新这些策略的通知设置。
3.1. 配置 PagerDuty
通过创建新服务和集成密钥开始与 PagerDuty 集成。
流程
- 导航到 Configuration → Services。
- 选择 Add Services。
- 在 General Settings 下,指定 Name 和 Description。
- 在 Integration Setting 下,点 Use our API Directly with the Events v2 API for the Integration Type 下拉菜单。
- 在 事件 事件设置中,选择 升级策略,并配置通知设置和事件超时。
- 接受 事件行为 和 Alert Grouping 的默认设置,或者根据需要进行配置。
- 点 Add Service。
- 在 Service Details 页面中,记录 Integration Key。
3.2. 配置 Red Hat Advanced Cluster Security for Kubernetes
使用集成密钥在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 PagerDuty。
-
点 New Integration (
添加
图标)。 - 输入 Integration Name 的名称。
- 在 PagerDuty 集成密钥字段中,输入集成密钥。
-
单击 Test (
复选标记
图标)以验证与 PagerDuty 的集成是否有效。 -
点 Create (
save
图标)创建配置。
3.3. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 PagerDuty 通知程序。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- 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 集成的高级工作流:
- 创建新的 Slack 应用程序,启用传入的 Webhook,并获取 Webhook URL。
- 使用 Webhook URL 将 Slack 与 Red Hat Advanced Cluster Security for Kubernetes 集成。
- 识别您要发送通知的策略,并更新这些策略的通知设置。
4.1. 配置 Slack
从创建新 Slack 应用开始,并获取 Webhook URL。
前提条件
- 您需要具有权限的管理员帐户或具有创建 webhook 的用户帐户。
流程
创建新的 Slack 应用程序:
注意如果要使用现有的 Slack 应用程序,进入 https://api.slack.com/apps 并选择一个应用程序。
- 进入 https://api.slack.com/apps/new。
- 输入 App Name 并选择 Development Slack Workspace 来安装您的应用程序。
- 点 Create App。
- 在设置页面中,选择 Basic Information 部分,选择 Incoming Webhooks ( 在添加功能和功能下)。
- 打开 Activate Incoming Webhooks 切换。
- 选择 Add New Webhook to Workspace。
- 选择 应用程序将 发布到的频道,然后选择 Authorize。页面刷新,并将您发回到应用程序设置页面。
- 复制位于 Your Workspace 部分的 Webhook URL 中的 webhook URL。
如需了解更多详细信息,请参阅 Slack 文档主题,开始使用 Incoming Webhook。
4.1.1. 将警报发送到不同的 Slack 频道
您可以配置 Red Hat Advanced Cluster Security for Kubernetes 将通知发送到不同的 Slack 频道,以便它们直接进入正确的团队。
流程
配置传入的 Webhook 后,在部署 YAML 文件中添加类似如下的注解:
example.com/slack-webhook: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
-
在配置 Red Hat Advanced Cluster Security for Kubernetes 时,使用 Label/Annotation Key for Slack Webhook 字段中的注解键
example.com/slack-webhook
。
配置完成后,如果部署在 YAML 文件中配置了注解,Red Hat Advanced Cluster Security for Kubernetes 会将警报发送到您为该注解指定的 webhook URL。否则,它将警报发送到默认的 webhook URL。
4.2. 配置 Red Hat Advanced Cluster Security for Kubernetes
使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 Slack。
-
点 New Integration (
添加
图标)。 - 输入 Integration Name 的名称。
- 在 Default Slack Webhook 字段中输入生成的 Webhook URL。
-
选择 Test (
复选标记
图标)以测试与 Slack 的集成是否有效。 -
选择 Create (
保存
图标)以创建配置。
4.3. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 Slack notifier。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- 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>" }
您可以创建多个 webhook。例如,您可以创建一个 webhook 来接收所有审计日志,另一个用于警报通知。
将警报从 Red Hat Advanced Cluster Security for Kubernetes 转发到任何 webhook 接收器:
- 设置 webhook URL 以接收警报。
- 使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。
- 确定您要发送通知的策略,并更新这些策略的通知设置。
5.1. 使用 Webhook 配置集成
使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 Generic Webhook。
- 单击新建集成。
- 输入 Integration name 的名称。
- 在 Endpoint 字段中输入 webhook URL。
如果您的 webhook 接收器使用不受信任的证书,请在 CA 证书字段中输入 CA 证书。否则,将其留空。
注意Webhook 接收器使用的服务器证书必须对端点 DNS 名称有效。您可以点 跳过 TLS 验证 来忽略这个验证。红帽不推荐关闭 TLS 验证。如果没有 TLS 验证,可以通过意外的接收者拦截数据。
可选:点 Enable audit logging 接收 Red Hat Advanced Cluster Security for Kubernetes 中所有更改的警报。
注意红帽建议将单独的 Webhook 用于警报和审计日志,以不同的方式处理这些消息。
要使用 Webhook 接收器验证,请为以下之一输入详情:
- 用于基本 HTTP 验证的用户名和密码
-
Custom Header,如
Authorization: Bearer <access_token>
-
使用 Extra 字段在 Red Hat Advanced Cluster Security for Kubernetes 发送的 JSON 对象中包含额外的键值对。例如,如果您的 webhook 接收器接受来自多个源的对象,可以添加
"source": "rhacs"
作为额外字段,并过滤这个值以识别来自 Red Hat Advanced Cluster Security for Kubernetes 的所有警报。 - 选择 Test 来发送测试消息,以验证与通用 webhook 的集成是否有效。
- 选择 Save 以创建该配置。
5.2. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 webhook 通知程序。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- Red Hat Advanced Cluster Security for Kubernetes 会根据需要发送通知。要接收通知,您必须首先为策略分配一个通知程序。
- 通知仅针对给定警报发送一次。如果您为策略分配了通知程序,则不会收到通知,除非有违反情况生成新的警报。
Red Hat Advanced Cluster Security for Kubernetes 为以下场景创建新警报:
- 第一次部署时会发生策略违反情况。
- 当您解决部署中的前一个运行时警报后,会发生运行时策略违反情况。
第 6 章 与 QRadar 集成
您可以通过在 RHACS 中配置通用 webhook 集成,将 Red Hat Advanced Cluster Security for Kubernetes 配置为将事件发送到 QRadar。
以下步骤代表了将 RHACS 与 QRadar 集成的高级工作流:
在 RHACS 中:
配置通用 Webhook。
注意在 RHACS 中配置集成时,在 Endpoint 字段中,使用以下示例作为指南:<
URL 到 Integration> 的 QRadar Box>:<Port
。- 识别您要发送通知的策略,并更新这些策略的通知设置。
- 如果 QRadar 没有自动检测日志源,请在 QRadar 控制台中添加 RHACS 日志源。有关配置 QRadar 和 RHACS 的更多信息,请参阅 Red Hat Advanced Cluster Security for Kubernetes IBM 资源。
6.1. 使用 Webhook 配置集成
使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 Generic Webhook。
- 单击新建集成。
- 输入 Integration name 的名称。
- 在 Endpoint 字段中输入 webhook URL。
如果您的 webhook 接收器使用不受信任的证书,请在 CA 证书字段中输入 CA 证书。否则,将其留空。
注意Webhook 接收器使用的服务器证书必须对端点 DNS 名称有效。您可以点 跳过 TLS 验证 来忽略这个验证。红帽不推荐关闭 TLS 验证。如果没有 TLS 验证,可以通过意外的接收者拦截数据。
可选:点 Enable audit logging 接收 Red Hat Advanced Cluster Security for Kubernetes 中所有更改的警报。
注意红帽建议将单独的 Webhook 用于警报和审计日志,以不同的方式处理这些消息。
要使用 Webhook 接收器验证,请为以下之一输入详情:
- 用于基本 HTTP 验证的用户名和密码
-
Custom Header,如
Authorization: Bearer <access_token>
-
使用 Extra 字段在 Red Hat Advanced Cluster Security for Kubernetes 发送的 JSON 对象中包含额外的键值对。例如,如果您的 webhook 接收器接受来自多个源的对象,可以添加
"source": "rhacs"
作为额外字段,并过滤这个值以识别来自 Red Hat Advanced Cluster Security for Kubernetes 的所有警报。 - 选择 Test 来发送测试消息,以验证与通用 webhook 的集成是否有效。
- 选择 Save 以创建该配置。
6.2. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 webhook 通知程序。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- Red Hat Advanced Cluster Security for Kubernetes 会根据需要发送通知。要接收通知,您必须首先为策略分配一个通知程序。
- 通知仅针对给定警报发送一次。如果您为策略分配了通知程序,则不会收到通知,除非有违反情况生成新的警报。
Red Hat Advanced Cluster Security for Kubernetes 为以下场景创建新警报:
- 第一次部署时会发生策略违反情况。
- 当您解决部署中的前一个运行时警报后,会发生运行时策略违反情况。
第 7 章 与 ServiceNow 集成
您可以通过在 RHACS 中配置通用 webhook 集成,将 Red Hat Advanced Cluster Security for Kubernetes 配置为将事件发送到 ServiceNow。
以下步骤代表了将 RHACS 与 ServiceNow 集成的高级工作流:
- 在 ServiceNow 中,配置在 RHACS 中使用的 REST API 端点。有关包含 ServiceNow 配置步骤的更多信息,请参阅 如何将 Red Hat Advanced Cluster Security for Kubernetes 与 ServiceNow 集成。
在 RHACS 中:
- 配置通用 Webhook。
- 识别您要发送通知的策略,并更新这些策略的通知设置。
7.1. 使用 Webhook 配置集成
使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 Generic Webhook。
- 单击新建集成。
- 输入 Integration name 的名称。
- 在 Endpoint 字段中输入 webhook URL。
如果您的 webhook 接收器使用不受信任的证书,请在 CA 证书字段中输入 CA 证书。否则,将其留空。
注意Webhook 接收器使用的服务器证书必须对端点 DNS 名称有效。您可以点 跳过 TLS 验证 来忽略这个验证。红帽不推荐关闭 TLS 验证。如果没有 TLS 验证,可以通过意外的接收者拦截数据。
可选:点 Enable audit logging 接收 Red Hat Advanced Cluster Security for Kubernetes 中所有更改的警报。
注意红帽建议将单独的 Webhook 用于警报和审计日志,以不同的方式处理这些消息。
要使用 Webhook 接收器验证,请为以下之一输入详情:
- 用于基本 HTTP 验证的用户名和密码
-
Custom Header,如
Authorization: Bearer <access_token>
-
使用 Extra 字段在 Red Hat Advanced Cluster Security for Kubernetes 发送的 JSON 对象中包含额外的键值对。例如,如果您的 webhook 接收器接受来自多个源的对象,可以添加
"source": "rhacs"
作为额外字段,并过滤这个值以识别来自 Red Hat Advanced Cluster Security for Kubernetes 的所有警报。 - 选择 Test 来发送测试消息,以验证与通用 webhook 的集成是否有效。
- 选择 Save 以创建该配置。
7.2. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 webhook 通知程序。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- Red Hat Advanced Cluster Security for Kubernetes 会根据需要发送通知。要接收通知,您必须首先为策略分配一个通知程序。
- 通知仅针对给定警报发送一次。如果您为策略分配了通知程序,则不会收到通知,除非有违反情况生成新的警报。
Red Hat Advanced Cluster Security for Kubernetes 为以下场景创建新警报:
- 第一次部署时会发生策略违反情况。
- 当您解决部署中的前一个运行时警报后,会发生运行时策略违反情况。
第 8 章 与 Sumo Logic 集成
如果使用 Sumo Logic,您可以将警报从 Red Hat Advanced Cluster Security for Kubernetes 转发到 Sumo Logic。
以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 Sumo Logic 集成的高级工作流:
- 在 Sumo Logic 中添加新的 Custom App,设置 HTTP 源并获取 HTTP URL。
- 使用 HTTP URL 将 Sumo Logic 与 Red Hat Advanced Cluster Security for Kubernetes 集成。
- 确定您要发送通知的策略,并更新这些策略的通知设置。
8.1. 配置 Sumo Logic
使用 设置向导 设置 流数据 并获取 HTTP URL。
流程
- 登录到您的 Sumo Logic Home 页面并选择 Setup Wizard。
- 将光标移到,以设置 流数据 并选择 Get Started。
- 在 Select Data Type 页面中,选择 Your Custom App。
- 在 Set Up Collection 页面上,选择 HTTP Source。
-
输入 Source Category 的名称,如
rhacs
,再单击 Continue。 - 复制 生成的 URL。
8.2. 配置 Red Hat Advanced Cluster Security for Kubernetes
使用 HTTP URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 Sumo Logic。
-
点 New Integration (
添加
图标)。 - 输入 Integration Name 的名称。
- 在 HTTP Collector Source Address 字段中输入生成的 HTTP URL。
-
单击 Test (
勾号图标
)以测试与 Sumo Logic 的集成是否正常工作。 -
点 Create (
save
图标)创建配置。
8.3. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 Sumo Logic notifier。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- Red Hat Advanced Cluster Security for Kubernetes 会根据需要发送通知。要接收通知,您必须首先为策略分配一个通知程序。
- 通知仅针对给定警报发送一次。如果您为策略分配了通知程序,则不会收到通知,除非有违反情况生成新的警报。
Red Hat Advanced Cluster Security for Kubernetes 为以下场景创建新警报:
- 第一次部署时会发生策略违反情况。
- 当您解决部署中的前一个运行时警报后,会发生运行时策略违反情况。
8.4. 查看 Sumo Logic 中的警报
您可以在 Sumo Logic 中查看 Red Hat Advanced Cluster Security for Kubernetes 中的警报。
- 登录到您的 Sumo Logic Home 页面,然后点击 Log Search。
-
在搜索框中,输入
_sourceCategory=rhacs
。确保使用与配置 Sumo Logic 时输入的相同 Source Category 名称。 - 选择时间,然后点 Start。
第 9 章 与 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 或更高版本,备份不包括证书。
9.1. 配置 Red Hat Advanced Cluster Security for Kubernetes
要在 Google Cloud Storage (GCS)上配置数据备份,在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个集成。
前提条件
- 现有的 存储桶。要创建新存储桶,请参阅官方 Google Cloud Storage 文档 创建存储存储桶。
-
要使用的存储桶中具有
Storage Object Admin
IAM 角色 的服务帐户。请参阅使用 Cloud IAM 权限官方 Google Cloud Storage 文档。 - 您正在使用的服务帐户服务帐户密钥文件 (JSON)。参阅官方的 Google Cloud 文档 Creating a service account 和 Creating service account keys。
目前,Red Hat Advanced Cluster Security for Kubernetes 不支持使用 Workload Identity 来验证 GCS。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 External backup 部分, 再选择 Google Cloud Storage。
-
点 New Integration (
添加
图标)。 - 输入 Integration Name 的名称。
- 在 Backups To Retain 框中输入要保留的备份数量。
- 对于 Schedule,选择备份频率(每天或每周)以及运行备份过程的时间。
- 输入要存储备份的 Bucket 名称。
- 在 Service Account JSON 字段中输入服务帐户密钥文件的内容。
-
选择 Test (
勾号图标
)以确认与 GCS 的集成工作正常。 -
选择 Create (
保存
图标)以创建配置。
配置完成后,Red Hat Advanced Cluster Security for Kubernetes 根据指定的调度自动备份所有数据。
9.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 集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 External backup 部分下,单击 Google Cloud Storage。
- 选择您要在其中进行备份的 GCS 存储桶的集成名称。
- 点 Trigger Backup。
目前,当选择 Trigger Backup 选项时,没有通知。但是,Red Hat Advanced Cluster Security for Kubernetes 会在后台开始备份任务。
9.1.1.1. 其他资源
第 10 章 使用 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 (Common Event Format)。
以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 syslog 事件接收器集成的高级别工作流:
- 设置 syslog 事件接收器以接收警报。
- 使用接收方的地址和端口号在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。
配置后,Red Hat Advanced Cluster Security for Kubernetes 会自动发送所有违反情况和审计事件到配置的 syslog 接收器。
10.1. 配置与 Red Hat Advanced Cluster Security for Kubernetes 的 syslog 集成
在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新的 syslog 集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 Syslog。
- 点 New Integration (添加图标)。
- 输入 Integration Name 的名称。
-
从
local0
到local7
选择 Logging Facility 值。 - 输入您的 接收主机地址 和 接收器端口号。
- 如果使用 TLS,请打开 Use TLS 切换。
- 如果您的 syslog 接收器使用没有信任的证书,请打开 Disable TLS Certificate Validation (Insecure) 切换。否则,请关闭该切换。
-
选择 Test (
勾号图标
)来发送测试信息,以验证与通用 Webhook 集成是否正常工作。 -
选择 Create (
保存
图标)以创建配置。
第 11 章 与 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 中的 可信证书颁发机构。
11.1. 在 Red Hat Advanced Cluster Security for Kubernetes 中配置 Amazon S3 集成
要配置 Amazon S3 备份,请在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。
前提条件
- 现有的 S3 存储桶。要创建具有所需权限的新存储桶,请参阅 Amazon 文档创建存储桶。
-
S3 存储桶的
Read
,write
, 和delete
权限,Access key ID, 和 Secret access key。 -
如果您使用 KIAM、kube2iam 或另一个代理,则
具有读取
、写入
和删除
权限的 IAM 角色。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 External backup 部分, 再选择 Amazon S3。
-
点 New Integration (
添加
图标)。 - 输入 Integration Name 的名称。
- 在 Backups To Retain 框中输入要保留的备份数量。
- 对于 Schedule,请每天或每周选择备份频率,以及运行备份过程的时间。
- 输入要存储备份的 Bucket 名称。
- 另外,如果要将备份保存在特定的文件夹结构中,请输入 Object Prefix。如需了解更多详细信息,请参阅 Amazon 文档主题 使用对象元数据。
- 如果使用非公共 S3 实例,请输入存储桶的端点,否则将其留空。
- 输入 存储桶 的区域。
- 打开 Use Container IAM Role 切换或者输入 Access Key ID 和 Secret Access Key。
-
选择 Test (
勾号图标
)以确认与 Amazon S3 的集成是否有效。 -
选择 Create (
保存
图标)以创建配置。
配置完成后,Red Hat Advanced Cluster Security for Kubernetes 根据指定的调度自动备份所有数据。
11.2. 在 Amazon S3 上进行按需备份
使用 RHACS 门户在 Amazon S3 上触发 Red Hat Advanced Cluster Security for Kubernetes 的手动备份。
前提条件
- 您必须已经将 Red Hat Advanced Cluster Security for Kubernetes 与 Amazon S3 集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 External backup 部分下,单击 Amazon S3。
- 选择您要进行备份的 S3 存储桶的集成名称。
- 点 Trigger Backup。
目前,当选择 Trigger Backup 选项时,没有通知。但是,Red Hat Advanced Cluster Security for Kubernetes 会在后台开始备份任务。
11.3. 其他资源
第 12 章 与 Google Cloud Security Command Center 集成
如果使用 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 集成的高级工作流。
- 使用 Google Cloud 注册新的安全源。
- 为 Red Hat Advanced Cluster Security for Kubernetes 提供源 ID 和服务帐户密钥。
- 确定您要发送通知的策略,并更新这些策略的通知设置。
12.1. 配置 Google Cloud SCC
首先,添加 Red Hat Advanced Cluster Security for Kubernetes 作为可信任的 Cloud SCC 源。
流程
- 按照 Cloud Security Command Center 的 Adding vulnerability and threat 源,将 Red Hat Advanced Cluster Security for Kubernetes 添加为可信任的 Cloud SCC 源。记录 Google Cloud 为 Red Hat Advanced Cluster Security for Kubernetes 集成创建的源 ID。如果您在注册后没有看到源 ID,您可以在 Cloud SCC Security Sources 页中 找到源 ID。
- 为您在上一步中创建的服务帐户或您使用的现有帐户创建一个密钥。详情请参阅 Google Cloud 指南,以 创建和管理服务帐户密钥。
12.2. 配置 Red Hat Advanced Cluster Security for Kubernetes 以与 Google Cloud SCC 集成
使用 Source ID 和服务帐户键 在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新的 Google Cloud SCC 集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 Google Cloud SCC。
-
点 New Integration (
添加
图标)。 - 输入 Integration Name 的名称。
- 输入 Cloud SCC 源 ID 和服务帐户密钥(JSON)。
-
选择 Create (
保存
图标)以创建配置。
12.3. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 Google Cloud SCC 通知程序。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- Red Hat Advanced Cluster Security for Kubernetes 会根据需要发送通知。要接收通知,您必须首先为策略分配一个通知程序。
- 通知仅针对给定警报发送一次。如果您为策略分配了通知程序,则不会收到通知,除非有违反情况生成新的警报。
Red Hat Advanced Cluster Security for Kubernetes 为以下场景创建新警报:
- 第一次部署时会发生策略违反情况。
- 当您解决部署中的前一个运行时警报后,会发生运行时策略违反情况。
第 13 章 与 Splunk 集成
如果使用 Splunk,您可以将警报从 Red Hat Advanced Cluster Security for Kubernetes 转发到 Splunk,并在 Splunk 内查看漏洞和合规性相关数据。
根据您的用例,您可以使用以下方法将 Red Hat Advanced Cluster Security for Kubernetes 与 Splunk 集成:
在 Splunk 中使用 HTTP 事件收集器
- 使用 event collector 选项转发警报和审计日志数据
使用 StackRox Kubernetes 安全平台附加组件
使用附加组件将漏洞检测和合规性数据拉取到 Splunk
注意只有在使用 Red Hat Advanced Cluster Security for Kubernetes 版本 3.0.51.0 或更高版本时才提供 StackRox Kubernetes 安全平台附加组件。
您可以使用这些集成选项之一或两个集成选项,将 Red Hat Advanced Cluster Security for Kubernetes 与 Splunk 集成。
13.1. 使用 HTTP 事件收集器
您可以使用 HTTP 事件收集器将警报从 Red Hat Advanced Cluster Security for Kubernetes 转发到 Splunk。
使用 HTTP 事件收集器将 Red Hat Advanced Cluster Security for Kubernetes 与 Splunk 集成,请按照以下步骤操作:
- 在 Splunk 中添加新的 HTTP 事件收集器,并获取令牌值。
- 使用令牌值在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。
- 识别您要发送通知的策略,并更新这些策略的通知设置。
13.1.1. 在 Splunk 中添加 HTTP 事件收集器
为您的 Splunk 实例添加新的 HTTP 事件收集器,并获取令牌。
流程
- 在 Splunk 仪表板中,导航到 Settings → Add Data。
- 单击 Monitor。
- 在 Add Data 页面上,单击 HTTP Event Collector。
- 为事件收集器输入 Name,然后点 Next >。
- 接受默认的 Input Settings 并点 Review >。
- 检查事件收集器属性,并点击 Submit >。
- 复制事件收集器的 Token Value。您需要此令牌值来配置在 Red Hat Advanced Cluster Security for Kubernetes 中与 Splunk 的集成。
13.1.1.1. 启用 HTTP 事件收集器
您必须启用 HTTP 事件收集器令牌,然后才能接收事件。
流程
- 在 Splunk 仪表板中,导航到 Settings → Data inputs。
- 点 HTTP Event Collector。
- 点 Global Settings。
- 在打开的对话框中,单击 Enabled,然后单击 Save。
13.1.2. 在 Red Hat Advanced Cluster Security for Kubernetes 中配置 Splunk 集成
使用令牌值在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新的 Splunk 集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 Splunk。
-
点 New Integration (
添加
图标)。 - 输入 Integration Name 的名称。
-
在 HTTP 事件收集器 URL 字段中输入 Splunk URL。如果对于 HTTPS 不是
443
,对于 HTTP 不是80
,则需要指定一个端口号。您还必须在 URL 末尾添加 URL 路径/services/collector/event
。例如:https://<splunk-server-path>:8088/services/collector/event
。 在 HTTP Event Collector Token 字段中输入您的令牌。
注意如果您使用 Red Hat Advanced Cluster Security for Kubernetes 版本 3.0.57 或更新版本,可以为 Alert 事件和 Source Type 指定 Audit 事件。
-
选择 Test (
checkmark
图标)以发送测试信息以验证与 Splunk 集成是否有效。 -
选择 Create (
保存
图标)以创建配置。
13.1.3. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 Splunk notifier。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- Red Hat Advanced Cluster Security for Kubernetes 会根据需要发送通知。要接收通知,您必须首先为策略分配一个通知程序。
- 通知仅针对给定警报发送一次。如果您为策略分配了通知程序,则不会收到通知,除非有违反情况生成新的警报。
Red Hat Advanced Cluster Security for Kubernetes 为以下场景创建新警报:
- 第一次部署时会发生策略违反情况。
- 当您解决部署中的前一个运行时警报后,会发生运行时策略违反情况。
13.2. 使用 StackRox Kubernetes 安全平台附加组件
您可以使用 StackRox Kubernetes 安全平台附加组件,将 Red Hat Advanced Cluster Security for Kubernetes 升级到 Splunk 的漏洞检测和合规性相关的数据转发到 Splunk。
首先为 Red Hat Advanced Cluster Security for Kubernetes 中所有资源生成具有读取权限的 API 令牌,然后使用该令牌安装和配置附加组件。
13.2.1. 安装和配置 Splunk 附加组件
您可以从 Splunk 实例安装 StackRox Kubernetes 安全平台附加组件。
前提条件
-
您必须具有一个 API 令牌,并且具有对 Red Hat Advanced Cluster Security for Kubernetes 的所有资源的
read
权限。您可以分配 Analyst 系统角色来授予这个级别的访问权限。Analyst 角色具有所有资源的读取权限。
流程
- 从 Splunkbase 下载 StackRox Kubernetes 安全平台附加组件。
- 进入到 Splunk 实例上的 Splunk 主页。
- 进入 Apps → Manage Apps。
- 选择 Install app from file。
- 在 Upload app 弹出窗口中,选择 Choose File 并选择 StackRox Kubernetes Security Platform add-on 文件。
- 点 Upload。
- 点 Restart Splunk 并确认重启。
- Splunk 重新启动后,从 Apps 菜单中选择 StackRox。
- 单击 Create New Input。
- 选择 StackRox Compliance,以拉取合规性数据或 StackRox 漏洞管理,以将漏洞数据拉取到 Splunk 中。
- 输入 Name 作为输入。
- 选择一个 Interval 从 Red Hat Advanced Cluster Security for Kubernetes 中拉取数据。例如,每 14400 秒。
- 选择您要发送数据的 Splunk Index。
- 对于 Central Endpoint,输入您中央实例的 IP 地址或名称。
- 输入您为附加组件生成的 API 令牌。
- 点 Add。
第 14 章 与镜像漏洞扫描程序集成
Red Hat Advanced Cluster Security for Kubernetes (RHACS)与各种漏洞扫描程序集成,以便您导入容器镜像并监控它们是否存在漏洞。您可以设置 Red Hat Advanced Cluster Security for Kubernetes 从很多开源和商业容器镜像漏洞扫描程序中获取镜像漏洞数据,包括:
如果您在 DevOps 工作流中使用这些产品之一,您可以使用 RHACS 门户配置与 RHACS 的连接。集成后,您的镜像漏洞将出现在 RHACS 门户中,您可以轻松分类它们。
14.1. 与 CoreOS Clair 集成
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 CoreOS Clair 集成,以便静态分析您的镜像中的漏洞。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 CoreOS Clair。
- 单击新建集成。
输入以下字段的详情:
- 集成名称 :集成的名称。
- endpoint :扫描程序的地址。
- (可选)如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全 )。
- (可选)选择 Test 以测试与所选 registry 的集成是否正常工作。
- 选择 Save。
14.2. 与 Google Container Registry 集成
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Google Container Registry (GCR)集成,以便容器分析和漏洞扫描。
前提条件
- 您必须具有 Google Container Registry 的服务帐户密钥。
- 关联的服务帐户有权访问 registry。如需有关授予用户和其他项目访问权限的信息,请参阅配置访问控制。
如果使用 GCR Container Analysis,则已向服务帐户授予以下角色:
- 容器分析备注器
- 容器分析器器
- 存储对象查看器
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
在 Image Integrations 部分下,选择 Google Container Registry。
此时会打开 Configure image integrate modal。
- 单击 New Integration。
输入以下字段的详情:
- 集成名称 :集成的名称。
- 类型 :选择扫描 器。
- 注册表端点 :registry 的地址。
- 项目 :Google Cloud 项目名称。
- 用于验证服务帐户密钥(JSON) 的服务帐户密钥。
-
选择 Test (
勾号图标
)以测试与所选 registry 的集成是否有效。 -
选择 Create (
保存
图标)以创建配置。
14.3. 与 Quay Container Registry 集成以扫描镜像
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Quay Container Registry 集成以扫描镜像。
前提条件
- 您必须具有 OAuth 令牌才能使用 Quay Container Registry 进行身份验证才能扫描镜像。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 在 Image Integrations 部分下,选择 Red Hat Quay.io。
- 单击新建集成。
- 输入 Integration name。
在 Type 下,选择 Scanner。(如果您也与 registry 集成,请选择 Scanner + Registry。) 在以下字段中输入信息:
- endpoint :输入 registry 地址。
- OAuth 令牌 :输入 RHACS 用来使用 API 进行身份验证的 OAuth 令牌。
-
可选: Robot username:如果要配置 Scanner + Registry 并使用 Quay 机器机器帐户访问 registry,以 Quay robot account, enter the user name in the format
<namespace>+<accountname>
格式输入用户名。 - 可选: Robot password :如果要配置 Scanner + Registry,且要使用 Quay 机器人帐户帐户访问 registry,请输入机器人帐户用户名的密码。
- 可选: 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
- 可选: 要在不测试的情况下创建集成,请选择 Create integration without testing。
- 选择 Save。
如果要编辑 Quay 集成,但不想更新凭证,请验证是否未选择 更新存储的凭证。
第 15 章 与 JIRA 集成
如果使用 JIRA,您可以将 Red Hat Advanced Cluster Security for Kubernetes 中的警报转发到 JIRA。
以下步骤代表了将 Red Hat Advanced Cluster Security for Kubernetes 与 JIRA 集成的高级工作流:
- 在 JIRA 中设置用户。
- 使用 JIRA URL、用户名和密码与 Red Hat Advanced Cluster Security for Kubernetes 集成。
- 识别您要发送通知的策略,并更新这些策略的通知设置。
15.1. 配置 JIRA
首先创建新用户,并分配适当的角色和权限。
前提条件
- 您需要具有有权限的 JIRA 帐户,以在要集成的项目中创建并编辑问题。
流程
在 JIRA 中创建用户,该用户有权访问您要为其创建问题的项目:
- 要创建新用户,请参阅 JIRA 文档主题 Create、edit 或 remove a user。
要授予用户项目角色和应用程序的访问权限,请参阅 JIRA 文档主题将用户分配给组、项目角色和应用程序。
注意如果使用 JIRA Software Cloud,在创建用户后,必须为该用户创建一个令牌:
- 进入 https://id.atlassian.com/manage/api-tokens 以生成新的令牌。
- 在配置 Red Hat Advanced Cluster Security for Kubernetes 时,使用令牌作为密码。
15.2. 配置 Red Hat Advanced Cluster Security for Kubernetes
使用 JIRA 服务器 URL 和用户凭证在 Red Hat Advanced Cluster Security for Kubernetes 中创建一个新集成。
流程
- 在 RHACS 门户网站中,进入 Platform Configuration → Integrations。
- 向下滚动到 Notifier Integrations 部分,然后选择 JIRA Software。
- 单击 New Integration。
- 输入 Integration Name 的名称。
- 在 Username 和 Password 或 API Token 框中输入用户凭证。
- 对于 Issue Type,请输入有效的 JIRA Issue Type,如 任务、sub-task 或 Bug。
- 在 JIRA URL 框中输入 JIRA 服务器 URL。
- 在 Default Project 框中输入您要在其中创建问题的项目密钥。
- 使用 注解键用于项目 框,在不同的 JIRA 项目中创建问题。
- 如果您在 JIRA 项目中使用自定义优先级,请使用 Priority Mapping 切换来配置自定义优先级。
如果您在 JIRA 项目中使用强制自定义字段,在 Default Fields JSON (必需项 If Required Fields)框中以 JSON 值的形式输入它们。例如:
{ "customfield_10004": 3, "customfield_20005": "Alerts", }
-
选择 Test (
checkmark
图标)来测试与 JIRA 的集成是否有效。 -
选择 Create (
保存
图标)以创建配置。
15.2.1. 在不同的 JIRA 项目中创建问题
您可以配置 Red Hat Advanced Cluster Security for Kubernetes,以在不同的 JIRA 项目中创建问题,以便它们直接进入正确的团队。
前提条件
- 您必须具有要将警报发送到的每个项目具有访问权限的帐户。
流程
在部署 YAML 文件中添加类似如下的注解:
jira/project-key: <jira_project_key>
-
在配置 Red Hat Advanced Cluster Security for Kubernetes 时,使用 Annotation Key for Project 字段中的注解键
jira/project-key
。
配置完成后,如果部署在 YAML 文件中有一个注解,Red Hat Advanced Cluster Security for Kubernetes 会将警报发送到为该注解指定的项目。否则,警报将发送到 default 项目。
15.2.2. 在 JIRA 中配置自定义优先级
如果您在 JIRA 项目中使用自定义优先级,您可以在 Red Hat Advanced Cluster Security for Kubernetes 中配置它们。
流程
- 在 Red Hat Advanced Cluster Security for Kubernetes 中配置 JIRA 集成时,打开 优先级映射 切换。Red Hat Advanced Cluster Security for Kubernetes 获取 JIRA 项目模式,并自动填写 CRITICAL_SEVERITY, HIGH_SEVERITY, MEDIUM_SEVERITY, 和 LOW_SEVERITY 字段的值。
- 根据您的 JIRA 项目配置验证或更新优先级值。
-
选择 Test (
checkmark
图标)来测试与 JIRA 的集成是否有效。 -
选择 Create (
保存
图标)以创建配置。
如果出现错误,请按照 Troubleshooting JIRA 集成部分 中的说明进行操作。
15.3. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择 JIRA notifier。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- Red Hat Advanced Cluster Security for Kubernetes 会根据需要发送通知。要接收通知,您必须首先为策略分配一个通知程序。
- 通知仅针对给定警报发送一次。如果您为策略分配了通知程序,则不会收到通知,除非有违反情况生成新的警报。
Red Hat Advanced Cluster Security for Kubernetes 为以下场景创建新警报:
- 第一次部署时会发生策略违反情况。
- 当您解决部署中的前一个运行时警报后,会发生运行时策略违反情况。
15.4. JIRA 集成故障排除
如果您在 JIRA 项目中使用自定义优先级或强制自定义字段,在尝试将 Red Hat Advanced Cluster Security for Kubernetes 与 JIRA 软件集成时可能会出现错误。这个错误可能是因为严重性和优先级字段值之间的不匹配。
如果您不知道 JIRA 项目中的自定义优先级值,请使用 roxctl
CLI 为 JIRA 集成启用调试日志记录。
流程
要从 JIRA 项目获取自定义优先级值,请运行以下命令为 JIRA 集成打开 debug 日志记录:
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug log --level Debug --modules notifiers/jira
- 按照配置 Red Hat Advanced Cluster Security for Kubernetes for JIRA 集成的说明进行操作。当您测试集成时,即使集成测试失败,生成的日志会包含您的 JIRA 项目模式和自定义优先级。
要将调试信息保存为压缩的
.zip
文件,请运行以下命令:$ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug dump
-
解压缩
.zip
文件,以检索 JIRA 项目中使用的自定义优先级值。 要关闭 debug 日志记录,请运行以下命令:
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central debug log --level Info
- 再次配置 Red Hat Advanced Cluster Security for Kubernetes for JIRA 集成,并使用优先级值配置自定义优先级。
第 16 章 与电子邮件集成
配置 Red Hat Advanced Cluster Security for Kubernetes (RHACS),将有关策略违反情况的警报发送到标准电子邮件供应商。
通过将警报从 RHACS 转发到标准电子邮件提供程序,您可以使用电子邮件作为通知方法。要将来自 RHACS 平台的警报转发到电子邮件地址,您可以使用 Default Recipient
字段将电子邮件发送到标准和集中式团队,或使用部署注解来指定通知受众。
使用注解键,您可以定义对象来通知与部署或命名空间关联的策略违反情况。如果部署有一个注解,注解的值会覆盖默认值。如果命名空间有一个注解,则命名空间的值会覆盖默认值。
- 如果部署具有注解密钥和定义的受众,则会向该密钥定义的受众发送一封电子邮件。
- 如果部署没有注解键,则会为注解键检查命名空间,并将电子邮件发送到定义的受众。
- 如果没有注解键,则会将电子邮件发送到集成中定义的默认接收者。
16.1. 配置电子邮件插件
RHACS 通知程序可将电子邮件发送到集成中指定的收件人,也可以使用注解来确定接收者。
使用注解来动态决定电子邮件接收者:
在部署 YAML 文件中添加类似以下示例的注解,其中
email
是您在电子邮件集成中指定的注解键
。annotations: email: <email_address>
-
配置 RHACS 时,使用 接收者字段的注解密钥
电子邮件
。
您可以为部署或命名空间创建注解。
如果您使用注解配置了部署或命名空间,RHACS 平台会将警报发送到注解中指定的电子邮件。否则,它将警报发送到默认接收者。
流程
- 导航到 Platform Configuration → Integrations。
- 在 Notifier Integrations 部分下,选择 Email。
- 选择 New Integration。
- 在 Integration name 字段中输入您的电子邮件集成名称。
-
在 Email server 字段中,输入您的电子邮件服务器地址。电子邮件地址包括完全限定域名(FQDN)和端口号;例如,
smtp.example.com:465
。 可选:如果您使用未经身份验证的 SMTP,请选择" 启用未经身份验证的 SMTP "。这是不安全的,我们不建议使用,但某些集成可能是必需的。例如,如果您在不需要身份验证的通知中使用内部服务器,您可能需要启用这个选项。
注意您不能更改使用身份验证启用未经身份验证的 SMTP 的现有电子邮件集成。您必须删除现有集成,并创建一个选择 Enable未经身份验证的 SMTP 的新集成。
- 输入用于身份验证的服务帐户的用户名和密码。
-
可选:输入您要显示在 From 字段中的
FROM
标头的 FROM 标头中的名称,如Security Alerts
。 -
指定要在 Sender 字段中的
SENDER
标头中显示的电子邮件地址。 - 在 Default 接收者 字段中指定接收通知的电子邮件地址。
- 可选:在 接收者 的注解键 中输入一个 注解键。如果您提供注解和部署或命名空间带有这个值的键,则通知将发送到注解中的电子邮件地址。否则,通知将发送到 Default Recipient 字段中指定的电子邮件。
可选: 选择 Disable TLS 证书验证(不安全) 在没有 TLS 的情况下发送电子邮件。您不应该禁用 TLS,除非您使用的是 StartTLS。
注意使用 TLS 作为电子邮件通知。如果没有 TLS,所有电子邮件都会以未加密的方式发送。
可选: 要使用 StartTLS,请从 Use STARTTLS (需要禁用 TLS) 下拉菜单中选择 Login 或 Plain。
重要使用 StartTLS 时,凭证会在建立会话加密前以纯文本形式传递给电子邮件服务器。
-
带有 Login 参数的 StartTLS 会以
base64
编码字符串发送身份验证凭据。 - 使用 Plain 参数的 StartTLS 以纯文本形式将身份验证凭据发送到您的邮件中继。
-
带有 Login 参数的 StartTLS 会以
16.2. 配置策略通知
为系统策略启用警报通知。
流程
- 在 RHACS 门户网站中,导航到 Platform Configuration → Policies。
- 选择您要为其发送警报的一个或多个策略。
- 在 Bulk 操作 下,选择 Enable notification。
在 Enable notification 窗口中,选择电子邮件通知程序。
注意如果您还没有配置任何其他集成,系统会显示一条没有配置通知程序的消息。
- 单击 Enable。
- Red Hat Advanced Cluster Security for Kubernetes 会根据需要发送通知。要接收通知,您必须首先为策略分配一个通知程序。
- 通知仅针对给定警报发送一次。如果您为策略分配了通知程序,则不会收到通知,除非有违反情况生成新的警报。
Red Hat Advanced Cluster Security for Kubernetes 为以下场景创建新警报:
- 第一次部署时会发生策略违反情况。
- 当您解决部署中的前一个运行时警报后,会发生运行时策略违反情况。