認証・リクエストの署名

認証・リクエストの署名

DOMAIN-APIを呼び出す際には、認証のためにアクセスキーとSignatureを利用します。

アクセスキーは、IIJサービスオンラインの画面で発行できます。アクセスキーの発行方法は、「アクセスキー」をご覧ください。

Signatureは、リクエストパラメータから一定の手順で生成した文字列です。Singatureを生成する際に、アクセスキーと同時に発行されるシークレットキーを利用します。 

Signatureは以下の手順で生成します。

  1. Signature以外のリクエストパラメータを確定します。
  2. 以下の文字列を順番に結合した文字列を生成し、StringToSignとします。

    HTTPリクエストメソッド+\n
    HTTPリクエストヘッダ文字列+\n
    URIエンコードしたパス部分 
    1. HTTPリクエストメソッド
      「GET」、「PUT」、「POST」、または「DELETE」のいずれかを連結します。
    2. HTTPリクエストヘッダ文字列
      リクエストパラメータを以下の手順で正規化して作成します。
      1. リクエストヘッダキーをUTF-8の辞書順でソートします。
      2. リクエストヘッダ値を改行文字("\n"、LF、0x0A)で連結します。
        リクエストヘッダキーが「Content-MD5」または「Content-Type」の場合は、値を連結します。
        リクエストヘッダキーの接頭文字が「x-iijapi-」の場合は、リクエストヘッダキーを小文字に変換してリクエストヘッダ値とコロン(「:」、0x3A)記号で連結します。
        上記以外のリクエストヘッダキーは連結しないでください。
    3. URIエンコードしたパス部分
      「/r/(APIVersion)/(ServiceCode)/(API名).json」をURIエンコードして連結します。
  3. 生成したStringToSignに対し、SignatureMethodで指定したハッシュアルゴリズムに従いHMACを算出します。
    • HMACを算出する際のキーとして、シークレットキーを指定します。シークレットキーは、アクセスキーと同時に発行されます。
  4. 算出したHMACをBase64エンコードします。