ホスト型認可サービス

Speedle Cloud — ホスト型認可 API

オープンソースの Speedle ポリシーエンジンを基盤とする、開発者向けのホスト型認可サービスです。

Speedle Cloud は開発者向けのアクセス制御サービスです。サービスを作成し、SPDL でアクセス規則を作成して、認可 API を呼び出すことで、ユーザーがリソースに対してアクションを実行できるかどうかを確認できます。

「ユーザー X はリソース Z に対してアクション Y を実行できるか、どのような条件で実行できるか」というきめ細かい権限を必要とするアプリケーション開発者向けです。独自の認可サーバーをデプロイおよび運用することなく、それらの規則を1か所で管理できます。無料ベータ版は試用、学習、評価を目的としています。

サンプルの認可ワークスペースを探索

サインインせずにポリシー管理ワークスペースを体験できます。この読み取り専用デモでは、組み込みのサンプルデータとコンソールのポリシーリスト、SPDL 表示、Playground の結果コンポーネントを使用します。ブラウザ内で動作し、API 呼び出しは行わず、実際のアカウントの読み取りや変更はできません。

サンプルサービス: books-demo · 読み取り専用 · サンプルデータのみ

ポリシー

認可ポリシー (2)

ロールポリシー (1)

reader-access

grant role reader get /books

プレイグラウンド

サンプルリクエストを選択して、事前計算された IsAllowed 決定を確認します。これらは固定のサンプルであり、ライブの API 評価ではありません。

サンプル認可リクエスト
{
  "subject": {
    "principals": [
      {
        "type": "user",
        "name": "alice"
      }
    ]
  },
  "serviceName": "books-demo",
  "resource": "/books",
  "action": "get"
}

許可されました。 許可ポリシーが適用されています。

完全な結果 (JSON)
{
  "allowed": true,
  "reason": 0
}

理由コード: 0 = 許可、1 = 拒否、3 = 一致するポリシーなし。

すべてのサンプルポリシー、リクエスト、決定 (JavaScript なしでも閲覧可能)

reader-access

grant role reader get /books

protect-books

deny user bob delete /books

alice-reader

grant user alice reader on /books

Alice が書籍を読む — reader ロールを通じて許可

{
  "request": {
    "subject": {
      "principals": [
        {
          "type": "user",
          "name": "alice"
        }
      ]
    },
    "serviceName": "books-demo",
    "resource": "/books",
    "action": "get"
  },
  "response": {
    "allowed": true,
    "reason": 0
  }
}

Bob が書籍を削除する — 明示的に拒否

{
  "request": {
    "subject": {
      "principals": [
        {
          "type": "user",
          "name": "bob"
        }
      ]
    },
    "serviceName": "books-demo",
    "resource": "/books",
    "action": "delete"
  },
  "response": {
    "allowed": false,
    "reason": 1
  }
}

Carol が書籍を読む — 一致する許可なし

{
  "request": {
    "subject": {
      "principals": [
        {
          "type": "user",
          "name": "carol"
        }
      ]
    },
    "serviceName": "books-demo",
    "resource": "/books",
    "action": "get"
  },
  "response": {
    "allowed": false,
    "reason": 3
  }
}

ベータ期間中は無料

  • アカウントごとに最大200 件のポリシー。認可ポリシーとロールポリシーの合計。
  • アカウントごとに最大1日あたり 10,000 回の API 呼び出し。管理および認可の合計。00:00 UTC にリセットされます。

GitHub または Google でサインイン。クレジットカードは不要です。

主な機能

  • SPDL と Speedle エンジンを使用して、同じワークスペースでサービスごとに認可ポリシーとロールポリシーを管理できます。
  • SPDL を検証し、4つの操作を備えた Playground で保存済みポリシーをテストできます。
  • 独自の記録のために、サービスポリシーを SPDL または JSON としてエクスポートできます。
  • 文書化された IsAllowed API を介してサーバー側認可を統合できます。現在の展開状況は以下をご覧ください。
  • 1日のクォータ使用量とリセット時刻を確認できます。ポリシー管理と認可チェックは1日の許容量を共有します。
  • コンソールは英語、簡体字中国語、日本語、韓国語、スペイン語に対応しています。

