セキュリティーのトラブルシューティング・ガイド
インストールに関するドキュメントを参照して、インストールに必要な設定を適用する方法を理解してください。 インストール方法( OpenShift UIからインストールするか、 CASE インストーラーを使用するか)によって異なります。
data/transadv.yaml ファイルを使用して設定を実行する。環境変数の欠落
セキュリティを確保するために Transformation Advisor セキュリティを確保するために、特定の環境変数が必要である。 これらの変数は Transformation Advisor がインストールされると自動的に設定される。 いずれかの値が欠落している場合は、UI サーバーのログに以下のメッセージが表示されます。
Authentication is set to enable, but some required
environment variable(s) is missing. This may cause Readiness probe
failure. Please uninstall <span ... >keyword.ta_short</span>, re-configure
<span ... >keyword.ta_short</span> and try again
以下の 1 つ以上の変数が正しく設定されていない可能性があります。
TA_OCP_API_ENDPOINT=https://example.eu-de.containers.cloud.ibm.com:30999
TA_AUTH_ISSUER_ENDPOINT=https://example.eu-de.containers.cloud.ibm.com:30999
TA_AUTH_OIDC_CLIENT_ID=example5282946fac07867fbc937548cb35d3ebbace00
TA_AUTH_OIDC_CLIENT_SECRET=example5282946fac07867fbc937548cb35d3ebbace00
TA_API_KEY=B513VT1zlF56J9ZBjdambQQVM5_jePVN
TA_AES_IV=n6Ma2S4DiYVK3AlM
TA_AES_KEY=B513VT1zlF56J9ZBjdambQQVM5_jePVN
TA_DB_USER=admin
TA_AUTH_OIDC_CALLBACK_URI=http://example-ui-server/auth/callback
# the value of the private key shall be the base64 encoded pem format key
TA_PRIVATE_KEY
# the value of the public key shall be the base64 encoded cert
TA_PUBLIC_KEY
以下のコマンドを実行すると、変数のこのリストを確認できます。
oc exec -ti <server_pod_name> env | grep TA
環境変数を手動で構成するには、インストーラーに付属している data/transadv.yaml ファイルを更新する必要があります。
アンインストール Transformation Advisor.
data/transadv.yamlを再設定する。インストール Transformation Advisor 再び
例えば、公開鍵と秘密鍵を作成してテストするには、以下のようにします。
# Run this only once and make sure that you save and don't lose the files:
openssl req -newkey rsa:2048 -new -nodes -keyout private.pem -out unsigned-public.pem -subj "/C=IE/ST=Cork/L=Cork/O=IBM/CN=www.ibm.com"
openssl x509 -req -days 730 -in unsigned-public.pem -signkey private.pem -out public.crt
# Example to base64 encode the key pairs:
base64 -w 0 ./private.pem > private-base64
base64 -w 0 ./public.crt > public-base64
private-base64 と public-base64 の値は TA_PRIVATE_KEY と TA_PUBLIC_KEY の値である。
値によっては、インストーラーによって生成され、data/transadv.yaml ファイルでは構成できないものもあります。
認証ページにアクセスできない
トラブルシューティング中に data/transadv.yaml ファイルを再構成したら、認証ページに到達できなくなったという場合は、OAuth のコールバック URL が正しく設定されているか確認してください。
以下の例では、クライアント ID は TA_AUTH_OIDC_CLIENT_ID=example5282946fac07867fbc937548cb35d3ebbace00 です。
ocp:
authIssuerEndpoint: "{{ cluster.authorizationEndpoint | regex_replace('/oauth/.*', '') }}"
apiEndpoint: "{{ clusterUrl }}"
secretName: "transformation-advisor-secret"
oidc:
endpointPort: "{{ cluster.authorizationEndpoint | urlsplit('port') }}"
clientId: ta-ui
clientSecret: "{{ lookup('password', '/dev/null length=40 chars=hexdigits') }}"
Red Hat OpenShift Container Platform がターミナルに接続されているか、環境を初期化できることを確認し、以下のコマンドを実行する:
oc edit oauthclient example5282946fac07867fbc937548cb35d3ebbace00
リダイレクト URL が存在しないか、正しく構成されていない場合は、正しい URL に更新してください。 例:
redirectURLs:
- http://your-ta-ui-url/auth/callback
認証を無効にする
デバッグまたはテストのために、data/transadv.yaml ファイルを再構成して認証を無効にすることができます。
アンインストール Transformation Advisor.
data/transadv.yamlを再構成して、次のように認証を更新します。authentication: disabled: liberty: true ui: trueインストール Transformation Advisor 再び
鍵の循環
Red Hat 提供の証明書と鍵
証明書(このセクションの残りの部分では証明書と呼ぶ)と鍵は、secretsに格納される:
# used by the couch db pod
db-internal-cert
# used by the Liberty server pod
liberty-internal-cert
# used by the UI pod
ui-internal-cert
内部TLSで使用される証明書と鍵のペアを次のように置き換えるには、次の手順を実行する。 Transformation Advisor に置き換えるには、以下の手順を実行する:
ポッドで使用されるシークレットを削除します。
以下の場合、Couch DBポッドを削除する前に必ずデータをバックアップしてください。 Transformation Advisor が永続ボリューム(PV)なしでインストールされている場合、Couch DBポッドを削除する前に必ずデータをバックアップしてください。
ポッドを削除します。
例えば、UIポッドの証明書と鍵を置き換える:
# delete the secret
oc delete secret ui-internal-cert
# delete the pod
oc delete pod ui-pod-name -n ta
# always delete the liberty pod
oc delete pod liberty-pod-name -n ta
ポッドの名前を取得する:
oc get pods -n ta
鍵の循環の確認
リバティポッドにログインしてUIポッドに接続すれば、証明書の変更を確認できる:
oc exec -ti liberty-pod-name bash
# in the liberty pod
openssl s_client -connect ui-service-name:3443
次に、キー回転の前後で Server certificate 。
サービス名を取得する:
oc get services -n ta
顧客提供の証明書と鍵
顧客提供の証明書と鍵を交換する手順に従ってください:
アンインストール Transformation Advisor.
削除 Transformation Advisor secret
transformation-advisor-secretもしあれば。Bring Your Own Key(BYOK)を有効にする 」のセクションに従い、新しい証明書と鍵のペアを使用する。
内部資格情報のリセット
内部資格情報はすべて、シークレット transformation-advisor-secret に保管されます。
内部パスワード、キー、初期ベクトルをリセットする手順に従ってください:
古い秘密をバックアップする:
oc get secret transformation-advisor-secret -o yaml > backup.yaml秘密を削除する:
oc delete secret transformation-advisor-secret資格情報を再作成します。 新しいシークレットを作成するには、 BYOK(Bring Your Own Key)を有効にするセクションに従います。 例:
oc create secret generic transformation-advisor-secret \ --from-literal=db_username='updated-plain-text-username' \ --from-literal=secret='updated-text-password' \ --from-file=ta_public_key=./public-base64 \ --from-file=ta_private_key=./private-base64 \ --from-literal=ta_aes_key=$TA_TEMP_KEY \ --from-literal=ta_aes_iv=$TA_TEMP_IV \ --from-file=key.p12=key.p12CouchDB ポッド、UI ポッド、Liberty ポッドの順に削除する:
# delete the pod oc delete pod couchdb-pod-name -n ta oc delete pod ui-pod-name -n ta oc delete pod liberty-pod-name -n ta
IBM Cloud (ROKS) 上の OCP での無効な証明書の問題
IBM Cloud に既に有効な証明書がインストールされており、 IBM Cloud の OCP Web コンソール・ページでも証明書が有効な場合は、この証明書を以下のように変更して有効化できます。 Transformation Advisor に有効な証明書にすることができます。 Transformation Advisor をインストールする前に、 ta.apps のルートを ta-apps に変更することで、この証明書を有効にすることができます。 Transformation Advisor.
ルートは、以下の手順で変更できます。
Installed Operatorsで IBM Transformation Advisor.Installed Operators > Operator detailsページで、Create instanceをクリックします。IBM Transformation Advisor > Create TransAdvページで、YAML viewに移動します。YAML viewエディターで、ta.appsを検索し、ta-appsに変更する。同じページで 「作成」 をクリックします。
出口ネットワーク・ポリシー (ENP)
A Transformation Advisor のデフォルトでは、Egressネットワークポリシーが有効になっています。 Transformation Advisor3.1.0 Kubernetes のセキュリティ強化の原則に従って、ポッドの外部通信を制限する。 OpenShift SDBプラグインがインストールされていない場合 Transformation Advisor egressネットワークポリシーは無効になります。
デフォルトの Transformation Advisor デフォルトのENPは Transformation Advisor DNS 名 github.com および github.ibm.com を除いて、インストール名前空間からの送信通信を拒否します。
必要であれば Transformation Advisor を無効にすることができる。 を無効にします。 Transformation Advisor ネットワークポリシーを無効にすると Transformation Advisor ポッドのアウトバウンド通信が非絶縁(または無制限)になります。
ENPは、インストールの前でも後でも変更できます。 Transformation Advisor を変更することができます。
インストール前の出口ネットワーク・ポリシーの変更
インストール Transformation Advisor オペレーター
オペレータの詳細ページで IBM Transformation Advisor をクリックします。
YAMLビューに移動する。 次のようなコードが表示されるはずだ:
networkPolicy: enabled: true egress: enabled: true default: - type: Allow to: dnsName: github.com - type: Allow to: dnsName: github.ibm.com - type: Allow to: cidrSelector: 10.254.0.0/16 - type: Allow to: cidrSelector: 10.17.76.179/32 - type: Allow to: dnsName: api.fuguo.ken.fyre.ibm.comENP を無効にするには、
networkPolicy.egress.enabledをfalseに変更する。DNS名を許可または拒否するには、同様のエントリーを追加する:
- type: Deny to: dnsName: this.dns.name.will.be.denied - type: Allow to: dnsName: this.dns.name.will.be.allowedCIDR範囲を許可または拒否するには、
dnsNameおよびその値を置き換えるCIDR値とともに、cidrSelectorキーワードを使用する。
インストール後の出口ネットワーク・ポリシーの変更
「編集」 TransAdv にナビゲートし、 「インストール済みオペレーター」>「オペレーターの詳細」の 「TransAdv 詳細」 ページに移動します。
「YAML」タブをクリックします。
インストール前の Egress Network Policy の変更 」セクションで説明したのと同じ手順に従って、ENP を変更します。
ENPは Transformation Advisor ポッドがオペレータによって再作成された後に有効になる。
しばらくしてもポッドのステータスが変わらない場合は、手動で Transformation Advisor ポッドを手動で削除できます。
ENPをチェックするには、以下のコマンドを使用する:
oc describe egressnetworkpolicy ta-default-egress-network-policy -n your-ta-name-space