2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【OSSでWiki構築】第6回:アクセス制御編

2
Last updated at Posted at 2026-06-12

【OSSでWiki構築】連載記事一覧

第1回:OSSの選定
第2回:(環境構築編)Docker ComposeでOutlineとDBを連携させる
第3回:環境構築編 トラブルシューティング
第4回(Google OAuth編)Outline認証設定
第5回:Google OAuth編 トラブルシューティング
第6回:アクセス制御編 ※本記事


1. はじめに

この記事は、構築したOutline Wikiの「アクセス制御」と「権限設定」の手順についてまとめたものです。

Outlineの権限設定は、大きく分けて以下の2階層で構成されています。

  1. ワークスペース権限: Wiki全体での「基本的な役割」(管理者、編集者、閲覧者)
  2. コレクション権限: コレクション(部屋)ごとの、より詳細な「入室・編集ルール」

この2つを組み合わせることで、柔軟な権限管理を実現します。

ステップ1: ワークスペース権限(基本的な役割)の管理

まず、ユーザーをWikiに招待し、全体での役割を割り当てます。

1-1. 3つの基本役割

Outlineには、以下の3つの基本的な役割があります。

  • Admin (管理者): 全ての権限を持ちます。メンバーの招待、役割変更、Wiki全体の設定変更が可能です。
  • Editor (編集者): デフォルトの役割です。ドキュメントの新規作成、編集、削除が可能です。
  • Viewer (閲覧者): ドキュメントの閲覧と検索のみが可能です。編集や作成はできません。

1-2. ユーザーを招待し、最初から役割を指定する方法

新規ユーザーが「Editor」として自動登録されるのを防ぎ、最初から「Viewer」として招待したい場合などに使います。

  1. 管理者アカウントでOutlineにログインします。
  2. メニューにある + Invite people... をクリックします。
  3. 表示されたウィンドウで、招待したい人のEmailと、割り当てたい役割(Role)(例: Viewer)を選択し、「Send Invites」をクリックします。

【ローカル環境での注意点】
localhost環境ではメール送信サーバー(SMTP)を設定していないため、招待メールは送信されません。
ただし、この操作で「このメールアドレスの人はViewerとして招待された」という記録はデータベースに保存されます。

この招待を完了させるには、以下のシミュレーションが必要です。

  1. GCPのリストに追加: Google Cloudの「OAuth同意画面」 > 「テストユーザー」に、招待したアカウントのメールアドレスを追加します。
  2. 本人が訪問: 招待されたアカウントで、シークレットブラウザなどからhttps://localhostにアクセスし、Googleログインを行います。
  3. 登録完了: Outlineは「招待メールは見ていないけど、本人確認(Googleログイン)が取れ、招待リストにも名前があるのでOK」と判断し、招待時に指定された役割(Viewer)でユーザーを登録します。

ステップ2: コレクション権限(部屋ごとのルール)の設定

次に、コレクションごとに、より詳細なアクセス権限を設定します。
ここでは、「管理者と特定のEditorだけが入室・編集できる、限定コレクション」を作成する手順を例示します。

2-1. 「原則立ち入り禁止」のコレクションを作成

  1. 管理者アカウントで、新しいコレクション(例: Secret Collection)を作成します。
  2. 作成したコレクションの横にある「...」(三点リーダー)をクリックし、Permissions(鍵マーク)を開きます。
  3. All members(Wikiの全メンバー)の権限を、Can editからNo access(アクセス不可)に変更します。
    • これで、このコレクションは「原則立ち入り禁止」の状態になりました。

2-2. 「例外ルール」で特定のユーザーを招待

  1. 同じPermissions設定画面で、Add or invite…をクリックします。
  2. この部屋への入室を許可したいユーザー(例: Editor権限を持つ、別アカウント)を選択します。
  3. そのユーザーに与える権限をCan edit(編集可能)として、追加します。
    • これで、「全員禁止だが、管理者(Manage権限)と、今追加したEditorだけは編集可能」という、詳細なルールが完成しました。

ステップ3: 権限の検証

最後に、設定したルールが正しく機能しているかを、各アカウントでログインし直して確認します。

3-1. 【検証1】Viewerアカウント

  1. シークレットブラウザなどで、Viewerアカウントhttps://localhostにログインします。
  2. 期待される結果: 左側のCollections一覧に、「Secret Collection」は表示すらされません

3-2. 【検証2】Editorアカウント

  1. Viewerアカウントをログアウトし、招待されたEditorアカウントでログインします。
  2. 期待される結果: Collections一覧に、「Secret Collection」が正常に表示され、ドキュメントの作成・編集が可能であることを確認できます。

4. まとめ

Outlineの権限管理は、「ワークスペース全体の役割」と「コレクションごとの詳細設定」の2段階で行います。この仕組みを理解することで、本番運用時にも、各属性ごと(部署ごとや役職ごと)に、柔軟で安全なアクセス制御を実現することができます。

次回

準備中

【OSSでWiki構築】連載記事一覧

第1回:OSSの選定
第2回:(環境構築編)Docker ComposeでOutlineとDBを連携させる
第3回:環境構築編 トラブルシューティング
第4回(Google OAuth編)Outline認証設定
第5回:Google OAuth編 トラブルシューティング
第6回:アクセス制御編 ※本記事


J.B.Goode Inc.に所属しています。

良ければ 公式アカウントをフォローお願いします!

弊社ウェブサイトでは、技術記事の他にもデザインナレッジや日々の気づき等を配信しています。
https://www.jbgoode.jp/

カジュアル面談も実施中です。お気軽にお問い合わせください。
https://www.jbgoode.jp/recruit/

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?