ご利用の流れ

  1. アカウントを作成

    サインインが利用可能になったら、GitHub または Google を選択し、「アカウントを作成」を明示的に確認してください。Google アカウント ID と確認済みメールアドレスによって、Speedle Cloud アカウントが識別および保護されます。

  2. サービスを作成

    ワークスペースで、アプリケーションの認可ポリシーとロールポリシーをまとめるサービスに名前を付けます。無料アカウントごとに最大100個のサービスを作成でき、ポリシー上限と1日のクォータはアカウント全体に適用されます。

  3. ポリシーを作成

    ワークスペースで SPDL 認可ポリシーまたはロールポリシーを追加、検証、保存します。この実際の例では、alice に /books の取得 (get) 権限を付与しています:

    grant user alice get /books
  4. Playground でテスト

    保存されたポリシーに対してテストサブジェクト、リソース、アクションを送信します。アプリを統合する前に、許可/拒否、診断の詳細、付与されたロールまたは付与された権限を確認できます。

  5. API トークンを作成

    「トークン」で、最近の認証の後にトークンを作成します。シークレットは一度だけ表示されるので保存し、アプリケーションのサーバー側シークレットストアに保管してください。

  6. IsAllowed を呼び出す

    アプリケーションサーバーは、認証されたユーザーのプリンシパル、リソース、アクションを IsAllowed に送信します。返された決定をアプリで適用し、エラー発生時はデフォルトで拒否(フェイルクローズ)します。

認可 API 統合プレビュー: 以下のリクエストは文書化された IsAllowed コントラクトです。認証付き API の展開は進行中であり、本番環境のサインインはまだオープンしていません。現在は公開サンプルデモをご利用いただき、ステージの提供状況については engine.speedle.io の Speedle Cloud ドキュメントをご確認ください。デモはこのリクエストを送信しません。

POST /authz-check/v1/is-allowed
Authorization: Bearer <issued token>
Content-Type: application/json

{"subject":{"principals":[{"type":"user","name":"alice"}]},"serviceName":"books","resource":"/books","action":"get","attributes":[{"name":"level","type":"numeric","value":3},{"name":"when","type":"datetime","value":"2026-11-05T03:00:00Z"}]}

上記の保存された alice ポリシーが一致した場合の応答例:

{"allowed":true,"reason":0}

認可 API は Speedle ADS (Authorization Decision Service) と互換性があります。プリンシパルを直接指定してください。カスタム外部関数および Token Asserter は v1 ではサポートされていません。

または、Speedle SDK (Go、Java、Python、Node.js、.NET、Rust) を使用してコードから呼び出すこともできます

よくある質問

Speedle Cloud とは何ですか?

Speedle Cloud は開発者向けのホスト型認可サービスです。オープンソースの Speedle ポリシーエンジンを実行し、SPDL ポリシーを保存して、API 経由で IsAllowed 認可リクエストに応答するため、アプリケーションで独自の認可サーバーを運用する必要がありません。認証付き API アクセスは順次展開中です。各ステージの提供状況については engine.speedle.io のドキュメントをご確認ください。

Speedle Cloud はオープンソースの Speedle Engine とどう違いますか?

Speedle Engine (engine.speedle.io) は、お客様自身でデプロイおよび運用するセルフホスト型エンジンです。Speedle Cloud はマネージドサービスであり、同じポリシーモデルと SPDL を使用し、コンソール、ポリシーリポジトリ、認可 API がホストされ、無料ベータ期間中の固定アカウント制限が提供されます。

Speedle Cloud の費用はいくらですか?

ベータ期間中は無料です。各アカウントは認可ポリシーとロールポリシーを合わせて最大 200 件まで保持でき、UTC 日ごとに最大 10,000 回の管理および認可呼び出しを行うことができます。クレジットカードは不要で、ベータ版には SLA はありません。

Speedle Cloud はどのように始めればよいですか?

engine.speedle.io で Speedle Cloud ドキュメントを読み、サンプルデータを使用したライブデモをお試しください。ご利用のステージでサインインとトークン認証 API 呼び出しが利用可能になったら、GitHub または Google でサインインし、サービスと API トークンを作成して、サーバーから IsAllowed を呼び出してください。