3.2. Red Hat Quay on OpenShift Container Platform への認証局のさらなる追加


Red Hat Quay on OpenShift Container Platform では、extra_ca_certs 設定フィールドを使用して追加の認証局 (CA) が CA ディレクトリーに入力され、その後、CA がシステムトラストバンドルに追加されます。これらの証明書は、LDAP、OIDC、ストレージシステムなどの外部サービスとの SSL/TLS 接続を検証するために Red Hat Quay によって使用されます。

OpenShift Container Platform に Red Hat Quay をデプロイまたは再デプロイする場合、外部サービスが適切に保護されて検証されるように、1 つまたは複数の CA を CA ディレクトリーに追加できます。OpenShift Container Platform デプロイメント上の Red Hat Quay では、extra_ca_certs 設定フィールドを config.yaml ファイルに手動で追加し、config.yaml を OpenShift Container Platform に再アップロードする必要があります。

以下の手順では、既存の設定ファイルをダウンロードし、OpenShift Container Platform デプロイメント上の Red Hat Quay に CA をさらに追加して、設定ファイルを再アップロードする方法を示します。

3.2.1. 既存設定のダウンロード

次の手順では、Config Bundle Secret を見つけて既存の設定をダウンロードする方法を示します。

手順

  1. 次のコマンドを入力して、QuayRegistry リソースを記述します。

    $ oc describe quayregistry -n <quay_namespace>
    # ...
      Config Bundle Secret:  example-registry-config-bundle-v123x
    # ...
  2. 次のコマンドを入力してシークレットデータを取得します。

    $ oc get secret -n <quay_namespace> <example-registry-config-bundle-v123x> -o jsonpath='{.data}'

    出力例

    {
        "config.yaml": "RkVBVFVSRV9VU0 ... MDAwMAo="
    }

  3. 次のコマンドを入力してデータをデコードします。

    $ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode

    出力例

    FEATURE_USER_INITIALIZE: true
    BROWSER_API_CALLS_XHR_ONLY: false
    SUPER_USERS:
    - quayadmin
    FEATURE_USER_CREATION: false
    FEATURE_QUOTA_MANAGEMENT: true
    FEATURE_PROXY_CACHE: true
    FEATURE_BUILD_SUPPORT: true
    DEFAULT_SYSTEM_REJECT_QUOTA_BYTES: 102400000

  4. オプション: >> config.yaml フラグを渡すことで、データを現在のディレクトリーの YAML ファイルにエクスポートできます。以下に例を示します。

    $ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yaml

3.2.2. Red Hat Quay on OpenShift Container Platform への認証局のさらなる追加

次の例は、OpenShift Container Platform デプロイメント上の Red Hat Quay に認証局をさらに追加する方法を示しています。

前提条件

  • base64 で元の設定バンドルを config.yaml ファイルにデコードしている。詳細は、既存の設定のダウンロード を参照してください。
  • 認証局 (CA) ファイルがある。

手順

  1. 新しい YAML ファイル (例: extra-ca-certificate-config-bundle-secret.yaml) を作成します。

    $ touch extra-ca-certificate-config-bundle-secret.yaml
  2. extra-ca-certificate-config-bundle-secret リソースを作成します。

    1. 次のコマンドを入力してリソースを作成します。

      $ oc -n <namespace> create secret generic extra-ca-certificate-config-bundle-secret \
        --from-file=config.yaml=</path/to/config.yaml> \ 1
        --from-file=extra_ca_cert_<name-of-certificate-one>=<path/to/certificate_one> \ 2
        --from-file=extra_ca_cert_<name-of-certificate-two>=<path/to/certificate_two> \ 3
        --from-file=extra_ca_cert_<name-of-certificate-three>=<path/to/certificate_three> \ 4
        --dry-run=client -o yaml > extra-ca-certificate-config-bundle-secret.yaml
      1
      <config.yaml>base64 でデコード された config.yaml ファイルです。
      2
      システムトラストバンドルに余分に追加される CA ファイル。
      3
      オプション: システムトラストバンドルに追加される 2 番目の CA ファイル。
      4
      オプション: システムトラストバンドルに追加される 3 番目の CA ファイル。
  3. オプション: 次のコマンドを入力すると、extra-ca-certificate-config-bundle-secret.yaml ファイルの内容を確認できます。

    $ cat extra-ca-certificate-config-bundle-secret.yaml

    出力例

    apiVersion: v1
    data:
      config.yaml: QUxMT1dfUFVMTFNfV0lUSE9VVF9TVFJJQ1RfTE9HR0lORzogZmFsc2UKQVVUSEVOVElDQVRJT05fVFlQRTogRGF0YWJhc2UKREVGQVVMVF9UQUdfRVhQSVJBVElPTjogMncKUFJFRkVSU...
      extra_ca_cert_certificate-one: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQyVENDQXNHZ0F3SUJBZ0lVS2xOai90VUJBZHBkNURjYkdRQUo4anRuKzd3d0RRWUpLb1pJaHZjTkFRRUwKQlFBd2ZERUxNQWtHQ...
      extra_ca_cert_certificate-three: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ0ekNDQXN1Z0F3SUJBZ0lVQmJpTXNUeExjM0s4ODNWby9GTThsWXlOS2lFd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2ZERUxNQWtHQ...
      extra_ca_cert_certificate-two: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ0ekNDQXN1Z0F3SUJBZ0lVVFVPTXZ2YVdFOFRYV3djYTNoWlBCTnV2QjYwd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2ZERUxNQWtHQ...
    kind: Secret
    metadata:
      creationTimestamp: null
      name: custom-ssl-config-bundle-secret
      namespace: <namespace>

  4. 次のコマンドを入力して、configBundleSecret リソースを作成します。

    $ oc create -n <namespace> -f extra-ca-certificate-config-bundle-secret.yaml

    出力例

    secret/extra-ca-certificate-config-bundle-secret created

  5. 次のコマンドを入力して、QuayRegistry YAML ファイルを更新し、extra-ca-certificate-config-bundle-secret オブジェクトを参照します。

    $ oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"extra-ca-certificate-config-bundle-secret"}}'

    出力例

    quayregistry.quay.redhat.com/example-registry patched

  6. 次のコマンドを入力して、QuayRegistry YAML ファイルが更新され、追加の CA 証明書 configBundleSecret リソースが使用されるようにします。

    $ oc get quayregistry <registry_name> -n <namespace> -o yaml

    出力例

    # ...
      configBundleSecret: extra-ca-certificate-config-bundle-secret
    # ...

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.