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グループ)に対してのみ 実行権限を付与しています。