技術概要
GfarmにWeb標準の認証技術を導入
Gfarm 2.8.0以降、従来の共有鍵やGSI(Grid Security Infrastructure)に加え、Kerberos認証やTLSクライアント証明書認証、そしてOAuth/OIDC認証といった現代的な認証方法がサポートされました。OAuth/OIDC認証は、Webアプリケーションで広く利用されている技術であり、認証にアクセストークン(JWT)を用います。これにより、Gfarmのセキュリティレベルを、最新のWebサービスと同様に引き上げることが可能となります。
この認証システムの鍵となるのは、アクセストークンの「短命性」という課題への対処です。アクセストークンの有効期限は短いため、コマンドラインでGfarmを操作し続けるには、トークンを定期的に更新する仕組みが必要です。そのために、以下の2つのコンポーネントが開発されました。
- JWTサーバ
-
Webブラウザでログインし、OpenIDプロバイダと連携してアクセストークンとリフレッシュトークンを発行します。リフレッシュトークンを暗号化して保持し、ユーザーにパスフレーズを提示します(パスフレーズはサーバに保存されません)。
- JWTエージェント
-
コマンドラインを実行するホスト上で稼働し、JWTサーバと通信することで、パスフレーズを用いて暗号化されたリフレッシュトークンを復号し、アクセストークンを定期的に自動更新します。
特徴と強み
セキュリティと持続性の両立
1最新のセキュリティ標準への準拠
共有鍵やGSIといった従来の認証方式に加え、OAuth/OIDCというWeb標準の認証技術に対応しました。これにより、より強固で集中管理されたセキュリティ環境を構築できます。
2高い安全性でトークンを保持
JWTサーバは、アクセストークンを更新するための重要な情報(リフレッシュトークン)を暗号化して保持します。そして、ユーザーに提示するパスフレーズはサーバー側では保存されないため、リフレッシュトークンの安全性が高く保たれます。
3コマンドライン操作の利便性向上
JWTエージェントを起動しておくことで、コマンドライン操作を行うホストは常に有効なアクセストークンを保持できます。これにより、長時間のバッチ処理やスクリプト実行において、手動での認証操作が不要となり、途中で認証が切れる心配がなくなります。
4汎用性の高い実装
Gfarmでの認証は、メールクライアント等で利用されるSASLライブラリを用いて実装されており、SASLのメカニズムとしてXOAUTH2を実現するライブラリも開発されています。設定を有効にし、SASLメカニズムにXOAUTH2を指定するだけで、Auth/OIDC認証が可能となります。
活用イメージ
自動化された安全なアクセス
- バッチ処理の実行
-
HPC環境において、何日もかかるような大規模なバッチ処理を実行する際、JWTエージェントが自動的に認証を維持するため、処理の途中でアクセスが拒否されることがなくなります。
- 集中型ID管理
-
組織全体のOpenIDプロバイダ(例:Keycloak)と連携させることで、Gfarmへのアクセスを一元的に管理し、ユーザーのID管理を簡素化します。
- 安全なパスフレーズ管理
-
ユーザーは一度Webブラウザでログインし、提示されたパスフレーズを安全に保管するだけで済みます。サーバー側でパスワードや長期有効なトークンを保持する必要がありません。
想定ニーズ・対象ユーザー
- システム管理者・セキュリティ担当者
-
ユーザー認証の一元化、および最新のOAuth/OIDCセキュリティ標準を大規模分散ファイルシステムに適用したい方。
- 大規模システムのヘビーユーザー
-
認証情報の頻繁な手動更新を避け、常に有効なセッショントークンを必要とする自動化されたワークフローを構築したい方。
- ITインフラ担当者
-
Gfarmを企業や大学の既存のID管理システム(OpenIDプロバイダ)に安全かつシームレスに統合したい方。