SPIRAL ver.2ではユーザ権限を細かく設定できますが、それと同じようにAPIエージェントも細かく権限の設定ができます。
この権限設定を上手く活用することで、サイトを安全に構築・運用することができるようになります。
なぜAPIエージェントの権限を設定する必要があるのか?
SPIRAL ver.2では権限設定をしたグループに「APIエージェント」を含めないと、APIを使うことができません。
APIでデータをインサートしたい場合など、インサート先のデータベースの利用権限を持ったグループに事前にAPIエージェントを含めておかないと、インサート処理が実行できない仕様になっています。
APIエージェントでキーを発行したからといって、すぐにそのキーですべてのAPI処理が実行できるようにならないということです。
では、なぜこのような作りになっているのか?設定担当者の手間を増やしたくてこうしているわけではありません。
どこからでもリクエストができるAPIは一見とても便利に思えますが、とても危険で取り扱いが難しいものです。
APIではデータの取得・登録・更新など外部から様々な操作が可能になりますので、どこからでもリクエストできるAPIエージェントのキーが万が一漏洩してしまった時、データの不正アクセスにつながります。
セキュリティの向上とAPIを安全に利用してもらうために、SPIRAL ver.2では権限設定をしないとAPIが使えない仕様になっているのです。
APIでデータをインサートしたい場合など、インサート先のデータベースの利用権限を持ったグループに事前にAPIエージェントを含めておかないと、インサート処理が実行できない仕様になっています。
APIエージェントでキーを発行したからといって、すぐにそのキーですべてのAPI処理が実行できるようにならないということです。
では、なぜこのような作りになっているのか?設定担当者の手間を増やしたくてこうしているわけではありません。
どこからでもリクエストができるAPIは一見とても便利に思えますが、とても危険で取り扱いが難しいものです。
APIではデータの取得・登録・更新など外部から様々な操作が可能になりますので、どこからでもリクエストできるAPIエージェントのキーが万が一漏洩してしまった時、データの不正アクセスにつながります。
セキュリティの向上とAPIを安全に利用してもらうために、SPIRAL ver.2では権限設定をしないとAPIが使えない仕様になっているのです。
設計の際に意識すること
APIでデータセレクトを行ったり、データベースにデータインサートを行うサイトを作るとします。
この際にセレクト先のデータベース、インサート先のデータベース以外には同一のAPIキーでアクセスできる必要はないので、それ以外のデータベースには一切リクエストを行えないように設定をする必要があります。
そのため、どのデータベースにどのような処理を行うのかを整理し、それに基づいてAPIエージェント用のグループを作成してください。
グループはまとめた内容に基づいて、必要最小限の権限を持たせることを意識してください。
APIエージェントの設定方法に関してはサポートサイト「APIエージェント管理」を参照してください。
この際にセレクト先のデータベース、インサート先のデータベース以外には同一のAPIキーでアクセスできる必要はないので、それ以外のデータベースには一切リクエストを行えないように設定をする必要があります。
そのため、どのデータベースにどのような処理を行うのかを整理し、それに基づいてAPIエージェント用のグループを作成してください。
グループはまとめた内容に基づいて、必要最小限の権限を持たせることを意識してください。
APIエージェントの設定方法に関してはサポートサイト「APIエージェント管理」を参照してください。
APIメソッドごとにどのように権限を設定すれば良いかは以下にまとめて掲載されております
APIメソッドごとのサンプルコード&権限設定特集