RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

独自の内部認証局

本項目では、独自の(テスト)認証局および証明書を作成するのに役立つ、内部認証局(CA)に関するスクリプトについて書かれています。

目次

前提条件

docker-composeテンプレートをダウンロードします。[ダウンロード]

ここで、easyrsa3というヘルパーツールを使用します。このツールはopensslを使用します。そのため、Linuxベンダーのパッケージ版を使用していない場合は、opensslをインストールする必要があります。prepare-cust-ca.shヘルパースクリプトでは、docker-compose.ymlのYAMLファイルの一部を変更するために、yqという追加ツールが必要になります ダウンロードするバージョンは、できるだけ新しいものを使用してください。

Debian/Ubuntuでのインストール


sudo add-apt-repository ppa:rmescandon/yq
sudo apt-get update
sudo apt-get install easy-rsa yq

Fedora/Centos/RedHatでのインストール


sudo curl -o /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64
sudo chmod a+x /usr/local/bin/yq
sudo yum install epel-release
sudo yum makecache
sudo yum install easy-rsa

OpenSuse/SLESでのインストール


sudo curl -o /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64
sudo chmod a+x /usr/local/bin/yq
sudo zypper refresh
sudo zypper install easy-rsa

Alpineでのインストール


MIRROR_URL=$(grep "main$" /etc/apk/repositories|sed -e 's#\(.*\/alpine\)/.*$#\1#')
echo "$MIRROR_URL/edge/community" >> /etc/apk/repositories
apk update
apk install easy-rsa yq

PKI(公開鍵基盤)の作成

カスタムの公開鍵基盤(PKI)を作成するには、新しい認証局を作成し、サーバー証明書を作成して、その作成した認証局でサーバー証明書に署名する必要があります。

プロセスを開始するディレクトリの作成

一つ目のステップは、PKIを作成することです。

警告:一連の作業は、必ず新規にディレクトリを作成の上、そのディレクトリ上で処理を行う必要があります。


make-cadir ca-dir
cd ca-dir
./easyrsa init-pki

varsファイルのカスタマイズ

以下のパラメータを変更します。


...
set_var EASYRSA_DN    "org"
...
set_var EASYRSA_REQ_COUNTRY   "US"
set_var EASYRSA_REQ_PROVINCE  "California"
set_var EASYRSA_REQ_CITY      "Los Angeles"
set_var EASYRSA_REQ_ORG       "Example Startup Company"
set_var EASYRSA_REQ_EMAIL     "it@examplestartup.com"
set_var EASYRSA_REQ_OU        "IT Sec group"
...
set_var EASYRSA_CA_EXPIRE     3650
...
set_var EASYRSA_CERT_EXPIRE   1080
...
set_var EASYRSA_NS_SUPPORT    "yes"
...
set_var EASYRSA_NS_COMMENT    ""
...

新しい認証局の作成

varsファイルを変更できれば、認証局のコモンネーム(Common Name;CN)が重要になります。


./easyrsa build-ca nopass

新しいサーバー証明書の作成

ここで、スクリプトからCNの情報を求められるため、注意してください。ワイルドカード(例:*.enamplestartup.com)の使用も許可されています。


./easyrsa gen-req server nopass

認証局でサーバー証明書に署名


./easyrsa sign-req server server

作成した証明書のコピー

以下の例のようにファイルをコピーして必要な権限を設定し、docker-compose.yamlと同じ階層にsslディレクトリを作成する必要があります。


mkdir -p ssl
cp ca-dir/pki/private/server.key ssl/private.key
cp ca-dir/pki/issued/server.crt ssl/certificate.crt
cat ca-dir/pki/ca.crt >> ssl/certificate.crt
chmod -R a+r ssl/
chmod a+w ssl/

.envとdocker-compose.ymlの準備

SSLで証明書を使用したい場合は、docker-compose.ymlだけではなく、.envも変更する必要があります。

docker-compose.ymlの変更

prepare-cust-ca.shシェルスクリプトを使用でき、docker-compose.ymlファイルを必要なオプションで拡張することができます。.envファイルの一部も同様に変更されます。

.envファイルの変更

必要に応じて、以下のようにファイルを編集して行を変更する必要があります。


...
# Public domain of the deployment
PUBLIC_DOMAIN=platform.examplestartup.com

# Public URL of the deployment that will be used for external access (Public domain + protocol + port)
PUBLIC_URL=https://platform.examplestartup.com

# Public URL of the SSO endpoint that will be used for external access. In most cases it should be the same as the PUBLIC_URL
SSO_PUBLIC_URL=https://platform.examplestartup.com
...
JHUB_CUSTOM_CA_CERTS=/full/path/to/platform/ssl/deb_cacerts/

警告: JHUB_CUSTOM_CA_CERTSには、プラットフォームのディレクトリと、ssl/deb_cacerts/サブディレクトリまでのフルパスが必要になります。

プラットフォームの起動

起動プロセスは、公式ドキュメントに記載されているものと同じです。

デプロイ後の手順やデプロイでのエラー

以前作成したサブディレクトリの削除

RapidMiner Initializationサービスの証明書の変換部分を再起動したい場合は、作成したサブディレクトリを削除する必要があります。


sudo rm -fr ssl/deb_cacerts/
sudo rm -fr ssl/java_cacerts/
sudo rm -fr ssl/rh_cacerts/

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル