Red Hat Trusted Application Pipeline のインストール
クラスターに Red Hat Trusted Application Pipeline をインストールする方法を学ぶ
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Trusted Application Pipeline (RHTAP) は、実際には単一の製品ではありません。一連の製品を組み合わせて構成されたものであり、高度な自動化とカスタマイズ性を特徴とする、アプリケーション構築のためのセキュアなプラットフォームです。
デフォルトでは、RHTAP には次の製品が含まれています。
- Advanced Cluster Security (ACS): アーティファクトの脆弱性をスキャンします。
- Developer Hub: アプリケーションのライフサイクル全体にわたる管理を統合するセルフサービスポータル。
- Enterprise Contract: カスタマイズ可能なポリシーに対してアーティファクトを検証します。
- OpenShift GitOps: Kubernetes のデプロイメントとそのインフラストラクチャーを管理します。
- OpenShift Pipelines: ソフトウェアの継続的インテグレーションおよび継続的デリバリー (CI/CD) の自動化と視覚化を実現します。
- Quay.io: アーティファクトを保存するコンテナーレジストリーです。
- Trusted Artifact Signer: RHTAP が生成するアーティファクトに署名し、検証します。
- Trusted Profile Analyzer: セキュリティー体制に関する実用的な情報を提供します。
RHTAP がサポートするこれらの製品の正確なバージョンは、リリースノート の互換性とサポートマトリックスで確認できます。
Red Hat Trusted Application Pipeline は、このデフォルトの製品の組み合わせに代わる多くの選択肢をサポートしています。このドキュメントでは、インストールプロセスの後半で、ニーズに合わせてデプロイメントをカスタマイズする方法を説明します。
完全に機能する RHTAP のインスタンスには、上記のすべての製品が含まれるため、RHTAP のインストールにはある程度の時間と労力が必要です。ただし、コンテナーイメージとしてパッケージ化されたインストーラーツールを使用して、このプロセスの大部分を自動化しました。
RHTAP インストーラーはマネージャーではなく、アップグレードをサポートしません。インストーラーは RHTAP の最初のデプロイメントを生成します。しかし、インストール後は、RHTAP 内で各製品を個別に管理する必要があります。インストーラーは複数回実行できますが、製品の設定を手動で変更した後に実行すると、予期しない結果が生じる可能性があります。
さらに、インストーラーがデプロイする製品は、実稼働環境での使用が可能ですが、概念実証や非常に小規模なチーム向けにサイズが設定されています。大規模なチームの場合は、製品を手動で再設定する必要がある可能性が高く、個々の製品ごとに、文書化された手順に従って実行する必要があります。
最後に、RHTAP サブスクリプションには、Red Hat Developer Hub、Red Hat Trusted Artifact Signer、Red Hat Trusted Profile Analyzer、および Red Hat Enterprise Contract のみが含まれることにご注意ください。RHTAP インストーラーは、上記にリストされている他のすべての製品もデプロイします。ただし、それらを使用するには、OpenShift Plus のサブスクリプションを購入する必要があります。
製品と外部サービスを RHTAP と統合するには、統合コマンドを実行する必要があります。これらのコマンドは、次の両方の方法をサポートしています。
- ターミナルに変数値を手動で入力します。このガイドでは、すべての例でこの方法を使用します。
-
統合コマンドを実行する前に、
private.envファイルを作成して、読み込み、シェルセッションで変数を使用できるようにします。
インストールの手順
インストーラーを使用して RHTAP をインストールするには、次の手順を完了する必要があります。
- RHTAP インストーラーイメージをダウンロードします。
- インストールするコンポーネントおよび機能を制御する ConfigMap を作成します。この設定はクラスターに保存され、デプロイメント時にインストーラーによって使用されます。
- (オプション) ConfigMap をカスタマイズして、後で統合する予定の製品を無効にします。
- 製品と外部サービスを統合します。
- RHTAP をデプロイします。
このドキュメントの次のページでは、それぞれのインストール手順の詳細を説明します。
第1章 Podman にログインしてインストーラーイメージをダウンロードする リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、registry.redhat.io に認証し、Red Hat Trusted Application Pipeline (RHTAP) インストーラーイメージをダウンロードし、インストーラーコンテナーを起動します。インストーラー CLI (rhtap-cli) はこのコンテナー内で実行され、RHTAP コンポーネントのデプロイメントと統合を自動化します。
このステップは、インストールを開始する前に環境が安全に設定されるようにします。
手順
Red Hat レジストリーにログインします。
podman login registry.redhat.io
podman login registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHTAP インストーラーイメージをダウンロードします。
podman pull registry.redhat.io/rhtap-cli/rhtap-cli-rhel9:1.5.0
podman pull registry.redhat.io/rhtap-cli/rhtap-cli-rhel9:1.5.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow インストーラーコンテナーを起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第2章 config.yaml ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、config.yaml ファイルを作成します。このファイルは、Red Hat Trusted Application Pipeline (RHTAP) を OpenShift クラスターにデプロイする方法を定義します。また、RHTAP はインストール中に設定された外部統合を検出して使用できるようになります。
前提条件
-
OpenShift Container Platform (OCP) クラスターへの
cluster-adminアクセス -
アクティブな
rhtap-cliコンテナーセッション
手順
rhtap-cliコンテナーで、クラスター管理者として OpenShift クラスターにログインします。bash-5.1$ oc login https://api.<cluster-domain>:6443 \ --username=cluster-admin \ --password=<your-password>
bash-5.1$ oc login https://api.<cluster-domain>:6443 \ --username=cluster-admin \ --password=<your-password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの設定ファイルを作成します。
bash-5.1$ rhtap-cli config --create
bash-5.1$ rhtap-cli config --createCopy to Clipboard Copied! Toggle word wrap Toggle overflow
このコマンドは、RHTAP がインストールするコンポーネントを定義し、既存のサービスとの統合をサポートする config.yaml ファイルを作成します。このファイルは、後で環境やデプロイメントの要件に合わせてカスタマイズできます。
第3章 config.yaml ファイルのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、製品および外部サービスを統合する前に config.yaml ファイルをカスタマイズします。このファイルをカスタマイズすると、インストール中に統合と設定が保持されます。
前提条件
- OpenShift Web コンソールにアクセスできる。
- 少なくとも 1 つの外部製品またはサービス (RHACS や Quay など) を統合する予定である。
(オプション) フォークされたソフトウェアカタログリポジトリーの URL。RHTAP は、開発者がアプリケーションのひな型を自動生成できるようにするソフトウェアテンプレートのカタログを提供しています。これらのテンプレートをカスタマイズするには、インストール前にリポジトリーをフォークします。
- ブラウザーで、RHTAP software catalog repository に移動します。
Fork をクリックして、リポジトリーをフォークします。
-
Copy the
mainbranch only というラベルの付いたボックスのチェックを外します。
-
Copy the
-
フォークが作成されたら、その URL をコピーして
private.envファイルに保存します。 - フォークされたリポジトリーで、main をクリックしてブランチ/タグのドロップダウンを開きます。
タグ の下で、RHTAP バージョンに一致するリリースを選択します。
注記アップストリームリポジトリーからの変更を含めるために、フォークを定期的に更新します。
手順
- OpenShift コンソールで、Administrator パースペクティブに切り替えます。
- Workloads > ConfigMaps に移動します。
- Project ドロップダウンリストから、RHTAP を選択します。
-
rhtap-cli-configConfigMap を開きます。 YAML ビューを選択し、
config.yamlパラメーターが定義されている場所に移動します。注記クラスターに必要なサブスクリプションまたは Operator がすでに含まれている場合は、
manageSubscriptionプロパティーをfalseに設定し、インストーラーが新しいサブスクリプションや Operator を作成しないようにすることができます。-
manageSubscription: true(デフォルト): インストーラーは、必要なすべての Operator サブスクリプションを管理およびインストールします。
-
manageSubscription: false: インストーラーは、必要な Operator サブスクリプションがクラスター上にすでに存在することを前提とするため、インストールをスキップします。- プリインストールされている Operator が RHTAP と互換性がある ことを確認します。互換性のないバージョンまたは設定により、インストールが失敗する可能性があります。
必要に応じて次のフィールドを更新します。
カスタムソフトウェアカタログを使用するには、
catalogURLを設定します。redhatDeveloperHub: properties: catalogURL: https://github.com/<your-org>/tssc-sample-templates/blob/releases/all.yamlredhatDeveloperHub: properties: catalogURL: https://github.com/<your-org>/tssc-sample-templates/blob/releases/all.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 外部統合されたコンポーネント (例: ACS、Quay) のインストールを無効にするには、以下を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記外部製品または既存のインスタンスを統合しようとしても、
config.yamlをカスタマイズしないと、Red Hat Trusted Application Pipeline はデフォルトの製品をインストールして使用します。rhtap-cli integrationコマンドを有効にするには、config.yamlをカスタマイズする必要があります。ただし、rhtap-cli integrationのconfig.yamlをカスタマイズしない場合は、インストーラーにより製品がデプロイされ、既存の統合が上書きされます。
Developer Hub で RBAC プラグインを有効にするには、
redhatDeveloperHubセクションでRBACプロパティーを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記adminUsersまたはorgsを省略すると、インストーラーは GitHub アプリケーションの統合時に設定された GitHub ユーザーと組織をデフォルトに設定します。
デフォルトの名前空間の代わりにカスタム名前空間を使用するには、
config.yamlファイルのredhatDeveloperHubセクションでnamespacePrefixesプロパティーを設定します。デフォルトでは、RHTAP はインストール中に 4 つの名前空間を作成します。-
rhtap-app-ci: CI パイプラインワークロード用 rhtap-app-development、rhtap-app-stage、およびrhtap-app-prod: 開発、ステージング、および実稼働環境のデプロイメント用namespacePrefixesプロパティーを使用して、これらの名前空間の接頭辞をカスタマイズし、追加の名前空間セットを定義できます。たとえば、カスタム接頭辞を設定して、my_prefix1-app-ci、my_prefix1-app-development、my_prefix1-app-stage、my_prefix1-app-prodなどの名前空間を生成できます。redhatDeveloperHub: namespacePrefixes: - my_prefix1 - my_prefix2redhatDeveloperHub: namespacePrefixes: - my_prefix1 - my_prefix2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必要な変更をすべて完了したら、Save を選択します。
-
第4章 製品および外部サービスの統合 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、既存の製品を統合するか、RHTAP をインストールする前にデフォルトのコンポーネントを置き換えます。既存のサービスを統合すると、データの重複や不要なデプロイメントを回避できます。
RHTAP インストーラーは、連携してセキュアで自動化された CI/CD プラットフォームを形成する一連の製品をデプロイします。ただし、これらの製品のうち 2 つ (Advanced Cluster Security (ACS) と Quay) は、すでに環境にインストールされている可能性があります。いずれかの製品の既存のインスタンスが存在する場合は、そのインスタンスを RHTAP デプロイメントに統合できます。
統合により、データの損失を防ぎ、サービスを重複してデプロイしなくて済みます。既存のインスタンスを統合しない場合は、インストーラーによって新しい名前空間に新しいインスタンスが自動的に作成されます。
さらに、デフォルトの Git、CI、およびレジストリーコンポーネントを、サポート対象の別のコンポーネントに置き換えることもできます。ソースコードリポジトリーや CI ツールなど、一部のカテゴリーでは複数の代替手段を有効にできます。次の表に、デフォルトのコンポーネント、その目的、および使用できる代替コンポーネントを示します。
| Product | 目的 | サポート対象の代替手段 |
|---|---|---|
| GitHub | ソースコードリポジトリー |
|
| Tekton | CI パイプラインエンジン |
|
| Quay | アーティファクトレジストリー | Artifactory |
CI パイプラインの代替手段は SLSA ビルドレベル 2 に準拠しています。Tekton のみが SLSA ビルドレベル 3 に準拠しています。
デフォルトの Git、CI、またはレジストリープロバイダーを置き換えると、RHTAP は対応するプラグインを Red Hat Developer Hub にインストールします。これらのプラグインのほとんどはテクノロジープレビューであるか、コミュニティーによって管理されています。
セキュリティーリスクの可能性とサポートの制限があるため、実稼働環境ではデフォルトコンポーネントを別のコンポーネントに起きけることは推奨されません。
詳細は、Red Hat Trusted Application Pipeline リリースノート のプラグインサポート表と RHDH プラグインのドキュメント を参照してください。
製品を統合したり、インストールをカスタマイズしたりするには、cluster-admin 権限で OpenShift クラスターにログインしているコンテナー内で関連するすべての rhtap-cli コマンドを実行する必要があります。
次の手順では、既存のサービスとサポート対象の代わりのサービスを統合して RHTAP のインストールをカスタマイズする方法について説明します。
4.1. GitHub の統合 リンクのコピーリンクがクリップボードにコピーされました!
RHTAP は GitHub を使用してユーザーを認証し、アプリケーションリポジトリーを作成および管理します。RHTAP をインストールする前に、これらの機能をサポートするように GitHub を設定する必要があります。
GitHub 統合を有効にするには、次の手順を実行します。
- GitHub Personal Access Token を作成します。
- GitHub アプリケーションを作成します。
GitHub Personal Access Token の作成
Personal Access Token (PAT) を作成するには、GitHub 組織を所有している必要があります。既存の GitHub 組織を使用することも、新しい組織を作成することも、管理者に所有権を要求することもできます。
インストール後、GitHub 組織はユーザーがアプリケーションのリポジトリーを生成する場所を提供します。
前提条件
- GitHub 組織の所有権がある。
- Personal Access Token を作成する権限を持つ GitHub ユーザーアカウント。
- GitHub Developer settings へのアクセス。
手順
- GitHub の Developer settings ページに移動します。
- 左側のナビゲーションパネルの Personal access tokens で、Tokens (classic) をクリックします。
- Generate new token ドロップダウンメニューから、Generate new token (classic) を選択します。プロンプトが表示されたら認証します。
-
名前を入力し、有効期限を選択して、Select scopes で repo を選択します。これには
repo:statusからsecurity_eventsまでのすべてのスコープが自動的に含まれます。 - Generate token をクリックします。GitHub はトークンが表示される新しいページにリダイレクトします。
-
(オプション) 後の手順で再利用できるように、トークンを
values.txtなどのファイルに保存します。
GitHub アプリケーションの作成
RHTAP 用の GitHub アプリケーションを作成すると、開発者は RHTAP と対話するための Web ベースのインターフェイスである Red Hat Developer Hub に対して認証できるようになります。また、RHTAP が GitHub 組織にアクセスしてリポジトリーを作成することもできます。
このアプリケーションは、RHTAP で使用する予定の GitHub 組織に作成してインストールする必要があります。インストーラーは設定の大部分を自動化します。
前提条件
-
スコープが
repoの GitHub Personal Access Token - GitHub 組織の名前
- GitHub アプリケーションに割り当てる名前
- registry.redhat.io の有効な認証情報
-
OpenShift クラスターへの
cluster-adminアクセス -
rhtap-cliがインストールされているターミナルまたはコンテナーへのアクセス
手順
GitHub アプリケーションを作成するには、次のコマンドを実行します。
bash-5.1$ rhtap-cli integration github-app \ --create \ --token="$GH_TOKEN" \ --org="$GH_ORG_NAME" \ $GH_APP_NAME
bash-5.1$ rhtap-cli integration github-app \ --create \ --token="$GH_TOKEN" \ --org="$GH_ORG_NAME" \ $GH_APP_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の変数を置き換えてください。
-
$GH_TOKEN: GitHub の Personal Access Token -
$GH_ORG_NAME: GitHub の組織名 -
$GH_APP_NAME: GitHub アプリケーションの名前
-
- コマンド出力から URL をコピーし、ブラウザーで開きます。
- Create your GitHub App をクリックします。
- プロンプトが表示されたら、GitHub に対して認証を行います。
- Create GitHub App for <your organization> をクリックします。
- アプリケーションが作成されたら、成功メッセージ内のリンクをクリックして、GitHub 組織にアプリケーションをインストールします。
- リダイレクトされた GitHub ページで、Install をクリックします。
- RHTAP に使用している GitHub 組織を選択します。
プロンプトが表示されたら、All repositories を選択し、Install をクリックします。
注記この GitHub ページを開いたままにしておくことを推奨します。バナーには、インストール後に RHTAP にアクセスするためのリンク (
https://backstage-developer-hub-rhtap…で始まる) が含まれています。
4.2. (オプション) RHACS の統合 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、既存の Advanced Cluster Security (RHACS) インスタンスを RHTAP インストールに統合します。
RHACS を統合すると、新しい RHACS インスタンスを作成する代わりに、デプロイメントで既存の設定とデータが使用されるようになります。
前提条件
- 既存の RHACS インスタンスへの管理者アクセス
手順
RHACS を統合する前に、API トークンと Central エンドポイント URL を取得します。URL にはプロトコル、ホスト名、ポートを含める必要があります。例:
https://central-rhacs.example.com:443。- RHACS API トークンの作成 の手順に従ってトークンを生成します。
-
後の手順で再利用できるように、トークンを
values.txtなどのファイルに保存します。 - ACS Central エンドポイントを見つけるには、Central エンドポイント URL の設定 の手順に従ってください。
-
エンドポイント URL を
values.txtなどのファイルに保存し、後の手順で再利用します。
rhtap-cliコンテナーで、次の統合コマンドを実行します。bash-5.1$ rhtap-cli integration acs \ --endpoint="$ACS_ENDPOINT" \ --token="$ACS_TOKEN"
bash-5.1$ rhtap-cli integration acs \ --endpoint="$ACS_ENDPOINT" \ --token="$ACS_TOKEN"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の変数を置き換えてください。
-
$ACS_ENDPOINT: RHACS Central エンドポイントの URL -
$ACS_TOKEN: RHACS API トークン
-
4.3. (オプション) Quay の統合 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、既存の Quay 組織またはセルフホスト型 Quay インスタンスを、コンテナーイメージレジストリーとして RHTAP と統合します。
既存の Quay インスタンスを統合しない場合は、RHTAP インストーラーによって Quay の新しいインスタンスがデプロイされます。これを使用するには、RHTAP をインストールした後にこのインスタンスを統合する 必要があります。
Quay インスタンスから 2 つの値 (Docker 設定文字列とアクセストークン) を取得し、CLI コマンドを実行するときにそれらを使用する必要があります。
Red Hat では、この統合にはユーザーアカウントではなくロボットアカウントを使用することを推奨しています。ロボットアカウントを使用すると、RHTAP のインストール後に自動化システムと複数のユーザーが Quay 名前空間に対して認証できるようになります。
ロボットアカウントを作成して設定する方法については、Red Hat Quay でロボットアカウントを作成して使用する を参照してください。
手順
- Web ブラウザーで、Quay アカウントにログインします。
- ページの右上にあるユーザー名をクリックし、Account Settings を選択します。
- Account Settings ページの Docker CLI Password で、Generate Encrypted Password をクリックします。プロンプトが表示されたら、認証するパスワードを入力します。
-
同じポップアップで Docker Configuration > View [username]-auth.json をクリックします。
"auth":に続く文字列値 (引用符なし) をコピーします。 -
authの値と Quay ユーザー名をvalues.txtなどのファイルに保存して、Docker 設定の構築時に使用できるようにします。 - 別のブラウザータブで、Repositories ページ に移動します。
- Users and Organizations で、RHTAP で使用する組織の名前をクリックします。
- 左側のナビゲーションで、Applications をクリックします。
- Create New Application をクリックし、名前を入力します。
- 作成したアプリケーションの名前をクリックします。
- 左側のナビゲーションで、Generate Token をクリックします。
- パーミッション一覧で、View all visible repositories を選択します。
- Generate Access Token をクリックします。
- Authorize Application をクリックします。Quay によりアクセストークンが表示されます。そのトークンをコピーします。
ユーザーアカウントまたはロボットアカウントの代わりに OAuth アプリケーションを使用できます。詳細は、OAuth 2 アクセストークンの作成 を参照してください。
さらに、View all visible repositories 権限のみが必要になります。
rhtap-cliコンテナーで次のコマンドを実行し、必要なすべての値をインラインで渡して Quay を RHTAP と統合します。bash-5.1$ rhtap-cli integration quay \ --dockerconfigjson='{"auths":{"quay.io":{"auth":"<auth_token>","email":""}}}' \ --token="<quay_access_token>" \ --url="https://quay.io"bash-5.1$ rhtap-cli integration quay \ --dockerconfigjson='{"auths":{"quay.io":{"auth":"<auth_token>","email":""}}}' \ --token="<quay_access_token>" \ --url="https://quay.io"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えます。
-
<auth_token>:"auth":の配下にあるauth.jsonファイル -
<quay_access_token>: OAuth アプリケーション経由で生成したアクセストークン -
https://quay.io: Quay インスタンスの URL (self-hosted の場合はカスタム URL を使用)
-
JSON 形式を維持するには、--dockerconfigjson の値全体を一重引用符で囲むようにしてください。
4.4. (オプション) Bitbucket の統合 リンクのコピーリンクがクリップボードにコピーされました!
RHTAP で使用するソースコードを Bitbucket Cloud を使用してホストする場合は、この手順を使用します。
前提条件
Bitbucket ユーザー名。Bitbucket ユーザー名を見つけるには以下を実行します。
- Bitbucket で、サイドバーのプロフィール写真をクリックし、View profile を選択します。
- サイドバーで Settings をクリックします。ユーザー名がアカウント設定に表示されます。
- アプリケーションパスワード
手順
rhtap-cliコンテナーで、次の統合コマンドを実行します。bash-5.1$ rhtap-cli integration bitbucket \ --username="$BB_USERNAME" \ --app-password="$BB_TOKEN" \ --host="$BB_URL"
bash-5.1$ rhtap-cli integration bitbucket \ --username="$BB_USERNAME" \ --app-password="$BB_TOKEN" \ --host="$BB_URL"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の変数を置き換えてください。
-
$BB_USERNAME: Bitbucket ユーザー名 -
$BB_TOKEN: Bitbucket アプリケーションのパスワード $BB_URL: Bitbucket ホスト URL (オプション)注記デフォルトの Bitbucket Cloud ホスト (
bitbucket.org) を使用している場合は、--hostオプションを省略できます。
-
4.5. (オプション) GitHub Actions の統合 リンクのコピーリンクがクリップボードにコピーされました!
GitHub Actions を代替の継続的インテグレーション (CI) プロバイダーとして使用する場合は、インストール前に追加の設定は必要ありません。
先ほど作成した GitHub アプリケーションにより、RHTAP の GitHub Actions 統合が可能になります。
4.6. (オプション) GitLab の統合 リンクのコピーリンクがクリップボードにコピーされました!
GitLab を使用してソースコードをホストする場合、または RHTAP を使用した継続的インテグレーション (CI) プロバイダーとして使用する場合は、この手順を使用します。
前提条件
- GitLab ジョブの作成および管理に必要な権限がある。
- Personal Access Token がある。手順については、GitLab API token ドキュメントを参照してください。
-
カスタム GitLab ホストと統合する予定がある場合は、GitLab ホスト URL が必要です。ホストを指定しない場合は、デフォルトで
gitlab.comが使用されます。 - リポジトリーを含む GitLab グループ名が必要です。
手順
rhtap-cliコンテナーで、次の統合コマンドを実行します。bash-5.1$ rhtap-cli integration gitlab \ --token="$GL_API_TOKEN" \ --host="$GL_URL" \ --group="$GL_GROUP"
bash-5.1$ rhtap-cli integration gitlab \ --token="$GL_API_TOKEN" \ --host="$GL_URL" \ --group="$GL_GROUP"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の変数を置き換えてください。
-
$GL_API_TOKEN: GitLab Personal Access Token -
$GL_URL: GitLab ホスト URL (gitlab.comを使用する場合はこのオプションを省略してください) -
$GL_GROUP: リポジトリーを含む GitLab グループ名
-
4.7. (オプション) Jenkins の統合 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、Jenkins を RHTAP の継続的インテグレーション (CI) プロバイダーとして統合します。
前提条件
- Jenkins ジョブの作成および管理に必要な権限がある。
以下の Jenkins 認証情報がある。
- Jenkins インスタンスへのアクセスに使用される URL
- Jenkins ユーザー ID
- Jenkins API トークン
手順
rhtap-cliコンテナーで、次の統合コマンドを実行します。bash-5.1$ rhtap-cli integration jenkins \ --token="$JK_API_TOKEN" \ --url="$JK_URL" \ --username="$JK_USERNAME"
bash-5.1$ rhtap-cli integration jenkins \ --token="$JK_API_TOKEN" \ --url="$JK_URL" \ --username="$JK_USERNAME"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の変数を置き換えてください。
-
$JK_API_TOKEN: Jenkins API トークン -
$JK_URL: Jenkins インスタンスの URL -
$JK_USERNAME: Jenkins ユーザー ID
-
4.8. (オプション) Azure Pipelines の統合 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、Azure Pipeline を RHTAP と統合します。
前提条件
- アプリケーションを登録し、API アクセス許可を管理するために Azure サブスクリプションで必要なアクセス許可がある。
- Personal Access Token (PAT) を登録する必要があります。詳細な手順については、Microsoft のドキュメント Azure DevOps で Personal Access Token を生成する方法 を参照してください。
次の値を収集しておく。
-
AZURE_ORGANIZATION: Azure DevOps 組織の名前 (例:my-org-name) -
AZURE_HOST_URL: Azure DevOps 環境のベース URL。デフォルト値はdev.azure.comです。
-
(オプション) 登録済みの Azure Active Directory (AAD) アプリケーションを使用して認証する場合は、次の情報も収集します。
-
AZURE_TENANT_ID: ディレクトリー (テナント) ID。テナント ID の検索 を参照してください。 -
AZURE_CLIENT_ID: アプリケーション (クライアント) ID。Register an application with the Microsoft identity platform を参照してください -
AZURE_CLIENT_SECRET: AAD アプリケーションで生成されたクライアントシークレット。Create a client secret を参照してください
注記登録済みの AAD アプリケーションを使用しない場合は、Azure DevOps での認証に使用される Personal Access Token である
AZURE_API_TOKENも収集する必要があります。-
手順
rhtap-cliコンテナーで、次の統合コマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の変数を置き換えてください。
-
$AZURE_ORGANIZATION: Azure DevOps の組織名 -
$AZURE_HOST_URL: DevOps ベース URL (デフォルトのdev.azure.comを使用する場合はこのオプションを省略します) -
$AZURE_API_TOKEN: Personal Access Token -
$AZURE_TENANT_ID: (オプション) AAD テナント ID -
$AZURE_CLIENT_ID: (オプション) AAD アプリケーションクライアント ID -
$AZURE_CLIENT_SECRET: (オプション) AAD アプリケーションクライアントシークレット
-
4.9. (オプション) JFrog Artifactory の統合 リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、JFrog Artifactory の既存のインスタンスを RHTAP と統合します。この統合により、CI/CD 操作中に Artifactory リポジトリーをアーティファクトレジストリーとして使用できるようになります。
このモジュールは、RHTAP と Artifactory インスタンス間の認証を設定し、コンテナーイメージのシームレスな保存と取得を可能にするのに役立ちます。キーワード: アーティファクトレジストリー、JFrog、CI/CD 統合、DevSecOps、コンテナーイメージ、Docker 認証情報。
前提条件
- JFrog Artifactory インスタンスへの管理者アクセス
- RHTAP で使用する Artifactory のリポジトリー
手順
- Artifactory Web UI で、Administration ビューに移動します。
- 使用するリポジトリーの横にある緑色の Set Up Client/CI Tool ボタンをクリックします。
- Docker Client を選択します。
CLI から認証するには、UI の指示に従います。
-
UI は、Docker パスワードとして使用されるトークンを生成します。後のステップで再利用できるように、トークンを
values.txtなどのファイルに保存します。 CLI 経由で JFrog にログインすると、パスワードが
~/.docker/config.jsonなどのファイルに保存されたことを示すメッセージが表示されます。注記このメッセージが表示されない場合は、後の手順で
config.jsonのコンテンツを手動で生成できます。
-
UI は、Docker パスワードとして使用されるトークンを生成します。後のステップで再利用できるように、トークンを
rhtap-cliコンテナーで、次の統合コマンドを実行します。bash-5.1$ rhtap-cli integration artifactory \ --url="$AF_URL" \ --dockerconfigjson='$AF_DOCKERCONFIGJSON' \ --token="$AF_API_TOKEN"
bash-5.1$ rhtap-cli integration artifactory \ --url="$AF_URL" \ --dockerconfigjson='$AF_DOCKERCONFIGJSON' \ --token="$AF_API_TOKEN"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の変数を置き換えてください。
-
$AF_URL: JFrog インスタンスの URL (例:https://myusername.jfrog.io) -
$AF_DOCKERCONFIGJSON: パスワードが保存されているconfig.jsonファイルの内容 $AF_API_TOKEN: JFrog によって生成されたトークン注記JSON 構造を保持するには、
$AF_DOCKERCONFIGJSON値を一重引用符で囲むようにしてください。CLI によって
config.jsonファイルが生成されなかった場合は、次の形式を使用して手動でその内容を作成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
第5章 RHTAP のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
必要なすべての設定を完了した後、この手順を使用して Red Hat Trusted Application Pipeline (RHTAP) をインストールします。
前提条件
-
rhtap-cliコンテナーが実行されている。 - cluster-admin 権限で OpenShift クラスターにログインした。
-
config.yamlファイルをカスタマイズした。
手順
コンテナーターミナルで、デプロイメントコマンドを実行します。
bash-5.1$ rhtap-cli deploy
bash-5.1$ rhtap-cli deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記すべてのコンポーネントがデプロイされている場合、インストールプロセスは通常、完了するまでに約 1 時間かかります。
コマンドの出力を監視します。デプロイメントが進行するにつれて、CLI は、デプロイされたコンポーネントの URL やアクセス手順などの有用な情報を出力します。今後の参照用に、出力を
values.txtなどのファイルに保存できます。出力には以下が含まれます。- Developer Hub (Backstage) URL
- ACS、Quay、その他のダッシュボード (デプロイされている場合)
- コンポーネント固有のガイダンスまたはステータスメッセージ
Developer Hub UI にアクセスするには、GitHub App ページまたはインストール出力に表示されるリンクを使用します。以下で始まります。
https://backstage-developer-hub-rhtap.apps.<cluster-domain>
https://backstage-developer-hub-rhtap.apps.<cluster-domain>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 インストール後の統合 リンクのコピーリンクがクリップボードにコピーされました!
6.1. (オプション) RHTAP によってデプロイされた Quay の統合 リンクのコピーリンクがクリップボードにコピーされました!
RHTAP インストーラーがインストール中にデプロイした Quay の新しいインスタンスを使用している場合は、RHTAP が実行している OpenShift クラスターで Quay OAuth アクセストークンを再生成し、Quay 統合シークレットを更新する必要があります。
これは、RHTAP のインストール中に生成される初期トークンが 2 時間以内に期限切れになるため必要です。有効期限が切れると、RHTAP は Quay にアクセスできなくなり、rhtap 組織の下のリポジトリーを表示できなくなります。その結果、RHDH UI の Image Registry タブには、Quay リポジトリーに保存されているアーティファクトが表示されません。
次の手順により、RHTAP が Quay にアクセスできるようになります。
手順
- RHTAP と同じクラスター上で実行している Quay インスタンスにログインします。
-
rhtap組織に移動します。 - Applications > OAuth Applications > Create New Application > Generate Token を選択します。
- View all visible repositories オプションのボックスをオンにします。
- Generate Access Token をクリックします。
- アクセストークンをコピーして保存します。
ターミナルで次のコマンドを実行して、
rhtap-quay-integrationシークレットを更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この手順により、
developer-hub-rhtap-envシークレットも自動的に更新されます。
この変更は、rhtap-dh プロジェクトの新しい backstage-developer-hub Pod が起動して実行すると有効になります。
検証
- Red Hat Developer Hub UI に移動し、Image Registry タブをクリックします。これで、タブに Quay リポジトリーに保存されているすべてのアーティファクトがリスト表示されるようになります。
さらに、必要なシークレットが正常に更新されたことを確認するには、
rhtap-quay-integrationおよびdeveloper-hub-rhtap-envシークレットの値を表示できます。oc get secret rhtap-quay-integration -o json -n rhtap | jq -r .data.token | base64 -d oc get secrets developer-hub-rhtap-env -o json -n rhtap-dh | jq -r .data.QUAY__API_TOKEN | base64 -d
oc get secret rhtap-quay-integration -o json -n rhtap | jq -r .data.token | base64 -d oc get secrets developer-hub-rhtap-env -o json -n rhtap-dh | jq -r .data.QUAY__API_TOKEN | base64 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、新しく生成された Quay アクセストークンが表示されます。
関連情報
- Quay OAuth トークンの詳細は、Red Hat Quay ドキュメントの OAuth 2 アクセストークン を参照してください。
改訂日時: 2025-04-30