Red Hat Trusted Application Pipeline のインストール


Red Hat Trusted Application Pipeline 1.5

クラスターに Red Hat Trusted Application Pipeline をインストールする方法を学ぶ

Red Hat Customer Content Services

概要

このドキュメントでは、クラスターに 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 をインストールするには、次の手順を完了する必要があります。

  1. RHTAP インストーラーイメージをダウンロードします。
  2. インストールするコンポーネントおよび機能を制御する ConfigMap を作成します。この設定はクラスターに保存され、デプロイメント時にインストーラーによって使用されます。
  3. (オプション) ConfigMap をカスタマイズして、後で統合する予定の製品を無効にします。
  4. 製品と外部サービスを統合します。
  5. RHTAP をデプロイします。

このドキュメントの次のページでは、それぞれのインストール手順の詳細を説明します。

第1章 Podman にログインしてインストーラーイメージをダウンロードする

この手順を使用して、registry.redhat.io に認証し、Red Hat Trusted Application Pipeline (RHTAP) インストーラーイメージをダウンロードし、インストーラーコンテナーを起動します。インストーラー CLI (rhtap-cli) はこのコンテナー内で実行され、RHTAP コンポーネントのデプロイメントと統合を自動化します。

このステップは、インストールを開始する前に環境が安全に設定されるようにします。

前提条件

  • PodmanDocker などのワークステーション上のコンテナー管理ツール
  • registry.redhat.io にアクセスするための有効な認証情報

手順

  1. Red Hat レジストリーにログインします。

    podman login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. RHTAP インストーラーイメージをダウンロードします。

    podman pull registry.redhat.io/rhtap-cli/rhtap-cli-rhel9:1.5.0
    Copy to Clipboard Toggle word wrap
  3. インストーラーコンテナーを起動します。

    podman run \
      -it \
      --entrypoint bash \ 
    1
    
      --publish 8228:8228 \ 
    2
    
      --rm \
      rhtap-cli:1.5.0 
    3
    Copy to Clipboard Toggle word wrap
    1
    対話型 Bash シェルでコンテナーを開きます。
    2
    統合プロセス中に GitHub App の作成に必要なポート 8228 を公開します。
    3
    前の手順で取得した RHTAP インストーラーイメージを指定します。

第2章 config.yaml ファイルの作成

この手順を使用して、config.yaml ファイルを作成します。このファイルは、Red Hat Trusted Application Pipeline (RHTAP) を OpenShift クラスターにデプロイする方法を定義します。また、RHTAP はインストール中に設定された外部統合を検出して使用できるようになります。

前提条件

  • OpenShift Container Platform (OCP) クラスターへの cluster-admin アクセス
  • アクティブな rhtap-cli コンテナーセッション

手順

  1. rhtap-cli コンテナーで、クラスター管理者として OpenShift クラスターにログインします。

    bash-5.1$ oc login https://api.<cluster-domain>:6443 \
      --username=cluster-admin \
      --password=<your-password>
    Copy to Clipboard Toggle word wrap
  2. デフォルトの設定ファイルを作成します。

    bash-5.1$ rhtap-cli config --create
    Copy to Clipboard Toggle word wrap
注記

このコマンドは、RHTAP がインストールするコンポーネントを定義し、既存のサービスとの統合をサポートする config.yaml ファイルを作成します。このファイルは、後で環境やデプロイメントの要件に合わせてカスタマイズできます。

第3章 config.yaml ファイルのカスタマイズ

以下の手順を使用して、製品および外部サービスを統合する前に config.yaml ファイルをカスタマイズします。このファイルをカスタマイズすると、インストール中に統合と設定が保持されます。

