ネットワーク接続の設定、認証プロトコルの選択、ユーザーの管理、デスクトップ属性の定義、およびシステムの監視などの作業には、Sun Ray server software を使用します。Sun Ray server software には以下の機能が含まれます。
ユーザー認証とアクセス制御
セッション管理
デバイス管理
システム管理ツール
サポート/最適化されているすべてのレンダリング API 用の仮想デバイスドライバ
Sun Ray server software のプロセスは、複数の段階から構成されています。
Sun Ray server software は、描画出力をフォーマットし、Sun Ray ネットワークを介して適切な appliance に送信します。
サーバーからの各通信は、解釈される前に妥当性を検査されます。
次に、情報が appliance のモニターに表示されます。キー入力やマウスのクリックなど、すべての入力が適切なアプリケーションに送信されます。図 1-8 は、Sun Ray server software の構成要素と配布を示しています。
エンドユーザは「設定」画面を使用して、appliance のマウス、モニター解像度、オーディオ、およびビデオの制御ができます。
解説
LAN
バックエンドサーバー
データベース
Solaris サーバー
Sun Ray サーバー
Solaris オペレーティング環境
Sun Ray server software デーモン
ウィンドウシステム
アプリケーション
スイッチ
Sun Ray 1 appliance
Sun Ray システムが継続して正しく動作するには、2 つの独自のシステム機能が必要です。1 つは、認証マネージャ、もう 1 つはセッションマネージャです (詳細は、「セッションマネージャ」を参照)。
認証マネージャの主な役割は、Sun Ray 1 enterprise appliance でエンドユーザの識別および認証用に選択されているポリシーの実現です。また、ユーザー ID を確認し、サイトアクセスのポリシーを実現します。Sun Ray 1 enterprise appliance を使用してシステムにアクセスするときは、常に認証マネージャが利用できる状態になければなりません。エンドユーザーは認証マネージャを管理することはできません。
あるエンドユーザーが初めてシステムにアクセスした時、enterprise appliance はトークンを取得し、そのトークンを使用して認証マネージャに資格情報を渡し、アクセスを要求します。スマートカードを挿入した場合は、スマートカードのタイプと ID がトークンとして使用されます。スマートカードを使用しない場合は、enterprise appliance に組み込まれているタイプと ID (その appliance の Ethernet アドレス) がトークンとして提供されます。すべてのトークンには、タイプおよび ID が含まれており、Sun Ray システムに渡されたトークンを一意に識別します。スマートカードの場合は、タイプは通常、カードの製造時に製造元で決められた ID をそのまま使います。enterprise appliance の場合、タイプは pseudo になります。
認証マネージャでは、モジュールと呼ばれるプラグ可能なコンポーネントを使用して、サイト単位に選択可能なさまざまな認証ポリシーを実現します。サイト管理者は、さまざまなモジュールとそのオプションの組み合わせを作成し、サイトの要件に合ったポリシーを実現することができます。以下のモジュールがあります。
ZeroAdmin ― 任意のタイプのトークンが許可されます。dtlogin 画面まで自動的にアクセスできます。このモジュールは基本的に、任意のワークステーションが使用できるように設計されています。
Registered ― トークンが Sun Ray 管理データベースに登録され、有効な場合にのみ許可されます。トークンがこれらの条件を満たしていない場合は、拒否されます。許可された場合、dtlogin 画面までアクセスできます。このモジュールは、特定のユーザーまたは enterprise appliance にのみアクセスを制限するサイト用に設計されています。
dtlogin 画面が表示されると、認証マネージャのタスクは完了します。
以下の 2 つの方法でユーザーを登録することができます。
中央登録方式 ― 1 名または複数名のサイト管理者が、スマートカードまたは enterprise appliance、あるいはこの両方を承認済みのユーザーに割り当て、ユーザーのトークンを Sun Ray 管理データベースに登録します。
自己登録方式 ― ユーザー自身が Sun Ray 管理データベースに登録することができます。このモードが有効で、認証マネージャに対して登録されていないトークンが渡された場合には、サイト管理者が使用する画面に類似した登録画面が表示され、ユーザーはこの画面の指示に従って登録します。
自己登録方式が有効な場合でも、中央登録方式で登録することができます。
すでに登録されているが無効になっているトークンの場合、そのトークンを再登録することはできません。サイト管理者に問い合わせ、トークンを再度有効にする必要があります。
認証マネージャと enterprise appliance 間の対話は次の手順で行われます。
エンドユーザーが enterprise appliance にアクセスします。
enterprise appliance (図 1-9 の 2) では、ユーザーのトークン情報を認証マネージャ (3) に渡し、アクセスを要求します。appliance でスマートカードを使用した場合は、スマートカードのタイプと ID がトークンになります。スマートカードを使用しない場合は、appliance に組み込まれているタイプ (pseudo) と ID (appliance の Ethernet アドレス) が送信されます。
認証マネージャでは、現在のポリシーリスト内の最初の認証モジュール (項目 4) に要求を渡します。各モジュールでは、責任を受け入れるか拒否します。拒否した場合は、その要求をリスト内の次のモジュールに渡します。責任を受け入れた場合は、ユーザーを許可するか拒否するかを決定し、他のモジュールへの問い合わせは行われません。
認証マネージャによってリスト内のすべてのモジュールに対して問い合わせが行われ、その要求に対する責任を受け入れたモジュールがない場合は、拒否されます。
ユーザーが許可されると、認証マネージャではそのユーザーに対して X Windows セッション (項目 5) を開始し、dtlogin 画面を表示します (項目 6)。
選択した認証ポリシーに応じて、ユーザーはワークグループ内で移動することができます。つまり、エンドユーザーがある appliance でセッションを開始した後、このユーザーが別の appliance に移動した場合でも、セッションはエンドユーザーとともに移動先の appliance に移動するので、継続性を保ったまま作業を続けることができます。セッションについての詳細は、「セッションマネージャ」を参照してください。
この節では、セッションマネージャと認証マネージャの対話、およびエンドユーザーに対するサービスの提供方法について説明します。セッションマネージャは、起動時、サービスの提供、画面の管理に使用され、また、認証マネージャとの相互認識ポイントとしても使用されます。以下の手順は、プロセスの起動と終了の方法です。
あるユーザーのトークンを認証すると、認証マネージャはそのトークンに対するセッションが存在するかどうかを確認します。存在しない場合、認証マネージャはセッションマネージャに対してセッションの作成を要求し、ポリシーに基づいてそのセッションの適切なサービスを開始します。通常この処理には、そのセッションに対する X サーバーの起動処理も含まれます。
サービスを開始すると、セッションマネージャに問い合わせ、明示的にサービスとセッションを結合します。
このトークンに関連付けられたセッションを特定の Sun Ray 1 appliance に接続しようとしていることを、認証マネージャがセッションマネージャに通知します。次いでセッションマネージャはセッション内の各サービスに対して、その appliance に直接接続することを通知します。
このトークンに関連付けられたセッションを appliance から切断することを認証マネージャが決定した場合、セッション内のすべてのサービスが切断されることを、認証マネージャがセッションマネージャに通知します。
セッションマネージャは、セッション内の競合するサービス間の画面表示領域を調整し、クリップ領域の変更をサービスに通知します。
セッション ID は公開しないでください。エンドユーザーのセッション ID が公開された場合、認証されていないアプリケーションが直接 appliance に接続される危険性があります。エンドユーザーの非公開のセッション ID を確認するには、xprop(1) コマンドを使用します。また、xhost(1) コマンド (たとえば、xhost +) を使用する際にも注意を払ってください。xprop コマンドが不特定のユーザーに使用されてエンドユーザーのセッション ID が傍受され、画面イメージやキーボード入力が公開される危険性があります。システム管理者が信頼したユーザーにのみディスプレイおよびエンドユーザーの appliance に対するアクセス権を割り当てるには、xhost username@system を使用してください。
セッションとは、セッションマネージャにより制御される様々なサービスから構成される、一種の集合体です。このセッションを特定のエンドユーザーと結び付けているのが、認証トークンです。またサービスとは、直接 Sun Ray 1 appliance に接続できる任意のアプリケーションを指します。サービスと呼べるものには、オーディオ、ビデオ、X サーバー、appliance のデバイス制御などが含まれます。たとえば、dtmail は X サーバーを介してエンドユーザーの appliance と結び付いているので、サービスには含まれません。
セッションマネージャは、サービスからセッションへのマッピングを利用してセッションとサービスを追跡し、appliance へのサービスの割り当ておよび割り当ての解除を実行します。
セッションマネージャは、/etc/opt/SUNWut/auth.permit ファイルに指定されている承認済みの認証マネージャからしか、認証情報を取得できません。
セッションマネージャは、セッションの状態が変更された場合、または他のサービスが追加された場合にのみ呼び出されます。あるエンドユーザーのトークンがどの appliance に対してもマッピングされない状態になると (たとえば、カードが取り外されたとき)、セッションマネージャは appliance からサービスを切断しますが、ただし、そのサービスはサーバー上ではアクティブな状態を保ちます。たとえば、X サーバーに接続されたプログラムは、その出力は表示されなくても、引き続き実行されます。
セッションマネージャのデーモンは、常に動作していなければなりません。デーモンが動作しているかどうかを確認するには、ps コマンドを使用して utsessiond を検索します。
認証マネージャが終了するとセッションマネージャは、認証マネージャが承認していたすべてのセッションを切断し、それらのセッションに対して再度認証が必要であることを通知します。サービスは切断されますが、引き続きアクティブです。
セッションマネージャは中断されても自動的に再起動します。各サービスはセッションマネージャに対して問い合わせを行い、適切なセッションへの再接続を要求します。認証マネージャおよびセッションマネージャを停止してから再起動するには、以下のように入力します。
# /etc/init.d/utsvc stop |
# /etc/init.d/utsvc start |
セッションマネージャは、特定の TCP ポート (通常は 7007) 上で接続を受け入れるように設計されています。認証マネージャは、コールバックメカニズムを使用して、セッションおよび appliance の接続と切断の作成および制御を、セッションマネージャに要求します。コールバックアドレスがセッションマネージャのファイル内のアドレス (許可されているアドレスのリスト) と一致すると、セッションマネージャはそのコールに応答し、2 つのマネージャが対話できるようになります。
画面表示の描画処理 (たとえば、フォント、ブレンド処理、オーバーレイ、複合化など) は、すべて Sun Ray server software が実行します。ピクセルは、アプリケーション固有の形式を用いて、Sun Ray 1 appliance に送信されます。Sun Ray server software では、API の編集および変更はしません。Sun Ray 1 appliance では、利用可能なレンダリング API (たとえば、X11 インタフェース) ごとに仮想デバイスドライバを使用します。JavaTM の描画はすべて、X サーバー (UNIX® サーバー)、または Win 32 インタフェース (Microsoft Windows NT サーバー) で処理されます。Win 32 インタフェースからの描画出力は、Solaris サーバーで稼動する Citrix クライアントを介して、ネイティブな Sun Ray プロトコルに変換されます。
Sun Ray 1 appliance では 24 ビット画像を使用しているため、内部変換プログラムによっては、8 ビットのインデックス付きカラーを必要とする古いプログラムを、Sun Ray 1 appliance が利用できる 24 ビット形式に変換します。デフォルトの画像タイプは、24 bpp (bit per pixel) です。また、Sun Ray 1 appliance のデフォルトの画面サイズは、1280 × 1024 ピクセルです。
Sun Ray 1 appliance では、24 ビット画像を使用します。アプリケーションで 8 ビットの画像形式のみが使用されている場合は、24 ビットの画像を要求するエラーメッセージが表示されます。エラーについては、付録 A 「障害追跡」を参照してください。