ZimaOSでは現在、所有者/メンバーアカウントやSamba共有に対するネイティブLDAPまたはActive Directory認証は文書化されていません。現在サポートされているマルチユーザーモデルは、共有ごとの権限設定を備えたローカルZimaOSメンバーアカウントです。
元のスレッドは、ドメインIDを利用したいホームラボおよび小規模ビジネスのユーザーによる機能リクエストでした。IceWhaleからLDAPサポートを発表する返信はなかったため、DockerでLDAPサーバーを構成すればZimaOSのSambaが自動的に利用すると考えないでください。
ZimaOSが現在サポートしている機能
現在のZimaOS Sambaマルチユーザーガイドでは、ローカルメンバーアカウント、パスワード、ゲストアクセス、フォルダー権限について説明しています。
DockerでOpenLDAPを実行するだけでは不十分な理由
LDAPコンテナは、LDAPをサポートするアプリケーションにディレクトリサービスを提供できますが、ZimaOSのアカウント/Samba層には、LDAP/SSSD/winbindとの明示的な統合が必要です。現在のZimaOSドキュメントでは、その統合機能は公開されていません。
対応している場合はアプリレベルのLDAPを使用する
アイデンティティプロバイダーを実行し、NextcloudなどのLDAP/OIDC対応アプリケーションや、その他の対応ソフトウェアを個別に接続することはできます。これにより、ZimaOS自体がローカルNASアカウントを使い続ける場合でも、アプリのログインを一元化できます。
NASの管理を分離する
家庭や小規模オフィスのシステムでは、所有者/管理者のIDをローカルに保持すると、ディレクトリ障害によってストレージ管理から締め出される可能性を減らせます。
SMBアクセスをローカルメンバーで割り当てる
SMBアクセスが必要なユーザーごとにZimaOSメンバーを作成し、必要な共有だけを割り当て、機密性の高いフォルダーではゲストアクセスを無効にします。
Sambaを無計画にドメインメンバーへ変更しない
SambaをADに参加させるには通常、Kerberos、winbind/SSSD、NSS/PAM、マシン資格情報、DNS、永続的な設定が必要です。ZimaOSはアプライアンス型OSであるため、管理されていないパッケージや設定の変更は失われたり、組み込みの共有サービスと競合したりする可能性があります。
ハイブリッドなIDアーキテクチャ
LDAP / OIDCプロバイダー
├─ Nextcloud
├─ その他のDockerアプリ
└─ 内部サービス
ZimaOSローカルアカウント
├─ 所有者/管理者
└─ SMBメンバーアカウント
これはどこでもシングルサインオンを実現する構成ではありませんが、現在の製品の境界においては維持管理しやすい方法です。
アクセス制御ガイドでは、セキュリティに関する有用な背景情報を確認できます。
各レイヤーでIDの情報源を1つにする
アプリケーションがLDAPを使用し、ZimaOS SMBがローカルメンバーを使用する場合は、その分担をユーザー向けに明確に文書化してください。パスワード管理のポリシーがない限り、異なるパスワードで同一のユーザー名を作成するのは避けてください。シングルサインオンが壊れているように見える可能性があります。
ディレクトリサービスを別途バックアップする
OpenLDAP、Authentik、Keycloak、その他のIDサービスをDockerで実行する場合は、そのデータベースと署名/設定データを個別にバックアップする必要があります。IDプロバイダーを失うと、それに接続されたすべてのアプリからユーザーが締め出される可能性があります。
NASの復旧をLDAPに依存させない
ディレクトリコンテナ、DNS、またはネットワークが利用できない場合でもストレージを管理できるよう、少なくとも1つのローカルZimaOS所有者アカウントを保持してください。これにより、IDサービス障害時の復旧経路を確保できます。
よくある質問
現在、ZimaOSをActive Directoryに参加させられますか?
いいえ。現在のZimaOSドキュメントには、公式のAD/LDAP参加手順は記載されていません。
ZimaOS上でOpenLDAPを実行できますか?
Dockerアプリとして実行できますが、それによってZimaOS Sambaが自動的にOpenLDAPで認証するわけではありません。
DockerアプリはLDAPを利用できますか?
各アプリケーションがLDAPまたは別のIDプロトコルをサポートしていれば利用できます。
SMBユーザーには何を使うべきですか?
現在のZimaOSローカルメンバーアカウントと共有ごとの権限を使用してください。