前提条件

  • OpenShift Web コンソールにアクセスできる。
  • 少なくとも 1 つの外部製品またはサービス (RHACS や Quay など) を統合する予定である。
  • (オプション) フォークされたソフトウェアカタログリポジトリーの URL。RHTAP は、開発者がアプリケーションのひな型を自動生成できるようにするソフトウェアテンプレートのカタログを提供しています。これらのテンプレートをカスタマイズするには、インストール前にリポジトリーをフォークします。

    1. ブラウザーで、RHTAP software catalog repository に移動します。
    2. Fork をクリックして、リポジトリーをフォークします。

      1. Copy the main branch only というラベルの付いたボックスのチェックを外します。
    3. フォークが作成されたら、その URL をコピーして private.env ファイルに保存します。
    4. フォークされたリポジトリーで、main をクリックしてブランチ/タグのドロップダウンを開きます。
    5. タグ の下で、RHTAP バージョンに一致するリリースを選択します。

      注記

      アップストリームリポジトリーからの変更を含めるために、フォークを定期的に更新します。

手順

  1. OpenShift コンソールで、Administrator パースペクティブに切り替えます。
  2. Workloads > ConfigMaps に移動します。
  3. Project ドロップダウンリストから、RHTAP を選択します。
  4. rhtap-cli-config ConfigMap を開きます。
  5. YAML ビューを選択し、config.yaml パラメーターが定義されている場所に移動します。

    注記
    • クラスターに必要なサブスクリプションまたは Operator がすでに含まれている場合は、manageSubscription プロパティーを false に設定し、インストーラーが新しいサブスクリプションや Operator を作成しないようにすることができます。

      • manageSubscription: true (デフォルト): インストーラーは、必要なすべての Operator サブスクリプションを管理およびインストールします。
    • manageSubscription: false: インストーラーは、必要な Operator サブスクリプションがクラスター上にすでに存在することを前提とするため、インストールをスキップします。

      • プリインストールされている Operator が RHTAP と互換性がある ことを確認します。互換性のないバージョンまたは設定により、インストールが失敗する可能性があります。
  6. 必要に応じて次のフィールドを更新します。

    1. カスタムソフトウェアカタログを使用するには、catalogURL を設定します。

      redhatDeveloperHub:
        properties:
          catalogURL: https://github.com/<your-org>/tssc-sample-templates/blob/releases/all.yaml
      Copy to Clipboard Toggle word wrap
    2. 外部統合されたコンポーネント (例: ACS、Quay) のインストールを無効にするには、以下を実行します。

      redhatAdvancedClusterSecurity:
        enabled: &rhacsEnabled false
        namespace: &rhacsNamespace rhtap-rhacs
      
      redHatQuay:
        enabled: &quayEnabled false
        namespace: &quayNamespace rhtap-quay
      Copy to Clipboard Toggle word wrap
      注記

      外部製品または既存のインスタンスを統合しようとしても、config.yaml をカスタマイズしないと、Red Hat Trusted Application Pipeline はデフォルトの製品をインストールして使用します。rhtap-cli integration コマンドを有効にするには、config.yaml をカスタマイズする必要があります。ただし、rhtap-cli integrationconfig.yaml をカスタマイズしない場合は、インストーラーにより製品がデプロイされ、既存の統合が上書きされます。

  1. Developer Hub で RBAC プラグインを有効にするには、redhatDeveloperHub セクションで RBAC プロパティーを設定します。

      RBAC:
        enabled: true # Enables the RBAC feature.
        adminUsers: # GitHub usernames that should have administrator access.
          - yourGitHubUsername
          - anotherGitHubAdmin
        orgs: # GitHub organizations whose members are imported into the Developer Hub catalog with access roles.
          - your-github-org
    Copy to Clipboard Toggle word wrap
    注記

    adminUsers または orgs を省略すると、インストーラーは GitHub アプリケーションの統合時に設定された GitHub ユーザーと組織をデフォルトに設定します。

  1. デフォルトの名前空間の代わりにカスタム名前空間を使用するには、config.yaml ファイルの redhatDeveloperHub セクションで namespacePrefixes プロパティーを設定します。デフォルトでは、RHTAP はインストール中に 4 つの名前空間を作成します。

    • rhtap-app-ci: CI パイプラインワークロード用
    • rhtap-app-developmentrhtap-app-stage、および rhtap-app-prod: 開発、ステージング、および実稼働環境のデプロイメント用

      namespacePrefixes プロパティーを使用して、これらの名前空間の接頭辞をカスタマイズし、追加の名前空間セットを定義できます。たとえば、カスタム接頭辞を設定して、my_prefix1-app-cimy_prefix1-app-developmentmy_prefix1-app-stagemy_prefix1-app-prod などの名前空間を生成できます。

      redhatDeveloperHub:
        namespacePrefixes:
          - my_prefix1
          - my_prefix2
      Copy to Clipboard Toggle word wrap
      1. 必要な変更をすべて完了したら、Save を選択します。

