Jellyfinのロールは、認証済みユーザーごとにサーバーがライブラリ、コンテンツの可視性、デバイス、特権操作を個別に承認することで、データアクセスを変えます。
共有世帯では、同じJellyfinサーバーが管理者、別の成人、子ども、ゲスト、リビングルームのデバイスにサービスを提供しながら、全員に同じ権限を与えないようにできます。ここでいう「ロール」とは、ライブラリ、デバイス、再生、ペアレンタル、管理設定から構成される、ユーザーごとの実効的な権限プロファイルを指し、企業向けのRBACオブジェクトのような別個のものではありません。重要な境界はアイデンティティです。これらのポリシーが意味を持つのは、リクエストが意図したアカウントとして到着した場合だけです。
アイデンティティが最初のアクセス境界
Jellyfinがリクエストを行っているユーザーを把握しない限り、ロールや権限は何も保護できません。世帯ごとに別のプロファイルを作成すると、個別のセキュリティ主体が作られるため、同じ物理的なテレビやネットワークに対して、異なる権限、視聴状態、設定、制限をサーバーが適用できます。これは、複数の人が1つのユーザー名を共有し、クライアントのプロファイルによってデータが分離されることを期待する方法とは根本的に異なります。
実用的なマルチユーザー設定は、個別のアカウントを作成し、ユーザーごとにライブラリと操作の権限を絞り込むことから始まります。仕組みの順序は、まずアイデンティティ、次にポリシーです。リクエストがアカウントに関連付けられると、どの対応クライアントから送信されたかに関係なく、Jellyfinはそのアイデンティティに許可されている表示内容や操作を判断できます。
これにより、個人ごとの状態も意味を持つようになります。基盤となるメディアは共有したまま、視聴の進捗や設定を認証済みユーザーに関連付けて保持できます。そのため、ユーザーが認証情報を共有して境界を回避しない限り、映画ファイル自体を複製せずに、1つのライブラリに異なる論理ビューを表示できます。
ライブラリの範囲によって表示されるデータが変わる
ライブラリへのアクセスは、ユーザーがそもそも列挙できるカタログのグループを決めるため、最も広範なコンテンツ境界です。成人アカウントには映画、テレビ、音楽、4Kライブラリが表示され、子どもアカウントにはキッズ映画とキッズテレビだけが表示される、といった設定ができます。同じストレージがサーバーの背後にあっても、認証されたアイデンティティによって許可されるカタログビューが変わります。
管理インターフェースでは、これをユーザーごとのライブラリアクセスとして設定でき、世帯内の異なるプロファイルに異なるライブラリセットを割り当てられます。この判断はサーバーによって強制されるため、クライアントをセキュリティ境界と考えてはいけません。サーバーは、単にクライアント側でメニュー項目を隠すのではなく、許可されていない項目を提供しない必要があります。
ライブラリの範囲は、今後追加されるコンテンツにも影響します。選択したライブラリだけに制限されているユーザーが、ポリシーで明示されていない限り、新しいライブラリをすべて自動的に利用できるようになってはいけません。「すべてのライブラリ」は、「名前を指定したこれらのライブラリ」よりも広い信頼の表明であり、ホームサーバーが当初のメディアコレクションを超えて成長すると、この違いが重要になります。
操作権限によって閲覧と制御を分離する
項目を見られることは、その項目に対してあらゆる操作を実行できることを意味しません。世帯アカウントにはメディアの再生を許可しながら、ダウンロード、削除、サーバー管理、他のセッションのリモート制御を禁止できます。これにより、通常のコンテンツ利用と、ストレージを変更したり、より多くのリソースを消費したり、他のユーザーに影響を与えたりする操作を分離できます。
この設計の原則は最小権限です。ログインに成功したことを包括的な権限と見なすのではなく、ロールに必要な機能だけを付与します。Jellyfinでは、成人の視聴者を通常のユーザーにとどめ、ゲストからダウンロードや削除の権限を取り上げ、管理者アクセスを専用の所有者アカウントに限定することを意味します。
その結果、ミスや認証情報の侵害による影響範囲を小さくできます。子どもが誤って間違った操作をしても共有メディアを削除できず、ゲストのパスワードがサーバー管理用の認証情報になることもありません。したがって、ロール設計で考えるべきなのは、ホーム画面にどのポスターが表示されるかだけでなく、書き込み権限や制御可能な範囲でもあります。
ペアレンタルルールは許可されたライブラリ内の項目を絞り込む
子どもにライブラリへのアクセスを許可しながら、その中の一部の項目をブロックすることもできます。レーティング、タグ、レーティングなしコンテンツのルール、アクセススケジュールによって、より広いライブラリの判断後に条件付きフィルターを追加できます。これにより、許可されたサブセットごとに物理的なコピーを別々に作成せず、1つのキッズまたは映画ライブラリを複数の年齢層に提供できます。
セルフホスト型のJellyfin構成では、レーティングとタグをライブラリ権限と組み合わせ、制限付きアカウントが発見できる項目を調整できます。これらのフィルターはメタデータが正確かつ完全であることを前提とするため、認可ルールの信頼性は、評価対象となるレーティングやタグのデータに左右されます。
時間制限は別の側面を加えます。同じアイデンティティでも、ある時間帯には有効で、時間帯の外ではブロックされることがあります。つまり、世帯内のアクセスは固定的なロール名ではなく、アイデンティティ、コンテンツ属性、時間、デバイスルール、操作権限から組み立てられるポリシーです。サーバーは各リクエストのコンテキストに応じて、実効的な結果を計算します。
失敗する境界:共有アカウントは分離を崩す
複数の人が同じアカウントで認証すると、ユーザーごとのポリシーは世帯内の境界を保護できなくなります。Jellyfinには1つのアイデンティティしか見えないため、誰の視聴状態、コンテンツルール、ダウンロード権限、デバイス動作を適用すべきかを確実に区別できません。ログイン処理でサーバー側の区別が作られていない以上、クライアント側のプロファイル運用でそれを取り戻すことはできません。
共有視聴機能からも、アイデンティティが重要である理由が分かります。グループ視聴セッションでは、ユーザーを1つのアカウントに統合するのではなく、個別の参加者として区別したまま連携します。各参加者をサーバーが個別に認可してから再生状態を調整できるため、共同利用が成立します。
メタデータも2つ目の失敗する境界です。レーティングが欠落または誤分類されている項目は、レーティングなしコンテンツを明示的に処理しない限り、ペアレンタルレーティングのルールで隠せません。また、タグが付与されていなければ、タグルールも機能しません。したがって、強固なアカウント分離には、個別の認証情報と信頼できるポリシー入力の両方が必要です。
ユーザーを追加する前に世帯アクセスマトリクスを作成する
権限の切り替えを行う前に、世帯内のロールを定義しましょう。所有者兼管理者、成人の視聴者、子ども、部屋のデバイス、一時的なゲストなど、各プロファイルタイプについて、利用可能なライブラリ、リモートアクセス、ダウンロード、削除、トランスコード、デバイス範囲、ペアレンタルの上限、スケジュール、管理機能の有無を記録します。このマトリクスによって、単なるチェックボックスの集まりが、後から見直せる意図的なポリシーになります。
より広範な最小権限の境界は、世帯のメディアアクセスにもそのまま適用できます。すべてのアイデンティティには、その役割に必要なファイル、ネットワーク、デバイス、シークレット、操作だけを与えるべきです。Jellyfinのユーザー権限は、より大きなホームサーバー境界の中にある、アプリケーションレベルの1つの層です。
各人がより高い権限を持つアカウントを借りずに通常の視聴作業を完了でき、許可されていないライブラリが表示されず、通常の視聴者には破壊的な操作が拒否され、子ども向けフィルターが既知のテスト項目に対して正しく動作し、新しいデバイスやリモート経路が意図したルールに従うなら、その設計は合格です。例外がある場合は、恒久的な共有認証情報になる前に、ロールマトリクスで修正してください。
よくある質問
Jellyfinのユーザーは、お互いの視聴履歴を見られますか?
Jellyfinで個別のユーザーアカウントを使用すると、再生状態は認証されたユーザーに関連付けられるため、ある人の通常の視聴進捗が別の人の状態になる必要はありません。同じアカウントを共有すると、この分離が崩れ、履歴、設定、制限を正しく区別することが難しくなります。
ペアレンタルコントロールは異なるJellyfinクライアント間でも適用されますか?
重要な制御はサーバー側のユーザーアイデンティティに基づいて評価されるため、テレビからスマートフォンに切り替えても、サーバー権限が広がることはありません。クライアントのインターフェースによって表示方法が異なる場合があり、メタデータに基づく制限の信頼性は、ポリシーで使用されるメタデータの品質に左右されます。
管理者は日常の視聴用に別のアカウントを使うべきですか?
はい。特権管理と通常の視聴を分離すると、サーバーを変更できる権限を持つ日常的なセッションの数を減らせます。管理者アカウントは設定作業に使用し、可能な限り再生には通常の世帯アカウントを使ってください。
テック&AIハブ
もっと読む

ホームサーバーにサービスを追加すると、Home Assistantのアーキテクチャはなぜ変化するのか?
サービスを追加して共有状態、キュー、デバイス、更新サイクル、または障害ドメインが増えると、単にコンテナが増えるだけでなく、Home Assistantのアーキテクチャが変わります。

キャッシュを容量と取り違えずにHome Assistantのパフォーマンスを測定する方法
ウォーム状態での結果は、容量ではなく再利用を示します。コールドスタート、ウォーム時の定常状態、繰り返し負荷、テールレイテンシ、そして最初に飽和するリソースを測定してください。

Home Assistantで家全体を制御するには、どれくらいの自動化同時実行数が必要ですか?
家全体の自動化の多くは、重複実行数に上限を設けるだけで十分です。実行時間×トリガー発生率で同時実行数を見積もり、その後、下流システムが安全に処理できる容量を上限にします。

