コンテンツにスキップ

セットアップウィザード

Authrim セットアップウィザードは、AuthrimをCloudflareにデプロイするための直感的なWebベースのインターフェースを提供します。このガイドでは、セットアッププロセスの各ステップを説明します。

セットアップウィザードを実行する前に、以下を準備してください:

要件詳細
Cloudflareアカウント開発用には無料プランで十分です。本番利用前にCloudflare Workers、D1、KV、R2、Durable Objectsの最新制限を確認してください。
Node.jsバージョン22以降
npmNode.jsに含まれています

事前に準備しておくと良い情報

Section titled “事前に準備しておくと良い情報”

以下を事前に決めておくとスムーズです:

  • 環境名: このデプロイメントの識別名(例:prodstagingdev
  • カスタムドメイン(任意): *.workers.dev ではなく独自ドメインを使用する場合
  • メールサービスの認証情報(任意): OTPメール送信用のResend等のAPIキー
領域開発時の目安本番時の確認事項
OIDC/OAuth flows小規模環境で評価可能リクエスト、CPU、D1、KV、queue、Durable Object制限を検証
カスタムドメインローカル/初期検証では任意最新のCloudflareプランとドメイン要件を確認
ストレージプロファイルbuiltin:storage:shared-d1 がデフォルト大規模/規制要件がある場合はtenant-D1や外部DBプロファイルを検討
監査/ログD1ベースの基本経路を利用可能retention、archive、R2、sink、監視要件を計画

セットアップウィザードの起動

Section titled “セットアップウィザードの起動”

以下のコマンドを実行してセットアップウィザードを起動します:

Terminal window
npx @authrim/setup

ウィザードは以下を実行します:

  1. 前提条件の確認(Wrangler CLIとCloudflare認証)
  2. Authrimソースコードのダウンロード(存在しない場合)
  3. セットアップUIをWebブラウザで開く

前提条件チェック

ウィザードは環境の準備状況を確認します:

WorkersをデプロイするためのCloudflareコマンドラインツールです。インストールされていない場合:

Terminal window
npm install -g wrangler

Cloudflareアカウントにログインしている必要があります。認証されていない場合:

Terminal window
wrangler login

ブラウザウィンドウが開き、CloudflareとのOAuth認証が完了します。

  • ✅ Wranglerがインストールされアクセス可能
  • ✅ Cloudflareにログイン済み
  • ✅ アカウントIDが有効
  • ✅ 現在の作業ディレクトリが書き込み可能

メインメニュー

3つのオプションから選択します:

オプション使用するタイミング
新規セットアップ初めてAuthrimをデプロイする場合、または新しい環境を作成する場合
設定ファイルの読み込み以前のセットアップで保存した authrim-config.json がある場合
環境の管理既存のデプロイメントを表示、更新、または削除する場合

ステップ3: セットアップモード

Section titled “ステップ3: セットアップモード”

セットアップモード選択

クイックセットアップ(推奨)

Section titled “クイックセットアップ(推奨)”

ほとんどのユーザーに最適です。自動的に設定されるもの:

  • 標準的なOIDC/OAuth workers(ar-authar-tokenar-userinfoar-discoveryar-management
  • Login UIとAdmin UI workers
  • デフォルトのshared-D1ストレージプロファイル
  • 適切なセキュリティデフォルト

以下の場合に選択してください:

  • tenant-D1ストレージと事前割り当てテナントDB slotを選択する
  • SAML、Device Flow、CIBA、外部IdP bridge、policy、Verifiable Credentialsの挙動を設定する
  • ドメイン、UIデプロイ、runtime profiles、高度な設定を調整する

設定

環境名は、このデプロイメントの一意の識別子です。すべてのCloudflareリソースのプレフィックスとして使用されます。

推奨される命名:

環境用途
prod本番環境 - 実際のユーザー向け
staging本番前のテスト用
dev開発と実験用

同じCloudflareアカウント下で複数の環境を同時に実行できます(例:prodstaging)。

オプション1: workers.dev を使用(デフォルト)

Section titled “オプション1: workers.dev を使用(デフォルト)”
  • 追加の設定は不要
  • URLは次のようになります: https://prod-ar-router.your-account.workers.dev
  • 開発とテストに適しています
  • 制限: マルチテナントURLのワイルドカードサブドメインは使用不可

オプション2: カスタムドメイン

Section titled “オプション2: カスタムドメイン”
  • 現在のCloudflare Workersカスタムドメイン要件を、利用するアカウントとプランで確認してください
  • URLは次のようになります: https://auth.yourdomain.com
  • 本番環境に適したプロフェッショナルな外観
  • マルチテナントサブドメインをサポート: https://tenant1.auth.yourdomain.com

カスタムドメインを使用するには:

  1. ドメインをCloudflareに追加(DNS管理)
  2. セットアップウィザードでドメインを入力
  3. ウィザードが必要なDNSレコードを設定

ネイキッドドメインオプション

Section titled “ネイキッドドメインオプション”

チェックすると、発行者URLは https://default.auth.yourdomain.com ではなく https://auth.yourdomain.com になります。以下の場合に選択:

  • シングルテナントのみ必要な場合
  • よりクリーンなURLを好む場合

Authrimは、1つのデプロイメントで複数のテナント(組織)をサポートします。

  • テナントID: 内部識別子(例:defaultacmecorp
  • 表示名: ログイン画面に表示される名前(例:「My Company」、「ACME Corp」)

シングルテナント構成の場合は、デフォルト値のままで構いません。

デフォルトでは、Login UIとAdmin UIは自動生成されたURLを持つCloudflare Workersとしてデプロイされます。必要に応じて、それぞれにカスタムドメインを設定できます。

データベース設定

Authrimはランタイムストレージプロファイルを使用します。デフォルトの builtin:storage:shared-d1 プロファイルでは、デプロイ単位で3つのD1データベースを作成します:

Bindingデータベース内容
DBCore databaseOAuth/OIDC core data、policy、consent、passkeys、custom claim metadata、transient auth persistence
DB_PIIPII databasesensitive identity values、subject identifiers、linked identity records、PII tombstones、PII audit data
DB_ADMINAdmin/control databaseAdmin users、Admin RBAC、runtime profiles、tenant database registry、audit/logging control data、operational jobs

より大規模または規制要件のあるデプロイでは、セットアップフローで builtin:storage:tenant-d1 を選択できます。このモードではcontrol dataは共有DBに残し、テナント所有のcore/PII dataを生成済みtenant DB bindingとtenant database registry経由でルーティングします。

なぜストレージプレーンを分離するのか?

  • コンプライアンス: PIIとadmin/control dataの境界を明確にできる
  • セキュリティ: Admin、audit、core identity、PIIのアクセス経路を個別にレビューできる
  • テナントスケール: tenant-D1モードではテナント所有sliceを生成済みtenant DBへルーティング可能
  • ポータビリティ: 対応済みプロファイルでは選択したsliceを外部DB adapterへルーティング可能

ストレージプロファイルの選択

Section titled “ストレージプロファイルの選択”
Profile向いている用途補足
builtin:storage:shared-d1小規模デプロイと評価共有 DBDB_PIIDB_ADMIN bindingを使用
builtin:storage:tenant-d1より大きなマルチテナントデプロイ事前割り当て/生成済みtenant DB slotを使用
外部DBプロファイル規制要件または既存DB基盤がある環境tenant settingsに生の認証情報を保存せず、connection referenceを使用

以下を基準にリージョンを選択してください:

考慮事項推奨
ユーザーの所在地可能であれば主要ユーザーに近いリージョンを選択
データ居住地の法律EUのユーザーがいる場合、GDPR準拠のためWEURを検討
企業の要件一部の組織では特定のデータ場所を義務付けている

利用可能なリージョン:

  • 自動: Cloudflareが最も近いリージョンを選択(グローバルユーザーに適しています)
  • WNAM: 北米西部(米国西海岸)
  • ENAM: 北米東部(米国東海岸)
  • WEUR: 西ヨーロッパ(EUデータ居住地に適しています)
  • APAC: アジア太平洋

重要: データベースリージョンは作成後に変更できません。本番デプロイメントでは慎重に選択してください。

シナリオストレージプロファイルリージョンの考え方
小規模評価builtin:storage:shared-d1Automaticまたは主要ユーザーに近いリージョン
EU PII要件builtin:storage:shared-d1 またはEU向けresidency profile付きtenant-D1必要に応じてPIIをEU互換リージョンへ配置
大規模マルチテナントbuiltin:storage:tenant-d1tenant slot数とmigration rolloutを計画
既存DB基盤外部DBプロファイル承認済みconnection referenceとresidency controlを使用

メール設定

メールは以下の目的で使用されます:

  • ログイン時のワンタイムパスワード(OTP)検証
  • パスワードリセットリンク
  • アカウント確認メール

今すぐ設定する(本番環境推奨)

Section titled “今すぐ設定する(本番環境推奨)”

Resend はシンプルさと無料枠があるため推奨:

  1. resend.com でアカウントを作成
  2. ドメインを追加して検証(DNSアクセスが必要)
  3. APIキーを生成
  4. ウィザードで入力:
    • APIキー: ResendのAPIキー
    • 送信元アドレス: 例:[email protected](検証済みドメインからである必要があります)

今はスキップする(開発専用)

Section titled “今はスキップする(開発専用)”

メール設定をスキップした場合:

  • Email Codeの値はコンソールにログ出力されます(Cloudflareダッシュボードのログで確認可能)
  • パスワードリセットは機能しません
  • 開発には適していますが、本番環境には不適切

メールは後から管理UIで設定できます。

ステップ7: 設定の保存(オプション)

Section titled “ステップ7: 設定の保存(オプション)”

設定保存モーダル

プロビジョニング前に、設定をJSONファイルに保存できます。

保存のメリット:

  • 中断した場合に後でセットアップを再開
  • 同一の環境を作成(例:本番設定からステージングを作成)
  • インフラ設定をバージョン管理
  • チームメンバーと設定を共有

ファイルは現在のディレクトリに authrim-config.json として保存されます。

プロビジョニング準備完了

設定サマリーを確認し、リソースを作成 をクリックします。

リソース目的
D1データベースDBDB_PIIDB_ADMIN; tenant-D1選択時はtenant DB slots
KV名前空間キャッシュ、生成設定、テナントランタイムレジストリスナップショット、同意キャッシュ
Durable Objectsセッション、認可コード、リフレッシュローテーション、PAR、DPoP、device/CIBA、SAML、flow state、レート制限
RSAキーアクセストークンとIDトークンのJWT署名
AESキー保存時の機密データの暗号化

プロビジョニング中

プロビジョニングには通常1〜2分かかります。ウィザードはリアルタイムで進捗を表示します。

プロビジョニングが失敗した場合:

  • Cloudflareアカウントに十分なクォータがあることを確認
  • 必要な権限があることを確認
  • 再試行してください - クラウドAPIでは一時的なエラーは一般的です

デプロイ準備完了

プロビジョニング後、デプロイ開始 をクリックしてアプリケーションをデプロイします。

デプロイ中

  1. ビルド: すべてのTypeScriptコードをコンパイル
  2. Workersデプロイ: APIエンドポイントをCloudflare Workersにアップロード
  3. UI Workerデプロイ: Login UIとAdmin UI workerをアップロード
  4. マイグレーション実行: core、PII、admin、選択されたtenant-D1 migrationを適用
  5. シークレットアップロード: 暗号化キーを安全に保存

デプロイには通常3〜5分かかります。

セットアップ完了

Authrimのデプロイメントが完了しました!

URL目的
発行者URLOIDCプロバイダーエンドポイント。アプリケーションのOIDC設定でこれを使用します。
管理者セットアップ最初の管理者アカウントを作成するためのワンタイムURL。すぐにアクセスしてください!
ログインUIユーザーがログインする場所
管理UIユーザー、クライアント、設定を管理するダッシュボード
  1. 管理者アカウントの作成(最初にこれを実行!)

    • 完了画面に表示される管理者セットアップURLにアクセス
    • パスキー(TouchID、FaceID、またはセキュリティキー)を使用して登録
    • このURLは有効期限があり、一度しか使用できません
  2. 管理UIにログイン

    • 新しく作成した管理者アカウントを使用
    • ダッシュボードを確認
  3. 最初のOAuthクライアントを作成

    • クライアント → クライアントを作成 に移動
    • アプリケーションのリダイレクトURIを入力
    • クライアントIDとシークレットを保存
  4. 統合をテスト

    • 発行者URLとクライアント認証情報でアプリケーションを設定
    • ログインフローをテスト

完了画面から以下の値を使用してください:

// OIDC設定の例
const oidcConfig = {
issuer: 'https://your-issuer-url',
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
redirectUri: 'https://your-app.com/callback',
scope: 'openid profile email'
};
Terminal window
# Web UIの代わりにCLIモードを使用
npx @authrim/setup --cli
# 既存の設定を読み込み
npx @authrim/setup --config ./authrim-config.json
# 言語を指定(en, ja, zh-CN, zh-TW, es, pt, fr, de, ko, ru, id)
npx @authrim/setup --lang ja
# 環境を直接指定
npx @authrim/setup --env staging

ポート3456が使用中の可能性があります:

Terminal window
# macOS/Linux
lsof -ti:3456 | xargs kill -9
# Windows
netstat -ano | findstr :3456
taskkill /PID <PID> /F
Terminal window
npm install -g wrangler

ノードバージョンマネージャー(nvm、fnm)を使用している場合は、グローバルbinがPATHに含まれていることを確認してください。

「Cloudflareにログインしていません」

Section titled “「Cloudflareにログインしていません」”
Terminal window
wrangler login

ログインが失敗する場合:

Terminal window
wrangler logout
wrangler login

レート制限エラーでデプロイメントが失敗

Section titled “レート制限エラーでデプロイメントが失敗”

CloudflareにはAPIレート制限があります。1〜2分待ってから 再試行 をクリックしてください。

カスタムドメインが機能しない

Section titled “カスタムドメインが機能しない”
  1. ドメインがCloudflareに追加されていることを確認
  2. DNSレコードが正しく設定されていることを確認
  3. DNS伝播を待つ(最大24時間かかる場合があります)
  4. 選択したドメイン/route構成をアカウントとプランがサポートしていることを確認
  • CloudflareアカウントにD1アクセスがあることを確認
  • 無料アカウントには限られたD1データベースがあります - 未使用のものを削除
  • 問題が発生しているリージョンの場合は別のリージョンを試す