Skip to content

REST APIs

メソッド用途
GET取得
POST作成
PUT/PATCH更新
DELETE削除
コマンド用途
curl -X GET <url>API疎通確認
curl -X POST <url>API経由で作成

セキュリティ設計原則

REST APIをセキュアにするための設計原則(Saltzer & Schroeder)。

原則説明
Economy of mechanism(効率的なメカニズム)出来る限りシンプルな設計を行う
Fail-safe defaults(フェールセーフなデフォルト)除外ではなく許可によってアクセス権限を決定する。デフォルトでアクセス権限を与えない
Complete mediation(完全な仲介)オブジェクトへのアクセスには権限のチェックが必要
Open design(オープンな設計)オープンな方法でシステムを構築する
Separation of privilege(権限の分離)より堅牢にするため可能な場合はロック解除に必要なキーの数を2つとする
Least privilege(最小特権)プログラムやユーザは業務の遂行に関して必要となる最小限の権限のみを使用する
Least common mechanism(共通メカニズムの最小化)複数のユーザで共有するものを最小限に抑える
Psychological acceptability(心理学的受容性)ユーザのミスを最小限に抑えるためユーザインターフェースをわかりやすい設計にする

HTTPステータスコード

コード意味
200 OKリクエストが成功
202 Acceptedリクエストを受理したが処理が完了していない
204 No Contentリクエストを受理したが返す内容がない
301 Moved Permanentlyリソースが恒久的に変更されている
302 Foundリソースが一時的に変更されている
400 Bad Requestサーバ側がリクエストを処理できない
401 Unauthorized認証が必要
403 Forbiddenリソースへのアクセスが拒否された
404 Not Foundリソースが見つからない
405 Method Not AllowedリクエストしたHTTPメソッドが許可されていない
503 Service Unavailableサービスが利用できない(メンテナンス中やサーバダウン)
504 Gateway Timeoutゲートウェイ/プロキシが上流サーバからのレスポンスを時間内に得られなかった

重要: 204 No ContentはDELETEやPUTが正しく処理された場合に返される(返すボディがない)。