OAuth/OIDC認証

新しいログイン方法でより安全にGfarmのファイルシステムに
アクセスできるようにする仕組みです。

技術概要

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プロバイダ)に安全かつシームレスに統合したい方。

その他の技術・開発

矢印アイコン