1.3. Red Hat Quay on OpenShift Container Platform のカスタム SSL/TLS 証明書の設定
Red Hat Quay が OpenShift Container Platform にデプロイされると、QuayRegistry
カスタムリソース定義 (CRD) の tls
コンポーネントはデフォルトで managed
に設定されます。その結果、OpenShift Container Platform の認証局が HTTPS エンドポイントの作成と SSL/TLS 証明書のローテーションに使用されます。
OpenShift Container Platform への Red Hat Quay の初期デプロイメントの前または後に、カスタム SSL/TLS 証明書を設定できます。このプロセスには、QuayRegistry
YAML ファイル内の configBundleSecret
リソースを作成または更新してカスタム証明書を統合し、tls
コンポーネントを unmanaged
に設定することが含まれます。
Red Hat Quay のカスタム SSL/TLS 証明書を設定する場合、管理者が証明書をローテーションします。
以下の手順により、カスタム SSL/TLS 証明書を適用して安全な通信を確保し、OpenShift Container Platform デプロイメント上の Red Hat Quay の特定のセキュリティー要件を満たすことができます。これらの手順では、認証局 (CA) バンドルまたは ssl.key
と ssl.cert
がすでに作成されていることを前提としています。この手順では、これらのファイルを OpenShift Container Platform デプロイメント上の Red Hat Quay に統合する方法を示します。これにより、レジストリーが指定されたセキュリティー設定で動作し、組織の SSL/TLS ポリシーに準拠するようになります。
-
HTTPS 証明書を使用して Red Hat Quay を保護するには、次の手順に従います。これは、認証局信頼バンドルの管理とは異なることに注意してください。CA 信頼バンドルは、
Quay
コンテナー内のシステムプロセスによって使用され、信頼できる CA に対して証明書を検証し、LDAP、ストレージバックエンド、OIDC 接続などのサービスが信頼されていることを確認します。 -
既存のデプロイメントに証明書を追加する場合は、設定を変更しない場合でも、新規の設定バンドルシークレットに既存の
config.yaml
を含める必要があります。
1.3.1. カスタム SSL/TLS configBundleSecret リソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
カスタム SSL/TLS 証明書を作成した後に Red Hat Quay on OpenShift Container Platform 用のカスタム configBundleSecret
リソースを作成すると、ssl.cert ファイル
と ssl.key
ファイルをアップロードできるようになります。
前提条件
-
base64 で元の設定バンドルを
config.yaml
ファイルにデコードしている。詳細は、既存の設定のダウンロードを 参照してください。 - カスタム SSL 証明書とキーを生成している。
手順
新しい YAML ファイル (例:
custom-ssl-config-bundle-secret.yaml)
を作成します。touch custom-ssl-config-bundle-secret.yaml
$ touch custom-ssl-config-bundle-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow custom-ssl-config-bundle-secret
リソースを作成します。次のコマンドを入力してリソースを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<config.yaml>
はbase64 でデコード
されたconfig.yaml
ファイルです。- 2
<ssl.cert>
はssl.cert
ファイルです。- 3
- オプション:
--from-file=extra_ca_cert_<name-of-certificate>.crt=ca-certificate-bundle.crt
フィールドにより、Red Hat Quay はカスタム認証局 (CA) ファイルを認識できるようになります。LDAP、OIDC、またはカスタム CA を使用する別のサービスを使用している場合は、extra_ca_cert
パスを介してそれらを追加する必要があります。詳細は、「Red Hat Quay on OpenShift Container Platform への認証局のさらなる追加」を参照してください。 - 4
<ssl.key>
はssl.key
ファイルです。
オプション: 次のコマンドを入力して、
custom-ssl-config-bundle-secret.yaml
ファイルの内容を確認できます。cat custom-ssl-config-bundle-secret.yaml
$ cat custom-ssl-config-bundle-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
configBundleSecret
リソースを作成します。oc create -n <namespace> -f custom-ssl-config-bundle-secret.yaml
$ oc create -n <namespace> -f custom-ssl-config-bundle-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
secret/custom-ssl-config-bundle-secret created
secret/custom-ssl-config-bundle-secret created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
QuayRegistry
YAML ファイルを更新して、custom-ssl-config-bundle-secret
オブジェクトを参照します。oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"custom-ssl-config-bundle-secret"}}'
$ oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"custom-ssl-config-bundle-secret"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
quayregistry.quay.redhat.com/example-registry patched
quayregistry.quay.redhat.com/example-registry patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
QuayRegistry
YAML のtls
コンポーネントをFalse
に設定します。oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"components":[{"kind":"tls","managed":false}]}}'
$ oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"components":[{"kind":"tls","managed":false}]}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
quayregistry.quay.redhat.com/example-registry patched
quayregistry.quay.redhat.com/example-registry patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
QuayRegistry
YAML ファイルが更新され、カスタム SSLconfigBundleSecret
リソースが使用されるように設定されていること、およびtls
リソースがFalse
に設定されていることを確認します。oc get quayregistry <registry_name> -n <namespace> -o yaml
$ oc get quayregistry <registry_name> -n <namespace> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを入力して、サーバーとポートへの TLS 接続を確認します。
openssl s_client -connect <quay-server.example.com>:443
$ openssl s_client -connect <quay-server.example.com>:443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow