REST APIやWebDAVの認証方法

Top > 開発者資料 > REST APIやWebDAVの認証方法

認証について

基本的に、OAUTH2によるシングルサインオンによってクレデンシャルを確保するが、互換性、あるいはアプリケーションの対応の容易性の為に、一部のAPIはBASIC認証を利用することが出来る。

認証必須領域とリソースの関係

REST API
api.teracloud.jp
<node>.teracloud.jp
OAUTH2により発行されるクレデンシャルに加え、アプリケーション毎に異なるAPI-KEYが必須(下記を参照)
api.teracloud.jpの、/ba/user/BASIC認証(※)に加え、API-KEYが必須。
WebDAVアクセス/dav/及び、
/backup/の認証
BASIC認証(※)。
2021年6月2日 16時25分頃までに登録済みのユーザはMyPageで無効化しない限りは/dav/へのBASIC認証を用いたアクセスができる。2021年6月2日 16時25分頃以降に新規登録したユーザはMyPageで有効化しない限りは/dav/へのBASIC認証を用いたアクセスはできない。
WebDAVアクセス/v2/dav/の認証OAUTH2により発行されるクレデンシャル

認証必須領域のURLについて

WebDAV領域では、各ノードサーバの下記のパス以下が、BASIC認証必須領域となる。

REST APIは、一部を除き、原則として認証が必須となる。

認証方式

OAUTH2による認証

別途公開予定

※BASIC認証

プロトコル
すべてのアクセスはSSL(TLS v1.2以降)が必須とするため、Digest型のBASIC認証をサポートしていない。
BASIC認証
HTTPのRequest Header、Authorization:を使う方式。preemptiveモードでもnonpreemptiveモードのどちらも対応可。
ID
IDはInfiniCLOUDにログインするときに使うものと共通。
パスワード
2021年6月2日 16時25分頃までに登録済みのユーザはMyPageで外部アプリ接続の再発行、無効化を行わなければログインするときに利用するものと共通。2021年6月2日 16時25分頃以降に新規登録したユーザはBASIC認証はデフォルトでOFFになり、MyPageで外部アプリ接続を有効化する必要がある。その際、発行されるパスワードはシステムによりランダムで発行されたものとなる。

REST APIアクセスに必要なクレデンシャル

REST APIにアクセスするためには、2つのクレデンシャルを必要とする。この2つが適合して正しいとき、初めてAPIが利用可能となる。

ユーザのID、アプリパスワード
ユーザを決めるもの。BASIC認証などで利用する。通常のWebDAVでの認証と同じ形式。
API KEY
アプリケーション毎に決められたユニークなキー。ラベリングのために利用する。

API KEYの取得

API KEYは申請が必要で、アプリケーションデベロッパーは、対応アプリ登録申請フォームから申し込みができる。

若干の審査が行われるが、法人、個人、オープンソースなど、どのような開発者でも構わない。

技術的に言えば、API KEYはアプリケーション側に埋める必要があるため、実際に保護対象にすることはできない。オープンソースなどであれば、githubなどにコミットされることもあると考えられるものなので、このAPI KEYはあくまで、紳士協定的に、アプリケーションを、名乗るための仕組みと考えて良い。

将来、アプリケーションデベロッパーからの申し出に基づき、API KEYを無効化したり、ユーザが個々で固有のAPI KEYの無効化機能の実装が予定されている。

API KEYの与え方

API KEYは、次のどちらかの方法で送信する必要がある。

HTTP Request Headerで送る方式
HTTPのRequest Headerで送る方式。
Request Headerに、X-TeraCLOUD-API-KEY:を添えて送る。全てのREST APIで利用することができる。
MatrixParamで送る方式
URL上のMatrix Parameterで送る方法。
URLの必要な箇所に、api_key=を添えて送る。全てのREST APIで利用することができる。

InfiniCLOUDのREST InterfaceはあくまでもHTTPSでの通信となるため、特殊なREST Clientスタックを必要としない。しかし、利用する言語、ライブラリ・スタック、アプリケーションプログラマの開発手法によって、容易なアクセス方法は異なると考えられる為、現時点では上記2つの方法でのアクセスを選ぶことができる。

その他の情報

API KEYのフォーマット
128ビットを16進数、大文字のBINHEXで送信する。
有効期間
そのリクエストのみ。
 
アカウント作成(無料 20GB)

1分で簡単登録!今すぐスタート!
Works online, Windows, Mac, iOS and Android