第4章 製品および外部サービスの統合

この手順を使用して、既存の製品を統合するか、RHTAP をインストールする前にデフォルトのコンポーネントを置き換えます。既存のサービスを統合すると、データの重複や不要なデプロイメントを回避できます。

RHTAP インストーラーは、連携してセキュアで自動化された CI/CD プラットフォームを形成する一連の製品をデプロイします。ただし、これらの製品のうち 2 つ (Advanced Cluster Security (ACS) と Quay) は、すでに環境にインストールされている可能性があります。いずれかの製品の既存のインスタンスが存在する場合は、そのインスタンスを RHTAP デプロイメントに統合できます。

統合により、データの損失を防ぎ、サービスを重複してデプロイしなくて済みます。既存のインスタンスを統合しない場合は、インストーラーによって新しい名前空間に新しいインスタンスが自動的に作成されます。

さらに、デフォルトの Git、CI、およびレジストリーコンポーネントを、サポート対象の別のコンポーネントに置き換えることもできます。ソースコードリポジトリーや CI ツールなど、一部のカテゴリーでは複数の代替手段を有効にできます。次の表に、デフォルトのコンポーネント、その目的、および使用できる代替コンポーネントを示します。

Expand
Product目的サポート対象の代替手段

GitHub

ソースコードリポジトリー

  • GitLab
  • Bitbucket

Tekton

CI パイプラインエンジン

  • Jenkins
  • GitHub Actions
  • GitLab CI
  • Azure Pipelines

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 統合を有効にするには、次の手順を実行します。

  1. GitHub Personal Access Token を作成します。
  2. GitHub アプリケーションを作成します。
GitHub Personal Access Token の作成

Personal Access Token (PAT) を作成するには、GitHub 組織を所有している必要があります。既存の GitHub 組織を使用することも、新しい組織を作成することも、管理者に所有権を要求することもできます。

インストール後、GitHub 組織はユーザーがアプリケーションのリポジトリーを生成する場所を提供します。

前提条件

  • GitHub 組織の所有権がある。
  • Personal Access Token を作成する権限を持つ GitHub ユーザーアカウント。
  • GitHub Developer settings へのアクセス。

手順

  1. GitHub の Developer settings ページに移動します。
  2. 左側のナビゲーションパネルの Personal access tokens で、Tokens (classic) をクリックします。
  3. Generate new token ドロップダウンメニューから、Generate new token (classic) を選択します。プロンプトが表示されたら認証します。
  4. 名前を入力し、有効期限を選択して、Select scopesrepo を選択します。これには repo:status から security_events までのすべてのスコープが自動的に含まれます。
  5. Generate token をクリックします。GitHub はトークンが表示される新しいページにリダイレクトします。
  6. (オプション) 後の手順で再利用できるように、トークンを 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 がインストールされているターミナルまたはコンテナーへのアクセス

