JSON Web Tokens (JWT) Authentication

Slurm provides a RFC7519 compliant implementation of JSON Web Tokens (JWT).
Slurmは、RFC7519に準拠したJSON Web Token(JWT)の実装を提供します。
This authentication can be used as an AuthAltType, usually alongside auth/munge as the AuthType.
この認証は、AuthAltTypeとして使用でき、通常はauth / mungeと一緒にAuthTypeとして使用できます。

Prerequisites

JWT requires libjwt.
JWTにはlibjwtが必要です。
Both the library and the development headers must be available when Slurm is compiled.
Slurmのコンパイル時には、ライブラリと開発ヘッダーの両方が使用可能である必要があります。

Setup

  1. Configure and build Slurm for JWT support
    JWTサポート用にSlurmを構成およびビルドする
  2. Add JWT key to controller in StateSaveLocation: Here is an example with StateSaveLocation=/var/spool/slurm/statesave/
    StateSaveLocationのコントローラーにJWTキーを追加します。StateSaveLocation= / var / pool / slurm / statesave /の例を次に示します。
    openssl genrsa -out /var/spool/slurm/statesave/jwt_hs256.key 2048
    chown slurm /var/spool/slurm/statesave/jwt_hs256.key
    chmod 0700 /var/spool/slurm/statesave/jwt_hs256.key
    
  3. Add JWT as an alternative authentication in slurm.conf:
    slurm.confの代替認証としてJWTを追加します。
    AuthAltTypes=auth/jwt
    
  4. Restart slurmctld
    slurmctldを再起動します
  5. Create tokens for users as desired:
    必要に応じて、ユーザーのトークンを作成します。
    scontrol token username=$USER
    
    An optional lifespan=$LIFESPAN option can be used to change the token lifespan from the default 1800 seconds.
    オプションのlifespan = $ LIFESPANオプションを使用して、トークンの寿命をデフォルトの1800秒から変更できます。
    The root account, or SlurmUser account can be used to generate tokens for any user.
    rootアカウント、またはSlurmUserアカウントを使用して、任意のユーザーのトークンを生成できます。
    Alternatively, a user may use the command to generate tokens for themselves by simply calling
    または、ユーザーはこのコマンドを使用して、単に呼び出すだけで自分のトークンを生成できます。
    scontrol token
    
  6. Export the SLURM_JWT environment variable before calling any Slurm command.
    Slurmコマンドを呼び出す前に、SLURM_JWT環境変数をエクスポートします。

Last modified 21 February 2020