第6章 トークン

本チュートリアルでは、トークンとは何か、その仕組み、作成方法など、3scale トークンについて説明します。

3scale には、アクセストークン (ユーザーにより作成される) および サービストークン (3scale で新規サービスを作成する際に自動的に作成される) の 2 種類のトークンがあります。

6.1. アクセストークン

アクセストークンにより、API プロバイダーの管理者およびメンバーは、3scale API (Billing、Account Management、および Analytics) に対する認証を行うことができます。トークンは、ActiveDocs (インタラクティブドキュメント) 内から使用します。

アクセストークンにより、読み取り/書き込みアクセス権限、または読み取り専用アクセス権限のいずれかが許可されます。

考慮すべき重要なことは、メンバーの権限に応じてアクセストークンの機能する仕組みが変わるという点です。管理者は、3 つすべての 3scale API に対する認証を行うためのトークンを作成することができます。メンバーの場合には、アクセス権限を持つ管理ポータル機能によって作成できるトークンが制限されます。たとえば、請求機能に対するアクセス権限を持たないメンバーは、Billing API に対する認証を行うためのトークンを作成することができません。

6.2. アクセストークンの作成

アクセストークンは、Tokens のページで作成することができます。トークンを作成するには、以下の手順に従います。

  1. ナビゲーションバーの歯車アイコンをクリックします。
  2. Personal > Tokens の順に移動します。
  3. Add Access Token をクリックします。
  4. 名前を指定し、対象となる API を 1 つまたは複数選択し、トークンの権限を選択します。
  5. 新しいトークンを保存するには、Create Access token をクリックします。

メンバーの場合には、すべての API が表示されるとは限らない点に注意してください。アカウントの管理者からアクセス権限が付与された API だけが表示されます。

アクセストークンは、必要なだけ作成することができます。セキュリティー上の理由から、トークンは 3scale に保存されません。新しいトークンを作成すると、トークンを保存するように要求されます。保存したそのトークンを使用して、3scale API にリクエストを行うことができます。

トークンを紛失した場合には、トークンを削除することを推奨します。これにより、トークンが無効になり、効力が無くなります。その後、新しいトークンを作成します。

6.3. アクセストークンの使用

アクセストークンを使用して 3scale API を呼び出すと、アクセス権限のあるサービスによって結果が絞りこまれます。

たとえば、Self-managed APIcast をデプロイする場合、APIcast API ゲートウェイが Account Management API を使用してサービスの設定をプルできるように、アクセストークンが必要になります。

アクセストークンが機能する仕組みは、以下のとおりです。ご自分の組織が 3scale で 3 つのサービスを設定していると仮定します。メンバーであるあなたは、サービス 1 へのアクセス権限はあるが 2 および 3 へのアクセス権限はありません。また Account Management API へのアクセス権限があります。この場合には、トークンを作成して Account Management API にリクエストを行うと、サービス 1 を使用するアプリケーションだけを取得することができます。

同じ例において、Account Management API へのアクセス権限はあるがどのサービスへのアクセス権限も持たない場合には、呼び出しを行うと「access denied」エラーが返されます。

6.3.1. サービストークン

サービストークンを使用して、3scale Service Management API に対する認証を行います。サービストークンは、3scale で新規サービスを作成する際に自動的に生成され、サービスごとに固有です。このトークンは、3scale アカウントのユーザー間で共有されます。

管理ポータルの Dashboard で、ユーザーがアクセス権限を持つサービスのサービストークンを確認することができます (Account Settings (歯車アイコン) > Personal > Tokens)。