# APIクレデンシャル生成

APIクレデンシャル情報の生成には、generateコマンドを使用します。

## コマンド形式

    api-keytool generate [設定ファイル]

## パラメーター説明

設定ファイル

ファイルの種類

  : YAMLファイル

APIクレデンシャル情報の設定ファイルの内容は表3.2 のとおりです。

表3.2 APIクレデンシャル情報の設定ファイル

項目 | 内容 | 設定値 | 省略 | 省略値
--- | --- | --- | --- | ---
id | API キーを識別するための一意な値 | 1～32 文字 半角英数字記号(-) ※大文字小文字を区別しない | × | -
description | APIクレデンシャル情報の説明 | 0～1024文字 | 〇 | NULL
authorizations | API利用時の認可情報 | 認可マスタテーブルのID(*1) 完全一致(*2) 複数指定可能 | × | -

○ | : | 省略可
× | : | 省略不可
- | : | 対象外

*1 | : | REST APIを使用するための認可情報は、認可マスタテーブルに保存されています。 APIクレデンシャル生成時にAPIクレデンシャル情報と認可マスタテーブルが紐づけられます。 認可マスタテーブルのIDとは以下のとおりです。 HULFT-ACTIONS_SEND 配信要求を依頼する場合 HULFT-ACTIONS_RECV 送信要求を依頼する場合 HULFT-ACTIONS_READ HULFTの動作を確認する場合 RELAY-HISTORIES_READ 中継履歴を確認する場合 SYSTEM-CONFIGURATION_UPDATE システム構成を更新する場合 SYSTEM-CONFIGURATION_READ システム構成を確認する場合
*2 | : | 同じAPIキーの識別子が複数存在した場合、最後のAPIキーのみ処理が実行され登録されます。

## 入力例

    id: example
    description: example for use
    authorizations:
     - HULFT-ACTIONS_SEND
     - HULFT-ACTIONS_RECV

## 出力例

    API Credential Generation Successful!
    ID　: xxxxxxx
    DESCRIPTION: xxxxxxxxxxx
    AUTHORISED : resouce=/hulft-actions, action=SEND
                 resouce=/hulft-actions, action=RECV
    ***Important*** Make sure to copy your new API key now. You won't be able to see it again
    API KEY　: xxxxxxxxxxxx

注意

出力されたAPIキーは再度表示されません。必ず控えてください。

## PostgreSQLデータベースに保存される情報

- ID

- 説明

- 認可情報

- APIキー（ソルト+ハッシュ値）

- 作成日時

## オプション

generateコマンドの使用方法が出力されます。

    --help または -h

## エラー

エラーが発生した場合、標準エラー出力に以下のエラーが表示されます。

表3.3 generateコマンドのエラー

エラーコード | エラーの内容 | 原因
--- | --- | ---
1 | 不正値エラー | 主に入力値に関するエラー
2 | IOエラー | 主ににDBとの通信エラー
255 | 実行時のエラー | 実行時のエラー