自己署名証明書のSSLの有効化/更新
自己署名証明書は、証明書のサブジェクトによって作成、署名および発行されます。バージョン3.0.7以降のビッグ・データ・サービス・クラスタでは、ビッグ・データ・サービス証明書ユーティリティ・ツールを使用して、ODHクラスタ用の自己署名SSL証明書を生成できます。
ノート
ビッグ・データ・サービスODHではSSLの有効化/更新は同じであり、証明書の有効期限が切れている場合は、通常のSSL有効化プロセスを使用して証明書のセット全体を再生成する必要があります。証明書の有効期限に基づいて通知を作成することをお薦めします。詳細は、アラームの作成を参照してください。
ビッグ・データ・サービスODHではSSLの有効化/更新は同じであり、証明書の有効期限が切れている場合は、通常のSSL有効化プロセスを使用して証明書のセット全体を再生成する必要があります。証明書の有効期限に基づいて通知を作成することをお薦めします。詳細は、アラームの作成を参照してください。
-
opc
ユーザーとしてODHクラスタ・ノードの最初のマスター・ノード(mn0)にSSH接続します。 -
/home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf
を編集します。例:
vi /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf
サンプル・ファイル:
# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. # [BDS_CERT_CONFIGS] #This files defines all the SSL certificate related configurations used in BDS cluster #Whether custom certificate or not CUSTOM_CERTIFICATE=false #Recommended SSL services, Mostly all the customer facing UI services #Allowed values AMBARI,RANGER,HUE,DATASTUDIO,LIVY DEFAULT_SSL_SERVICES=AMBARI #Comma separated service names for enabling SSL, These are the additional components from ambari UI to enable/disable SSL. #Allowed values ZOOKEEPER,AMS,HDFS,YARN,MAPREDUCE,OOZIE,HBASE,SPARK,HIVE,KAFKA,FLINK,REGISTRY ADDITIONAL_SSL_SERVICES=NONE #Whether to restart all the required services after certificate deployment RESTART_REQUIRED_SERVICES=false #Certificate validity in days. Mostly used for self signed certificates CERTIFICATE_VALIDITY=180 #Bits to be used for certificate generation. Mostly used for self signed certificates CERTIFICATE_BITS=3072 #Algorithm to be used for generating self signed certificate CERTIFICATE_ALGORITHM=sha256 #Default path to store all the certificate, keys and keystore. Same path will be used for hadoop credential store CERT_PATH=/etc/security/serverKeys #Temporary certificate directory. Will be used before applying the certificate TEMP_CERT_PATH=/etc/security/serverKeys_new #Initital certificate generation path. Used only when generating self signed certificates CERT_GEN_FOLDER=/etc/security/serverKeys_cert_gen #Secure password location. This location will be used only during transaction CERT_PASS_PATH=/etc/security/certPass #Whether to take backup when doing certificate renewal. Mostly used for self signed certificates KEEP_OLD_CERTS=true #Set this flag incase utility used for older cluster. It will update the keystore path along with other properties LEGACY_CLUSTER=false #Set Keystore type KEYSTORE_TYPE=jks #This is completely owned by oracle. Leave this field unchanged ORACLE_OWNED_ROOT_CERTIFICATE_NAME=bdsOracleCA.crt ORACLE_OWNED_ROOT_CERTIFICATE_KEY_NAME=bdsOracleCA.key #Final trust bundle that contains all the trust certificates. #Including all public ca root certs, oracle owned root certs and customer specified root certs. #This will be saved in CERT_PATH. Leave this field untouched TRUST_CERTS_BUNDLE_NAME=oraclerootCA.crt #Root Certificate related details ROOT_CERT_PATH=/etc/security/serverKeys/bdsOracleCA.crt #Server certificate details SERVER_CERT_PATH="NONE" SERVER_CERT_KEY_PATH="NONE" #Support for LDAPS LDAP_URL=NONE
ノート
自己署名証明書のルート/発行者証明書は、ORACLE_OWNED_ROOT_CERTIFICATE_NAME in all the nodes of the cluster
という名前のパスCERT_PATH
にあります。 -
SSLを有効にするサービスで
ADDITIONAL_SSL_SERVICES
プロパティを更新します。このプロパティのデフォルト値は、NONE
です。許可される値は、AMS
、HDFS
、YARN
、MAPREDUCE
、OOZIE
、HBASE
、SPARK
、ZOOKEEPER
、HIVE
、KAFKA
、FLINK
およびREGISTRY
です。サービスのカンマ区切りリストを使用して、必要なすべてのサービスに対して一度にSSLを有効にすることをお薦めします。 -
ODHクラスタがLDAP/ADと統合されている場合、LDAP_URLをLDAPサーバーURLを指すように更新します(セキュアなLDAPにのみ適用されます)。
例:
LDAP_URL=ldaps://<myldap.com:636>
これにより、必要な証明書がODHトラストストアに自動的にプルされます。
-
このユーティリティでサービスを再起動する場合は、
RESTART_REQUIRED_SERVICES
プロパティ値をtrue
に更新します。このプロパティのデフォルト値は、false
です。デフォルト値を保持する場合は、影響を受けるすべてのサービスをApache Ambariから手動で再起動して、クラスタのSSLの有効化を完了する必要があります。このプロパティの値に関係なく、このユーティリティを使用して証明書を有効にすると、Apache AmbariやDatastudioなどの一部のサービスはただちに再起動されます。 -
古い証明書のバックアップを保持するには、
KEEP_OLD_CERTS
プロパティのデフォルト値のtrue
を保持します。証明書のバックアップは、/etc/security/serverKeys-backup-<dateofbackup>
に格納されます。 -
クラスタ・バージョンが3.0.6以下の場合は、
LEGACY_CLUSTER
プロパティ値をtrue
に設定して、クラスタ内のSSLプロパティを更新します。クラスタ・バージョンが3.0.7以上の場合は、このステップをスキップしてください。 - 構成ファイルに加えた変更を保存します。
-
ユーティリティを実行して、SSL証明書を有効にします。
ambariPass
パラメータを使用しない場合、Ambariパスワードを入力するように求められます。sudo bds_cert_util --enable --ambariPass ambari-password
ノート
Ambariパスワードに特殊文字が含まれている場合は、パスワードを一重引用符で囲みます。例:
sudo bds_cert_util --enable --ambariPass '<ambari-password>' Example:- ## sudo bds_cert_util --enable --ambariPass 'Welcome@879'
ノート
証明書を更新したら、更新した証明書がシステムで更新されていることを確認します。たとえば、ビッグ・データ・サービス証明書がいずれかのLoad Balancerに追加された場合、更新後に新しいルート証明書をLoad Balancerに更新する必要があります。 - ユーティリティが完了するまで待機します。
-
/home/opc/cloud/flask-microservice/logs/bds_cert_util*.log
のユーティリティ・ログを確認します。 -
ユーティリティが正常に実行されると、すべての構成済サービスがSSL上で実行されます。サービスがSSLに対して有効になっているかどうかを確認するには、Apache Ambariにサインインし、各構成済サービスのクイックリンクを選択します。
ノート
ビッグ・データ・サービス・クラスタのSSL証明書を更新した後、JupyterHubサービスで最新の証明書が使用されていない場合は、JupyterHubサービスを再起動します。- JupyterHubノードにサインインします(HAクラスタの場合はun1、非HAクラスタの場合はun0を使用します)。
- JupyterHubサービスを再起動します。
systemctl restart jupyterhub.service
- JupyterHubサービスのステータスを確認します。
systemctl status jupyterhub.service
これにより、JupyterHubサービスで、更新されたSSL証明書が使用されるようになります。