SystemLinkのHTTP APIでAPI Keyを作成・使用する方法

更新しました Oct 28, 2022

環境

ソフトウェア

  • SystemLink
  • SystemLink Server

SystemLinkをHTTP APIで制御する場合、Basic認証を使用する方法とは別にAPI Keyを作成し、実行する方法があります。ここではAPI Keyの作成とその使用方法について確認します。

SystemLinkにおけるAPI Keyの作成は下記の2つのHTTP APIにより行う事ができます。

  1. Policyの作成 (POST /niauth/v1/policies)
  2. API keyの作成 (POST /niauth/v1/keys)
  3. API keyの使用方法

 

  1. Policyの作成 (POST /niauth/v1/policies)

    Policiesの作成は下図の通り、特定のnameに対してこのユーザーが使用可能なactions, アクセス可能なresource及びworkspaceを指定し、発行します。ここではnameで指定したuser1に対して0d92be8b-4772-4965-8f57-9e1644a03bf2というpolicy IDが作成されています。
     

    POST_policies2.png


    1つのpolicy IDを複数のAPI keyの作成に使用する事ができます。Policyの内容について同じものを複数のクライアントに適応する場合、1つのAPI keyを複数のクライアントで使用する事ができます。クライアント事にアクセス可能なリソース、実行可能なコマンドを設定する場合、それぞれについてpolicyを作成する必要があります。

     

  2. API keyの作成 (POST /niauth/v1/keys)

    作成したPolicy IDを使用して、API keyを作成します。ここではnameで指定したuser1に対してsecretとして表示されているAPI key = aOFkYvM8eaypigGpMUmxbHRn-NhjkPTOTmahQbWHYSが作成されました。API Keyの削除にはここで表示されているid15e4b028-ff7c-405f-9060-0ed22b5976daが必要となります。API keyはユーザーが意図的に削除もしくは有効期限の設定を行わない限り、失効しません。

    POST_keys2.png
     

  3. API keyの使用方法

    SystemLink Serverから発行したAPI keyx-ni-api-keyヘッダに含めることでBasic認証の代わりとして使用できます。例えば下記の様にPOST niauth/v1/keysを使用してAPI keyの一覧を出力すると、SystemLink Serverにシステムとして登録されている機材はAPI keyを保有している事が確認できます。

    checkapikeyresults.png

    CheckAPIkey.png