デプロイメントガイド
Red Hat Enterprise Linux および Red Hat OpenShift への Trusted Profile Analyzer サービスのデプロイ
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Trusted Profile Analyzer (RHTPA) デプロイメントガイドへようこそ。
このガイドは、Red Hat OpenShift Container Platform または Red Hat Enterprise Linux に Red Hat Trusted Profile Analyzer (RHTPA) ソフトウェアスタックをデプロイする際に役立ちます。新しい RHTPA をデプロイメントする場合は、まず ターゲットのインストールプラットフォーム を選択します。
公式の RHTPA リリースノートは、こちら で確認できます。
第1章 インストールプラットフォームの選択 リンクのコピーリンクがクリップボードにコピーされました!
システム管理者は、Red Hat Trusted Profile Analyzer (RHTPA) を実行するために 2 つの異なるインストールプラットフォームを選択できます。RHTPA は、Red Hat OpenShift Container Platform または Red Hat Enterprise Linux にデプロイできます。シングルサインオン (SSO) や OpenShift Data Foundation などの Red Hat サービスを使用することも、認証、ストレージ、データベースアクセスのインフラストラクチャーとして Amazon Web Services (AWS) を使用することもできます。
対象のインストールプラットフォームを選択します。
1.1. Ansible を使用して Trusted Profile Analyzer をインストールする リンクのコピーリンクがクリップボードにコピーされました!
Red Hat が提供する Ansible Playbook を使用して、Red Hat Enterprise Linux に Red Hat Trusted Profile Analyzer (RHTPA) をインストールできます。この RHTPA の Ansible デプロイメントでは、独自の PostgreSQL データベース、OpenID Connect (OIDC) プロバイダー、および Simple Storage Service (S3) プロバイダーを指定できます。
前提条件
- Red Hat Enterprise Linux バージョン 9.3 以降。
- Red Hat Hybrid Cloud Console にアクセスする Red Hat ユーザーアカウント。
- 設定された OIDC プロバイダー (Red Hat の SSO または Amazon Cognito のいずれか)。
- ストレージプロバイダー (Red Hat OpenShift Data Foundation または Amazon S3)。
- 利用可能な PostgreSQL または Amazon RDS データベースインスタンス。
手順
- Red Hat 認証情報を使用して Red Hat Hybrid Cloud コンソール にログインします。
- ホームページから、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 データベースの永続ストレージと、ソフトウェア部品表 (SBOM) および脆弱性悪用可能性交換 (VEX) ドキュメントを保存するためのオブジェクトストレージです。オブジェクトストアのサイズは、最初に RHTPA にアップロードする予定の SBOM および VEX ドキュメントの数によって異なります。また、ドキュメントを追加または更新するときに予測されるストレージの増加を考慮し、予期しない増加のためのバッファーをストレージの見積もりに含めます。
たとえば、平均ドキュメントサイズが 500 KB の SBOM ドキュメントを 10,000 個アップロードする場合、初期のオブジェクトストレージサイズは 5 GB になります。今後 1 年間、新しい SBOM ドキュメントを作成するか、既存の SBOM ドキュメントを 1 日に 100 回更新すると、オブジェクトストレージの増加を見積もることができます。この例では、今後 1 年間で 18.25 GB のストレージの増加を計画できます。たとえば 20% のバッファーを追加すると、推定されるオブジェクトストレージ割り当ての合計は約 28 GB になります。
開始時に使用できるベースラインの CPU、メモリー、およびストレージリソースは次のとおりです。
- 4 CPU コア
- 8 GB の RAM
- データベース用ストレージ 45 GB
- オブジェクト用の 45 GB のストレージ
1.3. Operator Lifecycle Manager を使用して Trusted Profile Analyzer をインストールする リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Trusted Profile Analyzer (RHTPA) Operator をインストールし、OpenShift の Operator Lifecycle Manager (OLM) を使用して RHTPA サービスをデプロイできます。このデプロイメントにより、基本的な RHTPA 環境と、サービスを管理するための Web ベースのユーザーインターフェイス (UI) が提供されます。Red Hat のシングルサインオン (SSO) テクノロジーまたは Amazon Web Services (AWS) の Cognito のいずれかを OpenID Connect (OIDC) プロバイダーとして設定できます。ストレージには、Red Hat の OpenShift Data Foundation または AWS S3 のいずれかを設定できます。また、PostgreSQL データベースを設定するか、Amazon のリレーショナルデータベースサービス (RDS) を使用してアドバイザリーデータと分析データを保存することもできます。
OpenShift への RHTPA Operator のデプロイは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat では実稼働環境での使用を推奨していません。これらの機能により、今後の製品機能への早期アクセスが可能になり、お客様は開発プロセス中に機能をテストし、フィードバックを提供できるようになります。詳細は、Red Hat テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
- Red Hat OpenShift Container Platform 4.16 以降。
-
cluster-adminロールでの OpenShift Web コンソールへのアクセス。 - 設定された OIDC プロバイダー (Red Hat の 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 ボタンをクリックします。インストールが完了するまで待ちます。
- RHTPA Operator のインストールが完了したら、View Operator ボタンをクリックします。
Trusted Profile Analyzer サービスをデプロイします。
- Red Hat Trusted Profile Analyzer Operator ページの Details タブで、TrustedProfileAnalyzer タイルの Create instance リンクをクリックします。
- Create TrustedProfileAnalyzer ページで、YAML view を選択します。
-
AWS サービス または Red Hat サービス の Helm チャートから OIDC プロバイダー、ストレージ、およびインポーターのセクションをコピーし、
仕様セクションの下に貼り付けます。 - 環境に合わせて OIDC プロバイダー、ストレージ、およびインポーターの値を更新します。
- Create ボタンをクリックします。
- Pod が稼働していることを確認して、新しい Trusted Profile Analyzer サービスの健全性を確認できます。アクセスルート URL が公開されていること、Trusted Profile Analyzer サービスにアクセスできることも検証できます。
1.4. Amazon Web Services で Helm を使用して Trusted Profile Analyzer をインストールする リンクのコピーリンクがクリップボードにコピーされました!
Red Hat の Helm チャートを使用して、Red Hat の Trusted Profile Analyzer (RHTPA) サービスを OpenShift にインストールできます。この手順では、Helm のカスタマイズされた値ファイルを使用して Amazon Web Services (AWS) を RHTPA と統合する方法を説明します。
インストール後にシークレット値が変更されると、OpenShift は RHTPA を再デプロイします。
前提条件
バージョン 4.16 以降を実行している Red Hat OpenShift Container Platform クラスター。
- HTTPS を使用する公的に信頼された証明書を提供するための Ingress リソースのサポート。
- Helm バージョン 3.17 以上。
- Helm の Transport Layer Security (TLS) 証明書のプロビジョニング 機能。
次のサービスにアクセスできる AWS アカウント:
- Simple Storage Service (S3)
- PostgreSQL データベースインスタンスを使用するリレーショナルデータベースサービス (RDS)。
- 既存の Cognito ドメインを使用する Cognito。
次の バージョンなし の S3 バケット名が 作成されている。
-
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 command をクリックします。ユーザー名とパスワードをもう一度入力し、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 情報に置き換えます。この情報は、AWS Cognito Console の User pool overview セクションで確認できます。
-
UNIQUE_ID を、
trustify-S3 バケットの一意のバケット名に置き換えます。 - ファイルを保存して、エディターを終了します。
AWS 認証情報を使用して、S3 ストレージシークレットリソースを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenID Connect (OIDC) クライアントシークレットリソースを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Amazon RDS 認証情報を使用して、2 つの PostgreSQL データベースシークレットリソースを作成します。
PostgreSQL 標準ユーザーシークレットリソース:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL 管理者シークレットリソース:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - AWS マネジメントコンソールから、ポート 5432 を許可するように Amazon Virtual Private Cloud (VPC) security group を設定します。
新規ファイルを開いて編集します。
vi values-importers.yaml
$ vi values-importers.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
RHTPA インポーター値ファイルテンプレート をコピーして、新しい
values-importers.yamlファイルに貼り付けます。 - ファイルを保存して、エディターを終了します。
-
RHTPA インポーター値ファイルテンプレート をコピーして、新しい
シェル環境を設定します。
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 チャートリポジトリーを追加します。
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 チャートリポジトリーから最新のチャート情報を取得します。
helm repo update
$ helm repo updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow Helm チャートを実行します。
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 チャートを何度も実行して、値ファイルから現在設定されている状態を適用できます。
インストールが完了したら、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. Red Hat サービスで Helm を使用して Trusted Profile Analyzer をインストールする リンクのコピーリンクがクリップボードにコピーされました!
Red Hat の Helm チャートを使用して、Red Hat の Trusted Profile Analyzer (RHTPA) サービスを OpenShift にインストールできます。Red Hat OpenShift Data Foundation ストレージインフラストラクチャー、OpenID Connect (OIDC) プロバイダーとしての Red Hat のシングルサインオン (SSO)、および PostgreSQL データベースが必要です。この手順では、Helm のカスタマイズされた値ファイルを使用して、さまざまなサービスを RHTPA と統合する方法を説明します。
インストール後にシークレット値が変更されると、OpenShift は RHTPA を再デプロイします。
前提条件
バージョン 4.16 以降を実行している Red Hat OpenShift Container Platform クラスター。
- HTTPS を使用する公的に信頼された証明書を提供するための Ingress リソースのサポート。
- Helm バージョン 3.17 以上。
- 認証用の OIDC プロバイダーとしての Red Hat SSO。
- S3 ストレージ用の Red Hat OpenShift Data Foundation。
バージョンなしの次の 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 command をクリックします。ユーザー名とパスワードをもう一度入力し、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 ストレージシークレットリソースを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow OIDC クライアントシークレットリソースを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow データベース認証情報を使用して、2 つの PostgreSQL データベースシークレットリソースを作成します。
PostgreSQL 標準ユーザーシークレットリソース:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL 管理者シークレットリソース:
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 インポーター値ファイルテンプレート をコピーして、新しい
values-importers.yamlファイルに貼り付けます。 - ファイルを保存して、エディターを終了します。
-
RHTPA インポーター値ファイルテンプレート をコピーして、新しい
シェル環境を設定します。
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 チャートリポジトリーを追加します。
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 チャートリポジトリーから最新のチャート情報を取得します。
helm repo update
$ helm repo updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow Helm チャートを実行します。
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 チャートを何度も実行して、値ファイルから現在設定されている状態を適用できます。
インストールが完了したら、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 リンクのコピーリンクがクリップボードにコピーされました!
RHTPA Helm チャートで使用するための、Amazon Web Services (AWS) 値ファイルテンプレートを使用した Red Hat の Trusted Profile Analyzer (RHTPA)。
付録B Red Hat Trusted Profile Analyzer と Red Hat サービス値ファイルテンプレート リンクのコピーリンクがクリップボードにコピーされました!
RHTPA Helm チャートによって使用される Red Hat サービス値ファイルテンプレートを備えた Red Hat の Trusted Profile Analyzer (RHTPA)。
付録C Red Hat Trusted Profile Analyzer インポーター値ファイルテンプレート リンクのコピーリンクがクリップボードにコピーされました!
RHTPA Helm チャートによって使用されるデフォルトのインポーターを含む、Red Hat の Trusted Profile Analyzer (RHTPA) 値ファイルテンプレート。