本文へジャンプします。

ニフティクラウド APIリファレンス

シグネチャーについて

ニフティクラウドではシグネチャー(署名文字列)を使用して認証を行います。
APIを使用する際のリクエストには、シグネチャーを付与する必要があります。

サポートしているシグネチャーバージョン

シグネチャーバージョン0〜4があり、機能ごとに対応バージョンが異なります。

機能 対応バージョン
ニフティクラウド(コンピューティング) 0/1/2
NAS 2/4
RDB 2/4
DNS 3
ESS(メール配信) 3/4
オブジェクトストレージ、ニフティクラウドストレージ(旧) 3
MQTT 4
脆弱性スキャン 4
スクリプト 4

シグネチャー生成方法

シグネチャーバージョン 0/1/2

ニフティクラウド REST APIの共通パラメーターと認証方式をご覧ください。

シグネチャーバージョン 3

シグネチャーバージョン3の生成方法は、2種類あります。

オブジェクトストレージ、ニフティクラウドストレージ(旧)でご利用いただく場合は、下記ページをご覧ください。

ニフティクラウド DNSをご利用の場合は、下記の方法で生成してください。

リクエストの特定情報に基づいた文字列を作成します。身元証明のための最初の手順として、文字列を作成します。

この文字列の作成方法は、リクエストのdate headerを、UTF-8エンコード(例:Thu, 19 Nov 2009 19:37:58 GMT)するだけです。

リクエストは、Date header、X-Nifty-Date headerを含めるか、両方を含める必要があります。
両方含めた場合は、ニフティクラウド側でdate headerが無視されます。

ヘッダー値の形式はタイムスタンプとして定められた以下フォーマットのどれかでなければなりません。

Sun, 10 Nov 2013 08:49:37 GMT (RFC 822, updated by RFC 1123)
Sunday, 10-Nov-13 08:49:37 GMT (RFC 850, obsoleted by RFC 1036)
Sun Nov 10 08:49:37 2013 (ANSI C's asctime() format)

シグネチャーを算出します。

Secret Access Key と手順(1)で作成した文字列を使用してシグネチャーを生成します。

この時のアルゴリズムは、HmacSHA1またはHmacSHA256を使用します。

算出結果をbase64エンコード変換します

date header String
Sun, 10 Nov 2013 17:08:48 GMT
Secret Access Key
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
エンコード化したシグネチャー
4cP0hCJsdCxTJ1jPXo7+EXAMPLE=

リクエストにシグネチャーを含め、HTTPSを使用してリクエストをニフティクラウドに送信します。
(HTTP通信は受け入れられません。)

  • X-Nifty-Authorization headerの一部としてシグネチャーを含めます。
  • シグネチャーとAccess Key IDの両方を含める必要があります。
NIFTY3-HTTPS NiftyAccessKeyId=MyAccessKey,Algorithm=ALGORITHM,Signature=Base64( Algorithm((ValueOfDateHeader), SigningKey) )
シグネチャーバージョン 4

シグネチャーバージョン 4の生成方法は、下記ページをご覧ください。

推奨画面サイズ 1024×768 以上