この章では、Sun N1 Service Provisioning System 5.2 のインストールと構成に必要な作業の概要について説明します。また、Sun N1 Service Provisioning System 5.2 に含まれるアプリケーションの概要と、セキュリティー強化に使用できるネットワークプロトコルの種類についても説明します。
この章の内容は、次のとおりです。
次に、Sun N1 Service Provisioning System 5.2 を確実にインストールし構成するために必要な作業の概要を示します。
使用しているサーバーがインストールの最小要件を満たしているか確認します。
第 2 章「Sun N1 Service Provisioning System 5.2 のシステム要件」を参照してください。
構成についての必要事項を決定して、製品をインストールするために必要な情報を収集します。
第 3 章「インストールの前に収集すべき情報」を参照してください。
(省略可能) Sun N1 Service Provisioning System 5.2 で使用する特殊なオペレーティングシステムグループとユーザーアカウントを作成できます。
新しいユーザーと新しいグループを作成した場合は、その新しいユーザーをそのグループに含めてください。ユーザーアカウントの作成の詳細は、使用しているオペレーティングシステムのマニュアルを参照してください。
(省略可能) CLI Client マシンに Jython をインストールします。
Jython は、CLI Client を実行する任意のマシンにインストールできます。Jython は CLI Client の実行に必須ではありません。Jython は、http://www.jython.org から入手できます。
Jython での CLI Client の使用方法についての詳細は、『Sun N1 Service Provisioning System 5.2 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 1 章「コマンド行インタフェースの使用」を参照してください。
製品メディアに入っている該当するインストールスクリプトを使用し、Sun N1 Service Provisioning System 5.2 の各アプリケーションを個々にインストールします。
インストール方法については、第 4 章「Linux および UNIX システムへの Sun N1 Service Provisioning System 5.2 のインストール」、または第 5 章「Windows システムへの Sun N1 Service Provisioning System 5.2 のインストール」を参照してください。
(省略可能) インターネット上でマスターサーバーにアクセスする予定がある場合は、そのサーバーとの通信に SSH を使用するように Sun N1 Service Provisioning System 5.2 を構成することによってマスターサーバーのセキュリティーを高めることができます。
第 7 章「Secure Shell を使用するための Sun N1 Service Provisioning System 5.2 の構成」を参照してください。
(省略可能) アプリケーション間の通信に最大のセキュリティーを提供する場合は、通信に SSL を使用するようにアプリケーションを構成してください。
第 8 章「SSL を使用するための Sun N1 Service Provisioning System 5.2 の構成」を参照してください。
(省略可能) アプリケーション間の通信にセキュリティーを提供する手段として SSL を使用しない場合は、アプリケーションが localhost からの接続だけを認めるように JVM セキュリティーポリシーを構成できます。この設定では、最小レベルのセキュリティーしか提供されません。
第 9 章「Java 仮想マシンのセキュリティーポリシーの構成」を参照してください。
(省略可能) アプリケーションを起動します。
インストールが正常に完了すると、アプリケーションを起動するようにメッセージが表示されます。この時点でアプリケーションを起動しない場合は、「Linux および UNIX システムでのアプリケーションの起動」または 「Windows システムでのアプリケーションの起動」に示されている説明にしたがってアプリケーションを起動してください。
初期設定を行います。
初期設定の方法の詳細については、『Sun N1 Service Provisioning System 5.2 システム管理者ガイド』の「Sun N1 Service Provisioning System の構成 – 手順の概要」を参照してください。
Sun N1 Service Provisioning System 5.2 は、分散型のソフトウェアプラットフォームです。このプロビジョニングシステムには、次に示す特殊用途のアプリケーションが含まれます。ユーザーは、これらのアプリケーションをネットワーク内のサーバーにインストールして使用します。これらのアプリケーションは、ユーザーがネットワーク内のサーバーにソフトウェアを配備できるよう連係して動作します。
「マスターサーバー」 – コンポーネントとプランを保持するセントラルサーバーであり、アプリケーション配備を管理するインタフェースを提供します。
「ローカルディストリビュータ」 – マスターサーバーのプロキシとして機能するオプションサーバーであり、データセンター間のネットワーク通信やファイアウォールを介したネットワーク通信を最適化します。
「リモートエージェント」 – ホスト上で処理を行う管理アプリケーション。Sun N1 Service Provisioning System 5.2 を使用して制御する各サーバーに、リモートエージェントアプリケーションが存在しなければなりません。
「CLI Client」 – マスターサーバー上で実行されるコマンドを受け付けるオプションのアプリケーション。
マスターサーバーは、Linux、UNIX、および Windows ベースのサーバーで稼働します。マスターサーバーは、次のような処理を行うセントラルサーバーです。
このプロビジョニングソフトウェアに登録されているすべてのホストを識別するデータベースを管理する
リポジトリ内にコンポーネントとプランを格納する
リポジトリ内に格納されているオブジェクトのバージョン制御を行う
プロビジョニングシステムユーザーの認証を行い、承認されたユーザーだけが一定の処理を行えるようにする
依存性の追跡および配備などのタスクを実行する専用エンジンを含める
ユーザーにブラウザインタフェースとコマンド行インタフェースの両方を提供する
ローカルディストリビュータは、リモートエージェントの配布と管理を最適化するプロキシです。データセンターでは、ローカルディストリビュータを使用して次の処理を行えます。
配備時のネットワークトラフィックを最小限に抑える。マスターサーバーは、コンポーネントのコピー一式をローカルディストリビュータに送信します。ローカルディストリビュータは、ほかのサーバーでのインストールのためにこのコンポーネントを複製します。
ファイアウォールの再構成を最小限に抑える。ファイアウォールがマスターサーバーと複数のサーバー間に位置付けられている場合、管理者がファイアウォールをオープンできるのは (配備に関連するすべてのサーバーに対してではなく) ローカルディストリビュータ に対してだけです。
大規模配備の際にマスターサーバーにかかる負荷を最小限に抑える
リモートエージェントは、Sun N1 Service Provisioning System 5.2 によって管理されているすべてのサーバーで動作するアプリケーションです。リモートエージェントは、マスターサーバーによって要求されるタスクを実行します。リモートエージェントは次の作業に利用できます。
サーバーのハードウェア構成とソフトウェア構成をマスターサーバーに報告する
サービスの開始と停止を行う
ディレクトリのコンテンツとプロパティを管理する
ソフトウェアのインストールとアンインストールを行う
コンポーネントとプランで指定されたオペレーティングシステムコマンドとネイティブスクリプトを実行する
CLI (Command Line Interface: コマンド行インターフェース) Client は、ローカルサーバーとリモートサーバーからのコマンド実行を可能にする、マスターサーバーへの通信パスを提供します。CLI Client は、次の環境でコマンドの実行を許可します。
Windows コマンド行
UNIX シェル (bash など)
これらのコマンドを実行する場合、CLI Client は TCP/IP を使用するか、あるいは SSL または SSH のセキュリティー保護された接続を介してマスターサーバーへの接続を確立します。
CLI Client は、次の 2 つのモードで動作します。
単一コマンドモード: コマンドを 1 つずつ実行します。
対話モード: コマンド入力のプロンプトが表示され、コマンドの履歴が保持されます。Jython によるスクリプト記述も行えます。
対話モードで処理する場合、CLI Client は Jython プログラミング言語を使用します。Jython は、オブジェクト指向の高度な動的言語 Python の Java 実装です。
対話モードで CLI Client を実行する予定のあるすべてのサーバーに Jython をインストールしてください。Jython の詳細の確認とダウンロードは、http://www.jython.org で行えます。
Sun N1 Service Provisioning System 5.2 は、ソフトウェアアプリケーション間の通信に使用されるさまざまなネットワークプロトコルをサポートします。ユーザーは、次に示すネットワーク通信に適合するプロトコルを選択できます。
マスターサーバーとローカルディストリビュータまたはリモートエージェント間の通信
特定のローカルディストリビュータとリモートエージェント間の通信
マスターサーバーと CLI Client 間の通信
Sun N1 Service Provisioning System 5.2 は、次のプロトコルをサポートします。
raw (TCP/IP)
Secure Shell
SSL (Secure Sockets Layer)
ネットワークセキュリティーは、特定のネットワークトポロジのニーズに合わせて変更できます。たとえば、各データセンター間にはセキュリティー保護された通信を使用しているが、リモートデータセンターとのネットワーク接続は公衆網であるインターネットを使用しているとします。リモートデータセンターのファイアウォールの内側にインストールされたローカルディストリビュータと通信する場合は、SSL を使用するようにマスターサーバーを構成できます。この結果、インターネットを介したリモートデータセンターとの通信は、安全なものとなります。ローカルネットワーク上でセキュリティー保護された通信が行われるため、ローカルディストリビュータは raw TCP/IP を使用してリモートエージェントに接続できます。さまざまなプロトコル、およびプロトコルの構成方法の詳細については、第 7 章「Secure Shell を使用するための Sun N1 Service Provisioning System 5.2 の構成」および第 8 章「SSL を使用するための Sun N1 Service Provisioning System 5.2 の構成」を参照してください。
raw (TCP/IP) は、暗号化や認証が別に行われることのない標準の TCP/IP です。raw には、追加設定や追加構成が不要であるという利点があります。データセンターネットワークがファイアウォールで保護されている場合は、Sun N1 Service Provisioning System 5.2 アプリケーション間の通信に raw を使用すると便利です。
Secure Shell (SSH) は、リモートコンピュータに安全にアクセスするための UNIX コマンド群 / プロトコルです。SSH は、電子証明書とパスワードの暗号化を利用して、接続の両端で認証を行うことにより、ネットワーク上のクライアントとサーバーの通信を保護します。また、RSA 公開鍵暗号を使用して接続と認証を管理します。SSH は、シェルベースの通信方式 (Telnet など) よりも安全です。
Sun N1 Service Provisioning System 5.2 アプリケーションは、SSH を使用して通信するように構成できます。Sun N1 Service Provisioning System 5.2 は、OpenBSD Project によって開発された SSH のフリーバージョン、OpenSSH をサポートします。OpenSSH の詳細については、http://www.openssh.com を参照してください。このソフトウェアは、ほかの SSH バージョンをサポートするようにも構成できます。
Secure Sockets Layer (SSL) は、IP ネットワーク経由の通信を保護するためのプロトコルです。SSL は、TCP/IP ソケット技術を使用してクライアントとサーバー間のメッセージ交換を行います。交換されるメッセージは、RSA が開発した公開 / 非公開鍵ペア暗号化システムで保護されます。SSL は、ほとんどの Web サーバー製品でサポートされるほか、Netscape NavigatorTM ブラウザと Microsoft Web ブラウザでもサポートされます。
傍受や改ざんからソフトウェアメッセージを保護するため、SSL を使用してネットワーク通信を行うように Sun N1 Service Provisioning System 5.2 アプリケーションを構成できます。また、通信前に SSL を使用して相互に認証を行うようにアプリケーションを構成すれば、さらにネットワークセキュリティーが高まります。
一般的な利用においては、「プラグインアプリケーション」は簡単にインストールできて Web ブラウザの一部として使用できるプログラムを意味します。プラグインアプリケーションはブラウザによって自動的に認識され、表示されるメインの HTML ファイルにその機能が統合されます。Web ブラウザプラグインアプリケーションは、一般にサウンドや動画ビデオの再生などを行います。
Sun N1 Service Provisioning System 環境では、プラグインの概念が一般的な利用の場合とわずかに異なります。Sun N1 Service Provisioning System 製品のプラグインは、特定のプラットフォーム、アプリケーション、または環境を対象とした製品のプロビジョニング機能を拡張するパッケージソリューションです。たとえば、Oracle 8i のような特定のアプリケーション用にプラグインソリューションを作成することも、Solaris Zone のような OS 機能用にプラグインソリューションを作成することもできます。
プラグインには、新しいカスタムアプリケーションのサポートに必要な関連データがすべて含まれます。プラグインのコンテンツについては、プラグイン記述子ファイルで説明されます。このファイルは、プラグインパッケージ構造内の標準の場所に置かれます。
Sun N1 Service Provisioning System で使用できるように、いくつかのプラグインが用意されています。プラグインは、Sun N1 Service Provisioning System 5.2: Supplement CD および Sun Download Center からダウンロードするイメージから使用可能です。
これらのプラグインは、Java アーカイブファイル (.jar ファイル) にパッケージ化されています。特定のプラグインを Sun N1 Service Provisioning System 製品に認識させるには、そのプラグインをインポートする必要があります。プラグインのインポート方法については、インポートするプラグインに付属のユーザーガイドを参照してください。http://docs.sun.com/db/coll/1329.1の Plug-In User's Guide マニュアルコレクションにあります。
Sun N1 Service Provisioning System には、データ、アプリケーション、およびネットワークのセキュリティーを確保するための次の機能があります。
HTTPS (Secure HTTP) サポート – HTTPS を使用するように SPS 環境を構成すると、マスターサーバーへの接続のセキュリティーが確保されます。SSL (Secure Sockets Layer) デジタル証明書とキーストロークを使用すると、Web ブラウザインタフェースによるマスターサーバーへの接続を保護できます。
詳細については、第 6 章「HTTPS を使用するための Sun N1 Service Provisioning System 5.2 の構成」を参照してください。
SSH (Secure Shell) サポート – SSH は UNIX ベースのコマンド群で、リモートコンピュータへ安全にアクセスするためのプロトコルです。SSH は、電子証明書とパスワードの暗号化を利用して、接続の両端で認証を行うことにより、ネットワーク上のクライアントとサーバーの通信を保護します。また、RSA 公開鍵暗号を使用して接続と認証を管理します。
詳細については、第 7 章「Secure Shell を使用するための Sun N1 Service Provisioning System 5.2 の構成」を参照してください。
SSL (Secure Sockets Layer) サポート – SSL は、IP ネットワーク上での通信をセキュリティー保護するプロトコルです。SSL は、TCP/IP ソケット技術を使用してクライアントとサーバー間のメッセージ交換を行い、RSA が開発した公開 / 非公開鍵ペア暗号化システムを使用してそのメッセージを保護します。SSL のサポートは、ほとんどの Web サーバー製品およびほとんどの Web ブラウザソフトウェアに内蔵されています。
メッセージの傍受や改ざんを防止するため、ネットワーク通信に SSL を使用するように Sun N1 Service Provisioning System 5.2 アプリケーションを構成できます。
詳細については、第 8 章「SSL を使用するための Sun N1 Service Provisioning System 5.2 の構成」を参照してください。
JVM (Java Virtual Machine) セキュリティーポリシー – それぞれの Sun N1 Service Provisioning System 5.2 アプリケーションには、JVM (Java Virtual Machine) セキュリティーポリシーファイルがあります。このポリシーファイルを修正すると、マスターサーバー、リモートエージェント、およびローカルディストリビュータへのアクセスを制限できます。これらのアプリケーションは、特定の IP アドレスおよびポート範囲からの接続のみを受け付けるか、または特定の IP アドレスおよびポート範囲への接続のみを行うように構成できます。
詳細については、第 9 章「Java 仮想マシンのセキュリティーポリシーの構成」を参照してください。
ユーザー認証 - Sun N1 Service Provisioning System は、ユーザー認証用として JAAS (Java Authentication and Authorization Service) をサポートしています。jaas.config ファイルを編集することで、次の認証サービスを使用するように SPS 環境を構成できます。
LDAP
Sun Directory Server
Microsoft Windows 2000 Active Directory サーバー
詳細については、『Sun N1 Service Provisioning System 5.2 システム管理者ガイド』の付録 A「認証方式」を参照してください。
ユーザーグループ - Sun N1 Service Provisioning System ソフトウェアのさまざまな機能へのアクセスを制御するには、ユーザーを特定のユーザーグループに割り当てます。その後、各ユーザーグループに特定のアクセス許可を割り当てると、そのグループ内のユーザーが実行可能な操作を制限できます。
詳細については、『Sun N1 Service Provisioning System 5.2 システム管理者ガイド』の第 4 章「ユーザーの管理」を参照してください。
アクセス許可 - ユーザーグループにアクセス許可を割り当てると、プロビジョニング環境全体、または特定のプランとコンポーネントに、ユーザーアクセスを制限できます。プロビジョニングプランの実行またはコンポーネント作成の許可を特定のユーザーグループに割り当てたり、別のユーザーグループのアクセス許可を制限し、そのユーザーがユーザーアカウントを管理できるようにしたりすることもできます。
詳細については、『Sun N1 Service Provisioning System 5.2 システム管理者ガイド』の第 3 章「アクセス許可を使用したアクセスの制御」を参照してください。
特定のリソースに割り当てられたファイルおよびディレクトリに、ファイルシステムアクセス許可を割り当てることもできます。リソース記述子ファイルの XML を編集すると、リソースを SPS にチェックインしたときに作成したファイルシステムアクセス許可を上書きできます。詳細については、『Sun N1 Service Provisioning System 5.2 XML スキーマリファレンスガイド』の「リソース記述子ファイルの使用」を参照してください。
ユーザー固有の手順 – SPS XML スキーマでは、別のユーザーが特定のプランまたはコンポーネントを実行するように指定できます。execNative 要素の UserToRunAs 属性を使用すると、ターゲットホストのオペレーティングシステムのネイティブコマンドを、特定のユーザーで実行するように指定できます。
詳細については、『Sun N1 Service Provisioning System 5.2 XML スキーマリファレンスガイド』の「<execNative> ステップ」を参照してください。
コンポーネント要素へのアクセス - Sun N1 SPS コンポーネントの XML スキーマを使用すると、次のようなコンポーネントの特定の要素へのアクセスを制御できます。
コンポーネント変数
コンポーネントのインストール、アンインストール、または制御の手順
アクセス属性では、特定のコンポーネント要素へのアクセス補助をさまざまなレベルで制限できます。詳細については、『Sun N1 Service Provisioning System 5.2 XML スキーマリファレンスガイド』の第 3 章「コンポーネントのスキーマ」を参照してください。
ユーザーセッション - Sun N1 SPS は、ユーザーセッションを使用してユーザーおよびユーザーの資格を認証し、プロビジョニング作業を実行することができます。このようなセッションは、再認証を行うことなく、関連する一連の要求でユーザーを識別するために使用できます。ユーザーセッションはセッション変数を使用して、ユーザー認証やその他の資格など、セッション関連の情報を維持できます。
詳細については、『Sun N1 Service Provisioning System 5.2 プランとコンポーネントの開発者ガイド』の「セッション変数の概念」を参照してください。
現在のセッション内のセッション変数を、データベース内に保存されているセッション変数に影響を与えることなく変更したり、その変更内容を保存できます。セッション変数の管理には、ブラウザインタフェースまたはコマンド行インタフェースを使用します。詳細については、『Sun N1 Service Provisioning System 5.2 プランとコンポーネントの開発者ガイド』の第 5 章「セッション変数」を参照してください。
コマンド行インタフェースでセッション ID を指定し、特定のコマンドを認証することもできます。詳細については、『Sun N1 Service Provisioning System 5.2 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 1 章「コマンド行インタフェースの使用」を参照してください。
config.properties ファイル内の一連の構成コマンドで、ユーザーセッションの期間およびタイムアウトポリシーを設定できます。詳細については、『Sun N1 Service Provisioning System 5.2 システム管理者ガイド』の付録 B「一般的に更新される構成変数」を参照してください。