Slurm REST API
Slurm provides a
REST API
daemon named slurmrestd.
Slurmは、slurmrestdという名前のRESTAPIデーモンを提供します。
This daemon is designed to allow clients to
communicate with Slurm via a REST API (in addition to the command line
interface (CLI) or C API).
このデーモンは、クライアントが(コマンドラインインターフェイス(CLI)またはC APIに加えて)RESTAPIを介してSlurmと通信できるように設計されています。
Prerequisites
slurmrestd requires additional libraries for compilation:
slurmrestdは、コンパイルのために追加のライブラリを必要とします。
Run modes
Slurmrestd currently supports two run modes: inet service mode and listening mode.Slurmrestdは現在、inetサービスモードとリスニングモードの2つの実行モードをサポートしています。
Inet Service Mode
The Slurmrestd daemon acts as an
Inet Service
treating STDIN and STDOUT as the client.
Slurmrestdデーモンは、STDINとSTDOUTをクライアントとして扱うInetサービスとして機能します。
This mode allows clients to use
inetd, xinetd, or systemd socket activated services and avoid the need to run a
daemon on the host at all times.
このモードでは、クライアントはinetd、xinetd、またはsystemdソケットでアクティブ化されるサービスを使用でき、ホスト上でデーモンを常に実行する必要がありません。
This mode creates an instance for each client
and does not support reusing the same instance for different clients.
このモードでは、クライアントごとにインスタンスが作成され、異なるクライアントで同じインスタンスを再利用することはできません。
Listening Mode
The Slurmrestd daemon acts as a full UNIX service and continuously listens
for new TCP connections.
Slurmrestdデーモンは完全なUNIXサービスとして機能し、新しいTCP接続を継続的にリッスンします。
Each connection is independently authenticated.
各接続は個別に認証されます。
Configuration
slurmrestd can be configured either by environment variables or command line arguments.slurmrestdは、環境変数またはコマンドライン引数のいずれかで構成できます。
Please see the doc/man/man1/slurmrestd.1 man page for details.
詳細については、doc / man / man1 /slurmrestd.1のmanページを参照してください。
IPv6 Support
Slurmrestd supports IPv6 clients.
SlurmrestdはIPv6クライアントをサポートします。
On dual stack systems,
it will likely provide the source IP as an
IPv6 IP for IPv4 clients
.
デュアルスタックシステムでは、IPv4クライアントのIPv6IPとしてソースIPを提供する可能性があります。
Slurmrestd must still be able to talk to slurmctld and slurmdbd via
IPv4.
Slurmrestdは、IPv4を介してslurmctldおよびslurmdbdと通信できる必要があります。
OpenAPI Specification (OAS)
Slurmrestd is compliant with
OpenAPI 3.0.2
.
SlurmrestdはOpenAPI3.0.2に準拠しています。
The OAS can be viewed at the following URLs:
OASは、次のURLで表示できます。
- /openapi.json
- /openapi.yaml
- /openapi/v3
The OAS is designed to be the primary documentation for the request methods.
OASは、リクエストメソッドの主要なドキュメントとなるように設計されています。
There are several third party tools that automatically generate documentation
against the OAS output listed by
openapi.tools.
openapi.toolsによってリストされたOAS出力に対してドキュメントを自動的に生成するサードパーティツールがいくつかあります。
Security
The Slurm REST API is written to provide the necessary functionality for
clients to control Slurm using REST commands.
Slurm REST APIは、クライアントがRESTコマンドを使用してSlurmを制御するために必要な機能を提供するように作成されています。
It is not designed to be
directly internet facing.
インターネットに直接接続するようには設計されていません。
Only unencrypted and uncompressed HTTP
communications are supported.
暗号化されていないHTTP通信と圧縮されていないHTTP通信のみがサポートされています。
Slurmrestd also has no protection against man in
the middle or replay attacks.
Slurmrestdには、中間者攻撃やリプレイ攻撃に対する保護もありません。
Slurmrestd should only be placed in a trusted
network that will communicate with a trusted client.
Slurmrestdは、信頼できるクライアントと通信する信頼できるネットワークにのみ配置する必要があります。
JSON Web Token (JWT) Authentication
slurmrestd supports using JWT to authenticate users.
slurmrestdは、JWTを使用したユーザーの認証をサポートしています。
JWT can be used to authenticate user over REST protocol.
JWTは、RESTプロトコルを介してユーザーを認証するために使用できます。
- User Name Header: X-SLURM-USER-NAME
- JWT Header: X-SLURM-USER-TOKEN
SlurmUserまたはrootは、特定のユーザーのプロキシとして機能する代替ユーザー名を提供できます。
While using JWT authentication, slurmrestd should be run as unique unprivileged user and group.
JWT認証を使用している間、slurmrestdは一意の非特権ユーザーおよびグループとして実行する必要があります。
slurmrestd should not be given SLURM_JWT environment variable at startup to allow users to provide their own JWT tokens.
ユーザーが独自のJWTトークンを提供できるように、起動時にslurmrestdにSLURM_JWT環境変数を指定しないでください。
Local Authentication
slurmrestd supports using UNIX domain sockets to have the kernel
authenticate local users.
slurmrestdは、UNIXドメインソケットを使用してカーネルにローカルユーザーを認証させることをサポートしています。
slurmrestd must be run as SlurmUser or root to allow
multiple different users at the same time but it is not required if users wish to run
as only themselves.
slurmrestdは、複数の異なるユーザーを同時に許可するためにSlurmUserまたはrootとして実行する必要がありますが、ユーザーが自分自身としてのみ実行する場合は必要ありません。
Slurmrestd must be located in the Munge security domain in order to function
and communicate with Slurm in local authentication mode.
Slurmrestdは、ローカル認証モードで機能し、Slurmと通信するために、Mungeセキュリティドメインに配置されている必要があります。
Last modified 7 February 2020