7. 認証・セキュリティ¶
7.1. カスタム API に対する認証・アクセス制限¶
カスタム API に対して、アプリケーションキーによる認証と ACL でのアクセス制御を行うことができます。
7.1.1. アプリケーションキー認証¶
API Gateway の認証は、BaaS の他 REST API と同様、X-Application-Id, X-Application-Key ヘッダによるアプリケーションキー認証が実施されます。アプリケーションキー認証は必須であり、外すことはできません。
アプリケーションキー認証が失敗した場合は、401 Unauthorized エラーが返却されます。
7.1.2. ACL¶
Swagger API 定義に ACL を記述することでアクセス制限を行うことが可能です。
ACL を指定してアクセス制限を行う場合、クライアントは BaaS のログイン API を 呼び出して事前にログインを実施しておく必要があります。 (API 呼び出し時には X-Session-Token ヘッダにセッショントークンの指定が必要)
ACL 記述は "x-acl" に記述します。 x-acl には、API を実行可能なユーザID、グループ名の一覧を配列で指定します。 グループ名を指定する場合は先頭に "g:" プレフィクスを付与してください。
x-acl はトップレベル、Path、Operation 単位で指定することができます。 (複数指定した場合は後者が優先)。
以下に例を示します。
swagger: '2.0'
basePath: /hello
produces:
- application/json
paths:
/sayHello:
get:
operationId: sayHello
summary: Hello world
x-acl:
- g:authenticated
この例では、認証済みユーザ(authenticatedグループ)に対してのみ 実行権限を付与しています。