手順

  1. GitHub アプリケーションを作成するには、次のコマンドを実行します。

    bash-5.1$ rhtap-cli integration github-app \
      --create \
      --token="$GH_TOKEN" \
      --org="$GH_ORG_NAME" \
      $GH_APP_NAME
    Copy to Clipboard Toggle word wrap

    以下の変数を置き換えてください。

    • $GH_TOKEN: GitHub の Personal Access Token
    • $GH_ORG_NAME: GitHub の組織名
    • $GH_APP_NAME: GitHub アプリケーションの名前
  2. コマンド出力から URL をコピーし、ブラウザーで開きます。
  3. Create your GitHub App をクリックします。
  4. プロンプトが表示されたら、GitHub に対して認証を行います。
  5. Create GitHub App for <your organization> をクリックします。
  6. アプリケーションが作成されたら、成功メッセージ内のリンクをクリックして、GitHub 組織にアプリケーションをインストールします。
  7. リダイレクトされた GitHub ページで、Install をクリックします。
  8. RHTAP に使用している GitHub 組織を選択します。
  9. プロンプトが表示されたら、All repositories を選択し、Install をクリックします。

    注記

    この GitHub ページを開いたままにしておくことを推奨します。バナーには、インストール後に RHTAP にアクセスするためのリンク (https://backstage-developer-hub-rhtap… で始まる) が含まれています。

4.2. (オプション) RHACS の統合

この手順を使用して、既存の Advanced Cluster Security (RHACS) インスタンスを RHTAP インストールに統合します。

RHACS を統合すると、新しい RHACS インスタンスを作成する代わりに、デプロイメントで既存の設定とデータが使用されるようになります。

前提条件

  • 既存の RHACS インスタンスへの管理者アクセス

手順

  1. RHACS を統合する前に、API トークンと Central エンドポイント URL を取得します。URL にはプロトコル、ホスト名、ポートを含める必要があります。例: https://central-rhacs.example.com:443

    1. RHACS API トークンの作成 の手順に従ってトークンを生成します。
    2. 後の手順で再利用できるように、トークンを values.txt などのファイルに保存します。
    3. ACS Central エンドポイントを見つけるには、Central エンドポイント URL の設定 の手順に従ってください。
    4. エンドポイント URL を values.txt などのファイルに保存し、後の手順で再利用します。
  2. rhtap-cli コンテナーで、次の統合コマンドを実行します。

    bash-5.1$ rhtap-cli integration acs \
      --endpoint="$ACS_ENDPOINT" \
      --token="$ACS_TOKEN"
    Copy to Clipboard Toggle word wrap

    以下の変数を置き換えてください。

    • $ACS_ENDPOINT: RHACS Central エンドポイントの URL
    • $ACS_TOKEN: RHACS API トークン

4.3. (オプション) Quay の統合

この手順を使用して、既存の Quay 組織またはセルフホスト型 Quay インスタンスを、コンテナーイメージレジストリーとして RHTAP と統合します。

注記

既存の Quay インスタンスを統合しない場合は、RHTAP インストーラーによって Quay の新しいインスタンスがデプロイされます。これを使用するには、RHTAP をインストールした後にこのインスタンスを統合する 必要があります。

Quay インスタンスから 2 つの値 (Docker 設定文字列とアクセストークン) を取得し、CLI コマンドを実行するときにそれらを使用する必要があります。

前提条件

  • Quay アカウント
  • Quay 組織 の所有権 (無料プランを含むすべてのプランがサポートされています)
注記

Red Hat では、この統合にはユーザーアカウントではなくロボットアカウントを使用することを推奨しています。ロボットアカウントを使用すると、RHTAP のインストール後に自動化システムと複数のユーザーが Quay 名前空間に対して認証できるようになります。

ロボットアカウントを作成して設定する方法については、Red Hat Quay でロボットアカウントを作成して使用する を参照してください。

手順

  1. Web ブラウザーで、Quay アカウントにログインします。
  2. ページの右上にあるユーザー名をクリックし、Account Settings を選択します。
  3. Account Settings ページの Docker CLI Password で、Generate Encrypted Password をクリックします。プロンプトが表示されたら、認証するパスワードを入力します。
  4. 同じポップアップで Docker Configuration > View [username]-auth.json をクリックします。"auth": に続く文字列値 (引用符なし) をコピーします。
  5. auth の値と Quay ユーザー名を values.txt などのファイルに保存して、Docker 設定の構築時に使用できるようにします。
  6. 別のブラウザータブで、Repositories ページ に移動します。
  7. Users and Organizations で、RHTAP で使用する組織の名前をクリックします。
  8. 左側のナビゲーションで、Applications をクリックします。
  9. Create New Application をクリックし、名前を入力します。
  10. 作成したアプリケーションの名前をクリックします。
  11. 左側のナビゲーションで、Generate Token をクリックします。
  12. パーミッション一覧で、View all visible repositories を選択します。
  13. Generate Access Token をクリックします。
  14. Authorize Application をクリックします。Quay によりアクセストークンが表示されます。そのトークンをコピーします。
注記

ユーザーアカウントまたはロボットアカウントの代わりに OAuth アプリケーションを使用できます。詳細は、OAuth 2 アクセストークンの作成 を参照してください。

さらに、View all visible repositories 権限のみが必要になります。

  1. 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"
    Copy to Clipboard Toggle word wrap

    以下の値を置き換えます。

    • <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 ユーザー名を見つけるには以下を実行します。

    1. Bitbucket で、サイドバーのプロフィール写真をクリックし、View profile を選択します。
    2. サイドバーで Settings をクリックします。ユーザー名がアカウント設定に表示されます。
  • アプリケーションパスワード

手順

  1. rhtap-cli コンテナーで、次の統合コマンドを実行します。

    bash-5.1$ rhtap-cli integration bitbucket \
      --username="$BB_USERNAME" \
      --app-password="$BB_TOKEN" \
      --host="$BB_URL"
    Copy to Clipboard Toggle word wrap

    以下の変数を置き換えてください。

    • $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 グループ名が必要です。

手順

  1. rhtap-cli コンテナーで、次の統合コマンドを実行します。

    bash-5.1$ rhtap-cli integration gitlab \
      --token="$GL_API_TOKEN" \
      --host="$GL_URL" \
      --group="$GL_GROUP"
    Copy to Clipboard Toggle word wrap

    以下の変数を置き換えてください。

    • $GL_API_TOKEN: GitLab Personal Access Token
    • $GL_URL: GitLab ホスト URL (gitlab.com を使用する場合はこのオプションを省略してください)
    • $GL_GROUP: リポジトリーを含む GitLab グループ名

4.7. (オプション) Jenkins の統合

この手順を使用して、Jenkins を RHTAP の継続的インテグレーション (CI) プロバイダーとして統合します。

前提条件

  • Jenkins ジョブの作成および管理に必要な権限がある。
  • 以下の Jenkins 認証情報がある。

手順

  1. rhtap-cli コンテナーで、次の統合コマンドを実行します。

    bash-5.1$ rhtap-cli integration jenkins \
      --token="$JK_API_TOKEN" \
      --url="$JK_URL" \
      --username="$JK_USERNAME"
    Copy to Clipboard Toggle word wrap

    以下の変数を置き換えてください。

    • $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) アプリケーションを使用して認証する場合は、次の情報も収集します。

    注記

    登録済みの AAD アプリケーションを使用しない場合は、Azure DevOps での認証に使用される Personal Access Token である AZURE_API_TOKEN も収集する必要があります。

