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

Webサービスへのセキュアなアクセスの設定

前書き

RESTエンドポイントを保護することは、どのプラットフォームにおいても、特にパブリックなインターネットからアクセス可能なプラットフォームにおいては、重要なセキュリティ対策です。

RapidMinerプラットフォームのデプロイメントでは、RESTエンドポイントは、実行やスケジュールの管理から、Webサービスとして公開されたRapidMinerプロセスの実行まで、さまざまな用途に使用できます。後方互換性の観点から、HTTP Basic認証の有効化(すなわちRESTエンドポイントの呼び出し時にユーザー名とパスワードを暗号化せずに送信)をサポートしていますが、推奨される認証スキームは(アクセストークンを使用する)HTTP Bearer認証です。旧バージョンからの移行で、すでにWebサービスが組み込まれていて、使用する認証スキームを簡単に変更できない場合は、レガシーのBasic認証を有効にする方法についてアップグレードおよび移行ガイドを参照してください。

RapidMinerプラットフォームのデプロイメントに含まれるコンポーネントは、標準的なOAuth2/OpenID Connectを認証と認可に使用しています。この方式では、インタラクティブな認証(例:ユーザー名とパスワードの提供)の後、アクセストークンとリフレッシュトークンが生成されます。アクセストークンは通常、有効期間が短く、期限が切れると、リフレッシュトークンを使って、IDPコンポーネントから新しいアクセストークンを入手することができます。これについて詳細を確認したい場合は、セキュリティ概要をご覧ください。

RapidMiner Serverが提供するWebサービスを他のアプリケーションから呼び出す場合など、マシン間通信の場合はインタラクティブなユーザー認証はできません。しかし、前述のように、後方互換性の理由からレガシーのBasic認証を提供していますが、セキュリティの観点より、システム間でトークンベースの認証スキームを実装することがベストな方法です。

KeyCloakコンポーネントは、この問題を解決するために、offline access tokensというコンセプトを使用しています。オフラインアクセストークンには独自の有効期限設定があり、通常のアクセストークンよりも長期間持ちます。このページでは、トークンベースの認証を使って、アプリケーションにWebサービスを組み込むのに必要なトークンを生成する手順を説明します。

ユーザーの分離

アクセストークンは、トークンの「所有者」が許可されているあらゆる操作を、トークンの使用者に許可するものです。アクセストークンが短時間のみ有効なのは、悪意のある第三者がこのトークンを手に入れた場合の潜在的な影響を最小限に抑えるためです。

オフラインアクセストークンは有効期限が長く、上記のリスクが高まります。そのため、必要なWebサービスのエンドポイントへのアクセスを提供することだけを目的とした別のユーザーをプラットフォーム内に作成することをお勧めします。これらのユーザーは、Webサービスを利用するために必要なアクセス権のみを持ち、offline_accessロールを持つことになります。これは、ユーザーがKeyCloakにオフラインアクセス用のトークンを発行するよう指示するためのロールです。

デプロイメントテンプレートでは、必要な認証と認可の設定を持つwebservice-userというユーザーがあらかじめ用意されています。プラットフォームで新しいユーザーを設定する際、このユーザーをテンプレートとして使用することができます。

webservice-userには、パスワードが設定されていません。使用する場合は、まず最初にパスワードを設定する必要があります。詳しくはユーザー、グループ、ロールの管理のページをご覧ください。

トークンの取得とクライアントアプリケーションへの組み込み

まず、前述したように、プラットフォームにWebサービスの使用者を表すユーザーを作成します。

ユーザーがすべてのバックエンドコンポーネントで利用可能になるように、新しく作成したユーザーでログインし、ランディングページExecutions and schedulesをクリックします。

次に、ブラウザでhttps://your-platform-deployment/get-token/にアクセスし、Token Generatorを開きます。そこでは、新たに生成されたリフレッシュトークンと、アクセストークンとの交換方法、そしてHTTP RESTエンドポイント呼び出しの中でBearer認証を動作させる方法の例を確認できます。

すべてが動作することを確認するために、Webサービスの使用者を表すユーザが、問題のWebサービスを実装するRapidMinerプロセスにアクセスできることを再確認します。

トークンの有効期限の調整

前述の通り、オフライントークンは通常のアクセストークンよりも期限が長いため、マシン間通信にも気楽に使用できます。そのため、その有効期限はIdentity and Securityの別の設定パラメータで制御されます。

デフォルトの設定では、オフライントークンは、使用されていない状態で1ヶ月、また使用状態にかかわらず1年で期限切れになります。そのため、少なくとも月に一度はトークンを使用し、年に一度は上記の手順で新しいトークンを生成してクライアントに埋め込む必要があります。

上記のパラメータを調整するには、Identity and Securityにログインし、Realm Settingsページで Tokensタブをクリックします。Offline Session IdleOffline Session Maxは、上記の有効期限を制御するパラメータです。必要であれば、Offline Session Max LimitedOffに設定することで、オフライントークンが期限切れにならないように設定することができます。

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