セキュリティ概要
このページはRapidMinerプラットフォームのセキュリティ面についてまとめ、使用されているコンセプトについて簡単に振り返ります。特定のセキュリティやIDに関連するタスクを行う方法を詳しく知りたい場合は、デプロイメントの管理ページの関連するセクションをご覧ください。
特徴
増加していくRapidMinerプラットフォームのコンポーネント間のセキュアな運用とスムーズなユーザー体験を確保するために、プラットフォームにIDP(Identity Provider)を統合しました。このコンポーネント(これはオープンソースな製品で、KeyCloakと言います)は以下の機能を備えています。
- RapidMinerプラットフォームの全てのコンポーネントへの一般的なIDP
- ユーザーと様々なログイン認証(パスワード、二段階認証、トークン)の一元管理
- 全てのコンポーネントへのシングルサインオンの実現
- きめ細やかな、ロールベースの認証管理
- IDPを基にしたSAML v2.0またはOAuth2を用いたIDの連携
- LDAPを用いたユーザーの連携
- セッションと監査ログ
構造
以下の図は、AI Hubの高いレベルでのセキュリティ構造、その中心のKeyCloakコンポーネントの役割を説明しています。
コンポーネント間の直線は、認証と認可が発生する関係性を示しています。点線の矢印は任意でIDとユーザーの連携が可能な範囲を示しています。
KeyCloakと他のプラットフォームのコンポーネント間の認証と認可は、OAuth2/OpenID Connect規格を用いて行われます。
コンセプト
プラットフォームのデプロイにKeyCloakを使用することで、緻密で豊富な機能をもつIDとセキュリティ設定が可能になりますが、その管理インタフェースを見ると難しく思われるかもしれまえん。設定している間は、用いられるコンセプトをよく理解しておくことが重要です。詳細はKeyCloakのドキュメントを参照してください。
KeyCloakの設定
KeyCloakコンポーネントは万能です。RapidMinerプラットフォームのユーザーと管理者がすぐに使えるように、私たちのデプロイメントテンプレート内ではデフォルトの設定が用意されています。ここでは、これらの設定の選択について解説し、それらを変更すべきかそのままにしておくべきかをお伝えします。そして、一般的な管理タスクを達成する方法を説明しているガイドへのリンクを提供します。
レルムの設定
Masterという名前のレルムがあります。これは名前の変更や削除をしてはいけません。メール対応が設定されていない場合は、パスワードを忘れた場合のフローやメール確認のフローがデフォルトで無効になっています。セルフサインアップもまた無効です。固いセキュリティ防御が設定されています。
典型的な管理タスク :
クライアント
RapidMinerプラットフォームのデプロイされたコンポーネントは、Masterレルムのクライアントとして表示されます。これらのクライアントロールは、各コンポーネントの必要に応じて定義されています。
典型的な管理タスク :
- 追加のプラットフォームコンポーネントのデプロイ (例: オンプレミスのRapidMiner Go)
(レルム)ロール
platform-adminとplatform-usersの二つのコンポーネントのロールが事前に設定されています。それぞれ、デプロイされた各コンポーネントの管理者機能や、特権のないユーザー機能にアクセスできるよう設定されています。これは、クライアントロールをこれらの(複合)レルムロールにマッピングすることで実現しています。
典型的な管理タスク :
IDPとユーザーの連携
デフォルトでは何も設定されていません。
典型的な管理タスク :
認証フローとパスワードポリシー
ユーザー名/パスワードと、(ユーザーが設定した場合)任意で二段階認証を含む、基本的な設定が事前に用意されています。デフォルトではパスワードポリシーは設定されていません。
典型的な管理タスク :
グループとユーザー
デフォルトではグループは何も定義されていません。platform-adminロールをもつ、adminユーザーがデフォルトで用意されています。このユーザーの初期パスワードはchangeitです(クラウドイメージでデプロイされた場合は除きます)。
デプロイメントのセキュアな運用を確保するために、必ず管理者パスワードを変更してください。
典型的な管理タスク :