部署指南
在 Red Hat Enterprise Linux 和 Red Hat OpenShift 上部署 Trusted Profile Analyzer 服务
摘要
前言 复制链接链接已复制到粘贴板!
欢迎使用红帽受信任的配置文件分析器(RHTPA)部署指南!
本指南帮助您在 Red Hat OpenShift Container Platform 或 Red Hat Enterprise Linux 上部署 Red Hat Trusted Profile Analyzer (RHTPA)软件堆栈。对于新的 RHTPA 部署,首先选择 您的目标安装平台。
您可以在此处查看官方 RHTPA 发行注记。https://docs.redhat.com/en/documentation/red_hat_trusted_profile_analyzer/2.1/html/release_notes/
第 1 章 选择安装平台 复制链接链接已复制到粘贴板!
作为系统管理员,您可以选择两个不同的安装平台来运行 Red Hat Trusted Profile Analyzer (RHTPA)。您可以将 RHTPA 部署到 Red Hat OpenShift Container Platform 或 Red Hat Enterprise Linux。您还可以选择使用红帽服务,如单点登录(SSO)和 OpenShift Data Foundation,也可以使用 Amazon Web Services (AWS)作为基础架构进行身份验证、存储和数据库访问。
选择您的目标安装平台:
1.1. 使用 Ansible 安装受信任的配置文件分析器 复制链接链接已复制到粘贴板!
您可以使用红帽提供的 Ansible Playbook 在 Red Hat Enterprise Linux 上安装 Red Hat Trusted Profile Analyzer (RHTPA)。此 Ansible 部署 RHTPA 允许您指定自己的 PostgreSQL 数据库、OpenID Connect (OIDC)供应商和简单存储服务(S3)供应商。
先决条件
- Red Hat Enterprise Linux 9.3 或更高版本。
- 用于访问 Red Hat Hybrid Cloud 控制台的红帽用户帐户。
- 配置了 OIDC 供应商,可以是红帽的 SSO 或 Amazon Cognito。
- 存储供应商,可以是 Red Hat OpenShift Data Foundation 或 Amazon S3。
- 一个可用的 PostgreSQL 或 Amazon RDS 数据库实例。
流程
- 使用您的红帽凭证登录到 Red Hat Hybrid Cloud Console。
- 在主页中,点 Services 下拉菜单,然后点 Red Hat Ansible Automation Platform。
- 在导航菜单中展开 Automation Hub,然后点 Collections。
- 在搜索字段中,键入 rhtpa 并按 enter。
- 点 Red Hat Trusted Profile Analyzer 标题上的 trusted_profile_analyzer 链接。
单击 Documentation 选项卡,然后按照以下步骤在 Red Hat Enterprise Linux 上完成 RHTPA 安装。
注意有关所有配置参数的详细概述,请单击 Roles 部分下的 tpa_single_node 链接。
1.2. 在 OpenShift 中部署的资源建议 复制链接链接已复制到粘贴板!
在 Red Hat OpenShift 上部署 Red Hat Trusted Profile Analyzer (RHTPA)前,了解如何调整基础架构资源的大小对于在负载下运行最佳服务非常重要。要考虑的关键基础架构组件是 PostgreSQL 数据库的持久性存储,用于存储供应链元数据,以及用于存储软件 Bill of Material (SBOM)和漏洞扩展 eXchange (VEX)文档的对象存储。对象存储的大小取决于您计划最初上传到 RHTPA 的 SBOM 和 VEX 文档的数量。另外,在添加或更新文档时,请考虑您的预计存储增长,然后在您的存储估算中包含意外增长的缓冲区。
例如,如果您上传 10,000 个 SBOM 文档,其平均文档大小为 500 KB,则您的初始对象存储大小为 5 GB。在接下来的一年中,您将创建新的 SBOM 文档,或更新现有的 SBOM 文档,每天 100 次记录,然后您可以估算您的对象存储增长。在本例中,您可以计划明年的 18.25 GB 存储的增长。在某些缓冲区中,说 20%,预计对象存储分配总量会大约有 28 GB。
以下是您可以开始使用的基准 CPU、内存和存储资源:
- 4 个 CPU 内核
- 8 GB RAM
- 数据库的 45 GB 存储
- 45 GB 存储用于对象
1.3. 使用 Operator Lifecycle Manager 安装受信任的配置文件分析器 复制链接链接已复制到粘贴板!
您可以安装 Red Hat Trusted Profile Analyzer (RHTPA) Operator,并使用 OpenShift 的 Operator Lifecycle Manager (OLM)部署 RHTPA 服务。此部署为您提供基本的 RHTPA 环境,以及用于管理该服务的基于 Web 的用户界面(UI)。您可以将红帽的单点登录(SSO)技术或 Amazon Web Services (AWS) Cognito 配置为 OpenID Connect (OIDC)供应商。您可以为红帽 OpenShift Data Foundation 或 AWS S3 配置存储。您还可以配置 PostgreSQL 数据库,或使用 Amazon 的 Relational Database Service (RDS)来存储公告和分析数据。
在 OpenShift 上部署 RHTPA 操作器只是一个技术预览功能。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些功能可让您尽早访问即将推出的产品功能,使客户能够在开发过程中测试并提供反馈。如需了解更多详细信息,请参阅红帽技术预览功能的支持范围。
先决条件
- Red Hat OpenShift Container Platform 4.16 或更高版本。
-
使用
cluster-admin角色访问 OpenShift Web 控制台。 - 配置了 OIDC 供应商,可以是红帽的 SSO 或 Amazon Cognito。
- 存储供应商,可以是 Red Hat OpenShift Data Foundation 或 Amazon S3。
- 一个可用的 PostgreSQL 或 Amazon RDS 数据库实例。
流程
-
使用具有
cluster-admin角色的用户登录 OpenShift Web 控制台。 - 从 Administrator 视角中,展开 Operators 导航菜单,然后点 OperatorHub。
- 在搜索字段中,键入 trusted,然后单击 Red Hat Trusted Profile Analyzer 标题。
- 单击 Install 按钮,以显示 Operator 详情。
- 在 Install Operator 页面中,从下拉菜单中选择安装命名空间,或创建新项目命名空间。接受其余默认值,然后单击 Install 按钮。等待安装完成。
- 安装完成后,单击 View Operator 按钮。
要部署受信任的配置文件分析器服务,请执行以下操作:
- 在 Red Hat Trusted Profile Analyzer Operator 页面中,点 TrustedProfileAnalyzer 标题上的 Create instance 链接。
- 在 Create TrustedProfileAnalyzer 页面中,选择 YAML view。
-
从用于 AWS 服务 或红帽 服务的 Helm Chart 中复制 OIDC 供应商、存储和导入程序部分,并将它们粘贴到
spec部分。 - 为您的环境更新 OIDC 供应商、存储和导入程序值。
- 点 Create 按钮。
- 您可以通过检查 pod 是否已启动并运行,来检查新的 Trusted Profile Analyzer 服务的健康状态。您还可以验证访问路由 URL 以及 Trusted Profile Analyzer 服务是否可以访问。
1.4. 使用带有 Amazon Web Services 的 Helm 安装受信任的配置文件分析器 复制链接链接已复制到粘贴板!
您可以使用来自红帽的 Helm Chart 在 OpenShift 上安装红帽受信任的配置文件分析器(RHTPA)服务。此流程指导您通过使用 Helm 的自定义值文件将 Amazon Web Services (AWS)与 RHTPA 集成。
如果机密值在安装后发生变化,OpenShift 会重新部署 RHTPA。
先决条件
一个运行 4.16 或更高版本的 Red Hat OpenShift Container Platform 集群。
- 支持 Ingress 资源来提供使用 HTTPS 的公开可信证书。
- Helm 版本 3.17 或更高版本。
- 为 Helm 置备传输层安全(TLS)证书 的功能。
可访问以下服务的 AWS 帐户:
- 简单存储服务(S3)
- 使用 PostgreSQL 数据库实例进行关系数据库服务(RDS)
- Cognito 与现有 Cognito 域.
创建了以下 未指定版本的 S3 存储桶名称: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html
-
trustify-UNIQUE_ID
重要这个存储桶名称必须在同一分区中的所有 AWS 区域中的所有 AWS 帐户之间唯一。有关 存储桶命名规则 的更多信息,请参阅 Amazon 的 S3 文档。
-
-
使用
cluster-admin角色访问 OpenShift Web 控制台。 -
安装了
oc和helm二进制文件的工作站。
流程
在工作站中,打开一个终端,然后使用命令行界面登录到 OpenShift:
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
oc login --token=TOKEN --server=SERVER_URL_AND_PORTCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以从 OpenShift Web 控制台找到要在命令行中使用的登录令牌和 URL。登录 OpenShift Web 控制台。点您的用户名,然后点 Copy login 命令。再次提供您的用户名和密码,然后单击 Display Token 以查看该命令。
为 RHTPA 部署创建一个新项目:
oc new-project PROJECT_NAME
oc new-project PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow oc new-project trusted-profile-analyzer
$ oc new-project trusted-profile-analyzerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开新文件进行编辑:
vi values-rhtpa.yaml
$ vi values-rhtpa.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 RHTPA 值文件模板 复制并粘贴到新
values-rhtpa.yaml文件中。 使用相关 AWS 信息更新
values-rhtpa.yaml文件。- 将 REGION,USER_POOL_ID,FRONTEND_CLIENT_ID, 和 CLI_CLIENT_ID 替换为您的相关的 Amazon Cognito 信息。您可以在 User pool overview 部分的 AWS Cognito Console 中找到此信息。
-
将 UNIQUE_ID 替换为您的
trustify-S3 存储桶的唯一存储桶名称。 - 保存文件并退出编辑器。
使用您的 AWS 凭证创建 S3 存储 secret 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 OpenID Connect (OIDC)客户端 secret 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您的 Amazon RDS 凭据创建两个 PostgreSQL 数据库机密资源。
PostgreSQL 标准用户 secret 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL 管理员 secret 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 AWS 管理控制台中配置 Amazon Virtual Private Cloud (VPC)安全组,以允许端口 5432。
打开新文件进行编辑:
vi values-importers.yaml
$ vi values-importers.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 RHTPA importers 值文件模板 复制并粘贴到新
values-importers.yaml文件中。 - 保存文件并退出编辑器。
-
将 RHTPA importers 值文件模板 复制并粘贴到新
设置 shell 环境:
export NAMESPACE=trusted-profile-analyzer export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')$ export NAMESPACE=trusted-profile-analyzer $ export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加 OpenShift Helm Chart 仓库:
helm repo add openshift-helm-charts https://charts.openshift.io/
$ helm repo add openshift-helm-charts https://charts.openshift.io/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 Helm Chart 仓库中获取最新的 Chart 信息:
helm repo update
$ helm repo updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 Helm Chart:
helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values PATH_TO_VALUES_FILE --values PATH_TO_IMPORTER_VALUES_FILE --set-string appDomain=$APP_DOMAIN_URL
helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values PATH_TO_VALUES_FILE --values PATH_TO_IMPORTER_VALUES_FILE --set-string appDomain=$APP_DOMAIN_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa.yaml --values values-importers.yaml --set-string appDomain=$APP_DOMAIN_URL
$ helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa.yaml --values values-importers.yaml --set-string appDomain=$APP_DOMAIN_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以多次运行此 Helm Chart,从 values 文件中应用当前配置的状态。
安装完成后,您可以使用 OIDC 供应商中的用户凭证登录到 RHTPA 控制台。您可以运行以下命令来找到 RHTPA 控制台 URL:
oc -n $NAMESPACE get route --selector app.kubernetes.io/name=server -o jsonpath='https://{.items[0].status.ingress[0].host}{"\n"}'$ oc -n $NAMESPACE get route --selector app.kubernetes.io/name=server -o jsonpath='https://{.items[0].status.ingress[0].host}{"\n"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. 使用带有红帽服务的 Helm 安装受信任的配置文件分析器 复制链接链接已复制到粘贴板!
您可以使用来自红帽的 Helm Chart 在 OpenShift 上安装红帽受信任的配置文件分析器(RHTPA)服务。您需要将红帽的 OpenShift Data Foundation 存储基础架构、红帽单点登录(SSO)作为 OpenID Connect (OIDC)供应商和 PostgreSQL 数据库。此流程指导您使用 Helm 的自定义值文件将这些各种服务与 RHTPA 集成。
如果机密值在安装后发生变化,OpenShift 会重新部署 RHTPA。
先决条件
一个运行 4.16 或更高版本的 Red Hat OpenShift Container Platform 集群。
- 支持 Ingress 资源来提供使用 HTTPS 的公开可信证书。
- Helm 版本 3.17 或更高版本。
- Red Hat SSO 作为用于身份验证的 OIDC 供应商。
- Red Hat OpenShift Data Foundation for S3 存储。
创建了以下未指定版本的 S3 存储桶名称:
-
trustify-UNIQUE_ID
-
- 新的 PostgreSQL 数据库。
-
使用
cluster-admin角色访问 OpenShift Web 控制台。 -
安装了
oc和helm二进制文件的工作站。
流程
在工作站中,打开一个终端,然后使用命令行界面登录到 OpenShift:
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
oc login --token=TOKEN --server=SERVER_URL_AND_PORTCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以从 OpenShift Web 控制台找到要在命令行中使用的登录令牌和 URL。登录 OpenShift Web 控制台。点您的用户名,然后点 Copy login 命令。再次提供您的用户名和密码,然后单击 Display Token 以查看该命令。
为 RHTPA 部署创建一个新项目:
oc new-project PROJECT_NAME
oc new-project PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow oc new-project trusted-profile-analyzer
$ oc new-project trusted-profile-analyzerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开新文件进行编辑:
vi values-rhtpa.yaml
$ vi values-rhtpa.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 RHTPA 值文件模板 复制并粘贴到新
values-rhtpa.yaml文件中。 使用您的信息更新
values-rhtpa.yaml文件。- 将 S3_ENDPOINT_URL 替换为您的相关 S3 存储信息。
- 将 OIDC_ISSUER_URL、FRONTEND_CLIENT_ID 和 CLI_CLIENT_ID 替换为相关的 OIDC 信息。
- 保存文件并退出编辑器。
使用您的凭证创建 S3 存储 secret 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 OIDC 客户端 secret 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您的数据库凭据,创建两个 PostgreSQL 数据库机密资源。
PostgreSQL 标准用户 secret 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL 管理员 secret 资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
打开新文件进行编辑:
vi values-importers.yaml
$ vi values-importers.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 RHTPA importers 值文件模板 复制并粘贴到新
values-importers.yaml文件中。 - 保存文件并退出编辑器。
-
将 RHTPA importers 值文件模板 复制并粘贴到新
设置 shell 环境:
export NAMESPACE=trusted-profile-analyzer export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')$ export NAMESPACE=trusted-profile-analyzer $ export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加 OpenShift Helm Chart 仓库:
helm repo add openshift-helm-charts https://charts.openshift.io/
$ helm repo add openshift-helm-charts https://charts.openshift.io/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 Helm Chart 仓库中获取最新的 Chart 信息:
helm repo update
$ helm repo updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 Helm Chart:
helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values PATH_TO_VALUES_FILE --values PATH_TO_IMPORTER_VALUES_FILE --set-string appDomain=$APP_DOMAIN_URL
helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values PATH_TO_VALUES_FILE --values PATH_TO_IMPORTER_VALUES_FILE --set-string appDomain=$APP_DOMAIN_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa.yaml --values values-importers.yaml --set-string appDomain=$APP_DOMAIN_URL
$ helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa.yaml --values values-importers.yaml --set-string appDomain=$APP_DOMAIN_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以多次运行此 Helm Chart,从 values 文件中应用当前配置的状态。
安装完成后,您可以使用 OIDC 供应商中的用户凭证登录到 RHTPA 控制台。您可以运行以下命令来找到 RHTPA 控制台 URL:
oc -n $NAMESPACE get route --selector app.kubernetes.io/name=server -o jsonpath='https://{.items[0].status.ingress[0].host}{"\n"}'$ oc -n $NAMESPACE get route --selector app.kubernetes.io/name=server -o jsonpath='https://{.items[0].status.ingress[0].host}{"\n"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
附录 A. 使用 AWS 值文件模板的 Red Hat Trusted Profile Analyzer 复制链接链接已复制到粘贴板!
红帽的 Trusted Profile Analyzer (RHTPA)带有 Amazon Web Services (AWS)值文件模板,供 RHTPA Helm Chart 使用。
附录 B. 带有红帽服务值文件模板的 Red Hat Trusted Profile Analyzer 复制链接链接已复制到粘贴板!
红帽的 Trusted Profile Analyzer (RHTPA)带有红帽服务值文件模板,供 RHTPA Helm Chart 使用。
附录 C. Red Hat Trusted Profile Analyzer importer 值文件模板 复制链接链接已复制到粘贴板!
红帽的受信任的配置文件分析器(RHTPA)值文件模板包含 RHTPA Helm Chart 使用的默认导入器。