手順

  1. rhtap-cli コンテナーで、次の統合コマンドを実行します。

    bash-5.1$ rhtap-cli integration azure \
      --organization="$AZURE_ORGANIZATION" \
      --host="$AZURE_HOST_URL" \
      --token="$AZURE_API_TOKEN" \
      --tenantID="$AZURE_TENANT_ID" \
      --client-id="$AZURE_CLIENT_ID" \
      --client-secret="$AZURE_CLIENT_SECRET"
    Copy to Clipboard Toggle word wrap

    以下の変数を置き換えてください。

    • $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 のリポジトリー

手順

  1. Artifactory Web UI で、Administration ビューに移動します。
  2. 使用するリポジトリーの横にある緑色の Set Up Client/CI Tool ボタンをクリックします。
  3. Docker Client を選択します。
  4. CLI から認証するには、UI の指示に従います。

    1. UI は、Docker パスワードとして使用されるトークンを生成します。後のステップで再利用できるように、トークンを values.txt などのファイルに保存します。
    2. CLI 経由で JFrog にログインすると、パスワードが ~/.docker/config.json などのファイルに保存されたことを示すメッセージが表示されます。

      注記

      このメッセージが表示されない場合は、後の手順で config.json のコンテンツを手動で生成できます。

  5. rhtap-cli コンテナーで、次の統合コマンドを実行します。

    bash-5.1$ rhtap-cli integration artifactory \
      --url="$AF_URL" \
      --dockerconfigjson='$AF_DOCKERCONFIGJSON' \
      --token="$AF_API_TOKEN"
    Copy to Clipboard Toggle word wrap

    以下の変数を置き換えてください。

    • $AF_URL: JFrog インスタンスの URL (例: https://myusername.jfrog.io)
    • $AF_DOCKERCONFIGJSON: パスワードが保存されている config.json ファイルの内容
    • $AF_API_TOKEN: JFrog によって生成されたトークン

      注記

      JSON 構造を保持するには、$AF_DOCKERCONFIGJSON 値を一重引用符で囲むようにしてください。

      CLI によって config.json ファイルが生成されなかった場合は、次の形式を使用して手動でその内容を作成できます。

      {
        "auths": {
          "<URL for your JFrog instance>": {
            "auth": "<base64 format of username:password>",
            "email": ""
          }
        }
      }
      Copy to Clipboard Toggle word wrap

第5章 RHTAP のデプロイ

必要なすべての設定を完了した後、この手順を使用して Red Hat Trusted Application Pipeline (RHTAP) をインストールします。

前提条件

  • rhtap-cli コンテナーが実行されている。
  • cluster-admin 権限で OpenShift クラスターにログインした。
  • config.yaml ファイルをカスタマイズした。

手順

  1. コンテナーターミナルで、デプロイメントコマンドを実行します。

    bash-5.1$ rhtap-cli deploy
    Copy to Clipboard Toggle word wrap
    注記

    すべてのコンポーネントがデプロイされている場合、インストールプロセスは通常、完了するまでに約 1 時間かかります。

  2. コマンドの出力を監視します。デプロイメントが進行するにつれて、CLI は、デプロイされたコンポーネントの URL やアクセス手順などの有用な情報を出力します。今後の参照用に、出力を values.txt などのファイルに保存できます。出力には以下が含まれます。

    1. Developer Hub (Backstage) URL
    2. ACS、Quay、その他のダッシュボード (デプロイされている場合)
    3. コンポーネント固有のガイダンスまたはステータスメッセージ
  3. Developer Hub UI にアクセスするには、GitHub App ページまたはインストール出力に表示されるリンクを使用します。以下で始まります。

    https://backstage-developer-hub-rhtap.apps.<cluster-domain>
    Copy to Clipboard Toggle word wrap

第6章 インストール後の統合

6.1. (オプション) RHTAP によってデプロイされた Quay の統合

RHTAP インストーラーがインストール中にデプロイした Quay の新しいインスタンスを使用している場合は、RHTAP が実行している OpenShift クラスターで Quay OAuth アクセストークンを再生成し、Quay 統合シークレットを更新する必要があります。

これは、RHTAP のインストール中に生成される初期トークンが 2 時間以内に期限切れになるため必要です。有効期限が切れると、RHTAP は Quay にアクセスできなくなり、rhtap 組織の下のリポジトリーを表示できなくなります。その結果、RHDH UI の Image Registry タブには、Quay リポジトリーに保存されているアーティファクトが表示されません。

次の手順により、RHTAP が Quay にアクセスできるようになります。

手順

  1. RHTAP と同じクラスター上で実行している Quay インスタンスにログインします。
  2. rhtap 組織に移動します。
  3. Applications > OAuth Applications > Create New Application > Generate Token を選択します。
  4. View all visible repositories オプションのボックスをオンにします。
  5. Generate Access Token をクリックします。
  6. アクセストークンをコピーして保存します。
  7. ターミナルで次のコマンドを実行して、rhtap-quay-integration シークレットを更新します。

    export ACCESS_TOKEN=<generated-Quay-token>
    oc patch secret rhtap-quay-integration \
      -n rhtap \
      --type='merge' \
      -p="{\"data\":{\"token\":\"$(echo -n $ACCESS_TOKEN | base64)\"}}"
    rhtap-cli deploy chart/rhtap-dh
    Copy to Clipboard Toggle word wrap

    この手順により、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
    Copy to Clipboard Toggle word wrap

    出力には、新しく生成された Quay アクセストークンが表示されます。

関連情報





改訂日時: 2025-04-30

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る