Docsbook
概要

プライベートドキュメント:パスワードとSSO

デフォルトでは、Docsbookサイトは公開されています。リンクを知っている人なら誰でも読むことができます。ワークスペースを非公開に切り替え、共有パスワードを使うか、独自のIDプロバイダーを通じてサインインすることで、読者に最初にロックを解除するよう求めることができます。

アクセス制御ではAIモデルを呼び出さないため、ワークスペースをゲートしてもプロジェクトの残高は消費されません。

プライベートモードの仕組み#

  • パブリック(デフォルト)— リンクを知っている人は誰でもサイトを閲覧できます。現在と同じです。
  • プライベート — 匿名の閲覧者にはコンテンツの代わりにロック解除画面が表示されます。ロックを解除するまで、ドキュメントに関する情報(構造、ページ、検索インデックス)は一切公開されません。
  • 所有者は公開範囲にかかわらず、常に完全なアクセス権を持ちます。ゲートが適用されるのは、それ以外のすべてのユーザーのみです。
  • パスワード、SSO、またはその両方を同時に設定できます。両方が設定されている場合、閲覧者は利用できる方を選択します。

オプション1:パスワード保護#

より簡単な方法 — ワークスペース全体に1つの共有パスワードを設定します。

  1. ログインした状態でドキュメントを開きます
  2. 右下のFloat Widgetをクリック → 設定プライバシー & アクセス
  3. 公開設定を非公開に切り替えます
  4. パスワード(8文字以上)を入力し、設定をクリックします

正しいパスワードを入力した読者は、しばらくの間ロック解除された状態になるため、訪問するたびに再入力する必要はありません。パスワードを変更するには、同じ方法で新しいパスワードを設定します。パスワード保護を解除するには、パスワード欄の横にある削除をクリックします。

オプション 2: 独自の ID プロバイダーによる SSO#

Docsbook SSO はOIDC のみです。独自の ID プロバイダーに OIDC アプリを登録し、その詳細を以下に入力します。読者は共有パスワードの代わりに、既存の仕事用アカウントでサインインできます。Docsbook がプロバイダーの管理者資格情報を確認または保存することはありません。保存するのは、入力された OAuth アプリの詳細のみです。

SAML はサポートされていません。 ID プロバイダーが SAML 用に構成されており、OIDC アプリ登録を発行できない場合、現時点で利用できるオプションはパスワード保護です。Docsbook では SAML を実装予定として掲載していますが、まだ提供されていません。このページでは、現在利用できる機能のみを説明しています。

ID プロバイダーのアプリ登録から、次の情報が必要です:

フィールド 内容
発行者 URL プロバイダーの OIDC 発行者識別子
クライアント ID アプリ登録の公開識別子
クライアント シークレット アプリ登録のシークレット(暗号化して保存され、保存後に再び表示されることはありません)
認証エンドポイント 読者がサインインするために移動する先
トークンエンドポイント Docsbook がサインインコードを ID トークンと交換する先
JWKS URI Docsbook が ID トークンの署名を検証する先
許可するドメイン (任意) サインインを 1 つのメールドメインに制限します(例: acme.com)。有効な IdP 資格情報があっても、そのドメイン外のユーザーは拒否されます

Google Workspace を設定する#

  1. Google Cloud コンソールOAuth 2.0 クライアント ID(種類: ウェブ アプリケーション)を作成します
  2. リダイレクト URI を追加します: https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback(ワークスペース ID は[プライバシー & アクセス]パネルに表示されます)
  3. 次の標準 Google エンドポイントを使用します:
    • 発行者: https://accounts.google.com
    • 認証エンドポイント: https://accounts.google.com/o/oauth2/v2/auth
    • トークンエンドポイント: https://oauth2.googleapis.com/token
    • JWKS URI: https://www.googleapis.com/oauth2/v3/certs
  4. 組織内にサインインを制限するには、許可するドメインを Google Workspace のドメイン(例: acme.com)に設定します

Microsoft Entra ID を設定する#

  1. Entra 管理センターで新しいアプリケーションを登録します
  2. リダイレクト URI を追加します: https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback
  3. 証明書とシークレットでクライアント シークレットを作成します
  4. テナントの OIDC エンドポイント(アプリの概要にあるエンドポイントで確認できます)を使用します。通常は次のとおりです:
    • 発行者: https://login.microsoftonline.com/<tenant-id>/v2.0
    • 認可エンドポイント: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
    • トークン エンドポイント: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
    • JWKS URI: https://login.microsoftonline.com/<tenant-id>/discovery/v2.0/keys

Okta のセットアップ#

  1. Okta 管理コンソールで、新しいOIDC – Web アプリケーション統合を作成します
  2. サインインリダイレクト URI を追加します: https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback
  3. 通常は、Okta ドメインのエンドポイントを使用します:
    • 発行者: https://<your-org>.okta.com
    • 認可エンドポイント: https://<your-org>.okta.com/oauth2/v1/authorize
    • トークンエンドポイント: https://<your-org>.okta.com/oauth2/v1/token
    • JWKS URI: https://<your-org>.okta.com/oauth2/v1/keys

SSO設定を保存#

  1. Float Widget → 設定プライバシー & アクセスを開きます
  2. まだ変更していない場合は、公開設定を非公開に切り替えます
  3. SSOの下にあるGoogle Workspace / Entra ID / Okta…を設定をクリックします
  4. 上記のフィールドに入力し、SSOを保存をクリックします

SSOを削除するには、SSOのステータスの横にある削除をクリックします。SSOを削除しても、 別途設定したパスワードには影響しません。その逆も同様です。

AIエージェントからのアクセスを設定する#

ワークスペースのMCPサーバーに接続されたAIエージェントは、update_access ツールを使用して、可視性、パスワード、SSOの詳細を設定できます — 上記と同じフィールドを、visibilitypasswordsso として渡します(client_idclient_secretauthorization_endpointtoken_endpointjwks_uriallowed_domain を含む)。

トラブルシューティング#

リーダーに「パスワードが正しくありません」と表示される#

パスワードでは大文字と小文字が区別されます。設定したパスワードが不明な場合は、新しいパスワードを設定してください。現在のパスワードを表示することはできず、変更のみ可能です。

SSO サインインが「domain_not_allowed」で失敗する#

サインインしたアカウントのメールドメインが許可されたドメインと一致しません。正しいドメインのアカウントでサインインするか、ID プロバイダーが認証する任意のアカウントを許可する場合は、許可されたドメインの制限を解除してください。

「token_exchange_failed」または「id_token_verification_failed」で SSO サインインに失敗する#

クライアントシークレットと3つのエンドポイント URL を再確認してください。いずれか1つでも入力を誤ると、ハンドシェイクに失敗します。エンドポイントには、汎用的なプレースホルダーではなく、ID プロバイダーがテナントまたは組織向けに発行した正確なものを指定する必要があります。

次のステップ#

Updated

このページは役に立ちましたか?