第10章
この章では、展開データベース、アプリケーションサーバ、およびアプリケーションサーバのクラスタへのアクセスを設定、制限するための方法を説明します。この章を構成する節は次のとおりです。
アクセス制御では、ユーザがオブジェクトおよびリソースで実行できる操作を指定します。
アプリケーションサーバの認証とアクセス制御の設定では、次のアクセスを管理します。
アプリケーションサーバでは、「セキュリティ式」を使用して、認証を受けたユーザがアクセスを許可されている対象を特定します。
アプリケーションサーバでは、JavaセキュリティのACL (アクセス制御リスト)のAPIをサポートしており、開発者はデータおよび展開済みアプリケーションへのアクセスをプログラムベースで制御できます。このJavaセキュリティは、SMCおよびアプリケーションサーバのサーバ管理APIによって提供されるセキュリティと共に動作します。
次のリソースに対するアクセスを制御するには、SMCを使用します。
許可のタイプの説明に従って、許可を設定することによってアクセスを指定します。
許可を使用して、さまざまな「管理操作」および「データベースオブジェクト」へのアクセス制御を設定します。
「管理リソース」では、管理設定を表示および変更する権限(および設定にアクセスする許可)を制御します。管理リソースのセキュリティを設定すると、不正なユーザが管理操作を実行することはできなくなります。
注記: 管理設定にアクセスできるのは、管理者グループのメンバーのみです。ログインしているユーザ、セッションの情報、ユーザとグループの許可の設定、接続数といったすべての管理情報に、不正なユーザがアクセスすることを防ぐには、この制限を維持することが重要です。
次の表に一覧表示されているそれぞれの許可タブは、制限を維持する必要のある管理リソースの内容を示します。
展開データベースに対しては、ディレクトリおよびオブジェクト(J2EEアーカイブなど)に対する許可を設定することによって、展開データベースを保護します。アクセスの制限は、ユーザ単位またはグループ単位で設定できます。許可の設定は、ディレクトリ、すべてのサブディレクトリ(または特定のサブディレクトリ)、およびディレクトリ内のオブジェクトに適用されます。階層内の各オブジェクトまたはリソースを保護する必要があります。
詳細については、セキュリティチェックリストの手順10:展開データベースの保護を参照してください。
展開データベースのオブジェクトに適用される許可は次のとおりです。
許可 |
説明 |
---|---|
読み込み |
オブジェクトの場合、オブジェクトの設計情報を表示できるユーザを制限します。データベースまたはディレクトリの場合、チャイルドオブジェクトにアクセスできるユーザを制限します。 データベースまたはディレクトリ内のオブジェクトに対して、ユーザが簡単にアクセスできないようにするには、そのユーザのデータベースレベルまたはディレクトリレベルでの読み込みアクセスを拒否します。 注記: サブディレクトリでオブジェクトを実行する必要があるユーザは、そのペアレントディレクトリの「すべて」に対する読み込みアクセスを持つ必要があります詳細については、アプリケーションオブジェクトを実行可能にするを参照してください。 |
変更 |
オブジェクトの場合、オブジェクトを変更できるユーザを制限します。データベースまたはディレクトリの場合、新しいチャイルドオブジェクトを追加できるユーザを制限します。 サーバへの不適切な変更を防ぐには、ディレクトリへの変更許可を持つユーザを慎重に確認します。 |
実行 (データベースおよびディレクトリの場合、[デフォルトの実行]) |
選択されたデータベースまたはディレクトリ内で、アプリケーションオブジェクト(J2EEアーカイブなど)を実行できるユーザを制限します。 通常、エンドユーザはオブジェクトに対する実行許可を与えられています。 個々のアプリケーションオブジェクトに設定されている許可は、データベースまたはディレクトリに設定されている許可より上書きされます。 |
許可の設定 |
オブジェクトに関するアクセス制御の情報を変更できるユーザを制限します。たとえば、管理者のみがオブジェクトのセキュリティプロパティを変更できるように設定できます。 |
サーバリソースは、そのタイプによって制限できる許可も異なります。
デフォルトでは、「サーバ管理操作とデータベースオブジェクト」へのアクセスは、管理者グループのメンバーのみに制限されています。サーバとオブジェクトに対するデフォルトのセキュリティを参照してください。
階層内のほとんどの「ディレクトリレベル」では、読み込み、書き込み、実行、および許可の設定といったアクセス権を設定できます。階層内のオブジェクトまたはリソースも同様の方法で保護できます。
「データベースレベル」でアクセス権を定義した場合、すべてのデータベースを表示できますが、展開したり開いたりできるのは、読み込みアクセスを持つデータベースのみです。
名前の付けられた「オブジェクト」のコンテンツに対する要求は、そのオブジェクトに設定された許可に基づいて制限されることがあります。
「セキュリティアクセス権」を変更できるのは、展開データベースのディレクトリまたはオブジェクトに対し、許可の設定権限を持つ場合のみです。その場合、特定のアクセス式を使用して制限をさらに変更できます。
許可タブの下部にある[このディレクトリ以下全体に適用する]ラジオボタンをオンにすると、「複数のディレクトリの保護」を設定できます。必要に応じて、選択したオブジェクトに対して[アクセス時にログインを要求する]チェックボックスを有効にできます。
詳細については、アプリケーションオブジェクトを実行可能にするを参照してください。
オブジェクトのセキュリティは、SMCで許可を設定することにより、サーバレベル、クラスタレベル、ディレクトリレベル、またはオブジェクトレベルで変更できます。
注記: SMCでの許可の設定に加え、『機能ガイド』の「SilverCmdリファレンス」で説明されている、SilverCmdのセキュリティ設定を使用すると、いくつかのタイプの許可を設定することもできます。
SMCの表示が変わります。SMCで管理されているすべてのクラスタ、サーバ、およびデータベースが展開可能になり、コンテンツをリストで表示して、適切なレベルで許可を設定することができるようになります。
オブジェクトまたはディレクトリを選択し、許可のタイプの説明に従って、許可を設定します。
複数オブジェクトでの許可の設定 同じタイプのオブジェクトが同じサーバ上で1つのディレクトリにある場合に限り、一度に複数のオブジェクトに対して許可を設定できます。隣接するエントリは<Shift>キーを、隣接していないエントリは<Ctrl>キーを押しながらクリックし、選択したオブジェクトに許可を設定します。
許可の範囲とログイン要求の設定 [許可]パネルの下部に表示されるラジオボタンは、ディレクトリまたはオブジェクトのいずれを選択しているかによって異なります。ボタンで表示されるオプションは、次の表のとおりです。
ラジオボタンによるオプション |
説明 |
選択している対象 |
---|---|---|
このディレクトリだけに適用する |
選択したディレクトリにのみ許可を適用します。この設定は、ディレクトリ構造の新しいオブジェクトに対するデフォルトの設定になります。 ディレクトリ内の既存のオブジェクトに対する許可は変更されません。 |
ディレクトリを選択している場合のみ |
このディレクトリ以下全体に適用する |
選択したディレクトリ、そのディレクトリにあるすべての既存のオブジェクト(サブディレクトリを含む)、および新しいオブジェクトに対し、許可を適用します。 既存のオブジェクトに対する既存の設定より優先されます。 |
|
アクセス時にログインを要求する |
オブジェクトにアクセスしようとしているユーザに対し、クライアント証明書またはログインによって認証を要求します。 認証はオブジェクト単位で設定されます。サーバレベルで認証を要求することもできます。認証の有効化を参照してください。 |
オブジェクトを選択している場合のみ |
フォームの各タブは、選択したディレクトリまたはオブジェクトに適用する許可のタイプを示していますアクセスを制限するには、タブを選択し、[無制限]をオフにしてから、[簡潔なリスト]または[詳細な式]のいずれかを選択します。
CAUTION: [無制限]チェックボックスをオフにした場合、[簡潔なリスト]または[詳細な式]を必ず選択してください。そうしないと、誰もアクセスできなくなります。[簡潔なリスト]の以前のエントリがすべてクリアされている場合にも、同じ問題が起こります。サーバに対する読み込みアクセスを持っているユーザがいない場合は、-aコマンドラインオプションを使用してSilverMasterInitを実行することができます。詳細については、SilverMasterInitプログラムの使用を参照してください。
[簡潔なリスト]では、セキュリティプロバイダに認知されており、プロバイダ設定で定義されたアクセス許可を持つユーザおよびグループを指定できます。
[簡潔なリスト]はデフォルトの設定です。フォームで、許可を与えるユーザまたはグループを選択し、[>]をクリックします。すべてのユーザまたはグループを選択するには、[>>]をクリックします。選択したユーザまたはグループが右側のリストボックスに表示されます。
注記: グローバルグループ(NTユーザマネージャで指定)を含むローカルグループが、グループ名ではなく個々のメンバー名でSMCに表示されます。詳細については、NTセキュリティの使用を参照してください。
特定の条件に基づいたアクセスを指定する式を作成するには、[詳細な式]を使用します。詳細な式を使用するには、[簡潔なリスト]ではなく、[詳細な式]を選択します(簡潔なリストを使用するを参照)。式には、次のいずれかを含めることができます。
day ()メソッドを使用して、オブジェクトに対する週末のアクセスを禁止します(day ()関数により、0~6の数値が返されます。ここでは、0は日曜日、1は月曜日を示します)。
day(now()) >= 1 and day(now())<= 5
同様に、次の式では、月曜日から金曜日における9:00 a.m.から5:00 p.mの間を除き、オブジェクトへのアクセスを禁止します。
(day(now()) >= 1) and (day(now()) <= 5) and (hour(now()) >= 9) and (hour(now()) <= 17)
式ビルダでは、セキュリティ式での「UUID (Universally Unique Identifiers)」の使用がサポートされています。UUIDを使用すると、単純な整数のIDよりもさらに安全なセキュリティシステムを確立できます。UUIDは単純なセキュリティ式でデフォルトで使用されますが、詳細な式でも使用可能です。
UUID式は、式ビルダに直接入力するか、式ビルダの[関数]パネルにある[ID]セクションから選択することができます。
例 UUIDを使用したセキュリティ式の例は、次のとおりです。
この例では、Silver Securityユーザの「administrator」と「bobh」へのアクセスを制限します。
userID() in (userID(\qadministrator\q),userID(\qbobh\q))
この例では、Silver Securityユーザの「bobh」と、NTドメインのDEVAにいるNTユーザの「JWilkins」へのアクセスを制限します。
userID() in (userID(\qbobh\q),userID(\qDEVA\\JWilkins\q))
この例では、Silver Securityユーザの「administrator」と、Silver Securityの開発者グループ内のユーザへのアクセスを制限します。
userID() in (userID(\qadministrator\q)) or userID() userin (groupID(\qDevelopers\q))
この例では、Silver Securityユーザの「administrator」と、NTの経理グループ(DEVAドメインに存在する)にいるユーザへのアクセスを制限します。
userID() in (userID(\qadministrator\q)) or userID() userin (groupID(\qDEVA\\Accounting\q))
展開データベースのセキュリティを保護する場合、ユーザが展開済みのアプリケーション(EAR、WAR、およびEJB JARなど)を実行できるかどうかを確認する必要もあります。
J2EEアーカイブは、展開データベースの[展開オブジェクト]ディレクトリに展開されます。このため、展開するユーザには、そのディレクトリへの[書き込み]許可が必要です。
ユーザが展開済みのアーカイブを実行できるようにするには、通常そのユーザに、制限のないディレクトリレベル(ディレクトリ以下全体を含む)での[実行]許可を割り当てます。
重要: 前のすべてのタブで、[このディレクトリ以下全体に適用する]チェックボックスをオンにします。
[読み込み]許可のタブで、[無制限]チェックボックスをオンにします。ただし、[このディレクトリ以下全体に適用する]をオンにはしないでください。
ユーザがアクセスするアプリケーションの主なディレクトリのすべてに、同じ[読み込み]許可の設定(Step 8を参照)を適用します。これらの設定により、ユーザにペアレントディレクトリレベルのアクセスが与えられますが、それらのディレクトリ内にある個々のオブジェクトへのアクセスは制限されます。
インストール時のデフォルトを選択すると、SilverMasterデータベースはアプリケーションサーバにより初期化されます。SilverMasterへのアクセスが制限されている場合、すべてのユーザ(管理者グループ所属のユーザは除く)は、管理操作へのアクセス、データベースの追加、およびディレクトリリストのブラウズができなくなります。アプリケーションサーバが制限された運用環境で実行されている場合、サーバにアクセスしようとするすべてのユーザに対して認証が要求されます。
インストール時に[Novell exteNd Application Serverへのアクセスを制限する]オプションを選択していない場合、サーバのリソースはロックされません。[無制限]アクセスでアプリケーションサーバをインストールすると、許可を設定してアクセスをロックしない限り、不正なユーザが管理操作を実行したり、ディレクトリリストをブラウズしたりすることができます。
サーバをロックするための他の方法については、サーバをロックする方法を参照してください。
オブジェクトに対するデフォルトのセキュリティは次のとおりです。
特定のアクセスを「ディレクトリ」レベルで指定すると、それがそのディレクトリ内で新しく作成されるオブジェクトに対するデフォルトのアクセスになります。ディレクトリは、1つのタイプのオブジェクト(たとえば、「展開オブジェクト」)のコンテナです。SMCで[許可]パネルを選択している場合、ディレクトリを展開してコンテンツを表示することができます(これは、そのディレクトリに対する読み込み許可を持っていることが前提です)。新しく作成されたオブジェクトは、すぐ上のペアレントオブジェクトのセキュリティアクセスを継承します。
インストールでは、SilverMasterInitにより、2つの定義済みグループ(管理者と開発者)が作成され、両グループに対する許可が設定されます。 サーバには、すべてのユーザがログインする必要があります。デフォルトでは、サーバの管理操作へのアクセスは、ロックされているサーバに対するSilver Securityの管理者グループのメンバーに限定されます。管理リソースへのアクセス(SMCの使用、セッションや統計情報の表示、またはユーザとグループの追加と削除などを行う権利)は、このグループのメンバーにのみ与えられます。
通常、オブジェクトの読み込みを許可するユーザと、オブジェクトへの書き込みを許可するユーザは別に設定します。実行許可を持つグループとして、別のグループ(エンドユーザなど)を指定することもできます。
定義済みのSilver Securityグループの詳細については、Silver Securityのユーザおよびグループについてを参照してください。
注記: デフォルトでは、ユーザはSilverMasterデータベースとディレクトリのトップレベルに対する読み込みアクセスを持ち、既存の展開データベースにログインしてアクセスすることができます。
詳細については、アプリケーションオブジェクトを実行可能にするを参照してください。
展開や展開のプロセスでは、展開データベース、サーバ、またはクラスタ全体、あるいはこれらすべてを「ロック」する必要が生じます。これらをロックすると、適切なアクセス許可を確実に設定することによって、運用や展開の環境を保護することができます。
たとえば、アプリケーションを展開する場合、展開データベースをロックして自分以外のアクセスを完全に遮断し、その後、運用環境で必要に応じて徐々にロックを解除していきます。
警告: インストール時に[Novell exteNd Application Serverへのアクセスを制限する]オプションを選択していない場合、サーバのリソースはロックされません。アプリケーションのロックや展開の準備が整っていない場合でも、サーバを「ロック」する必要があります。
サーバへのアクセスを制限するための方法を説明している節は、次のとおりです。
管理者グループのメンバーに対し、[サーバ環境設定の読み込み]、[サーバ環境設定の変更]、[ディレクトリリストの読み込み]、[ユーザとグループの読み込み]、および[許可の設定]の許可をサーバレベルまたはクラスタレベルで制限します。
SilverMasterデータベースを選択し、管理者グループのメンバーに対して[読み込み]、[変更]、および[許可の設定]の許可を制限し、その制限をすべての子孫に適用します。
SilverMasterデータベースに、無制限の[読み込み]アクセスを設定して、ユーザが(適切な許可で)他のデータベースにアクセスしたり、サーバにログインしたりできるようにします。
詳細については、セキュリティチェックリストの手順9:SilverMasterデータベースの保護を参照してください。
アプリケーションサーバには、SilverCmd SetSecurityコマンドの入力ファイルである、XMLファイルのサンプルが3つ(サーバの\Samples\SilverCmdディレクトリに)含まれています。これらのファイルには、SilverCmdを使用してアプリケーション、サーバ、またはクラスタをロックする方法が示されています。すべてのファイルには、使用方法が詳細に記載されています。
SilverCmdの使用の詳細については、『機能ガイド』の「SilverCmdリファレンス」を参照してください。
実装するセキュリティのレベルとタイプは、その企業の規模とニーズにより異なります。アプリケーションを展開する段階では(またはすでに展開している場合でも)、ここで説明するセキュリティチェックリストの各手順を実行して、運用環境を確実に保護する必要があります。
インストール時のデフォルトを選択している場合、SilverMasterデータベースへのアクセスはアプリケーションサーバにより制限されます。SilverMasterへのアクセスが制限されている場合、不正なユーザが管理操作へアクセスしたり、ディレクトリリストをブラウズしたりすることはできません。
アプリケーションの開発中に、特定のアプリケーションやディレクトリに対するアクセスをすでに許可している場合があります。アプリケーションを構築した場合、「すべて」のリソースが不正なユーザによるアクセスから保護されているかどうかを確認するのは管理者の役割です。
ヒント: サイトのセキュリティをテストするには、各手順に示されているテストを実行します。
アプリケーションサーバが、企業で使用している「ファイアウォールで保護された状態で」インストールされていることを確認します。
詳細については、サーバ環境設定を参照してください。
アプリケーションサーバに、各展開データベースへの接続に使用する固有のデータベースアカウントを設定します。
SSLによる通信を使用する場合、サーバ証明書を取得してサーバにインストールします。また、SSLのみを使用する場合は、RSAまたはDSA、あるいはその両方を有効にし、HTTPを無効にする必要があります。
詳細については、証明書の使用を参照してください。
セキュリティを追加している場合、ランタイムと管理のポートを別に設定します。サーバでは、HTTP、HTTP-RSA、およびHTTPS-DSAのセキュリティプロトコルがサポートされます。設定する各固有ポートでは、関連付けられていないURLと操作は除外されます。個別のポートは、サーバの許可の設定と連動するように設計されます。
詳細については、個別のポートの設定を参照してください。
ユーザとグループの情報は、Silver Securityを使用して指定するか、外部のセキュリティシステムから取得できます。Silver Securityの場合、情報はすべてSilverMasterデータベースに保存されます。外部セキュリティの場合、情報はすべて外部システムより取得されます。いずれの場合も、ディレクトリとオブジェクトにアクセスを指定します。
詳細については、Silver Securityのユーザおよびグループの管理を参照してください。
SilverMasterデータベースのすべてのリソースに対する[実行]アクセスを制限する場合、サーバレベルで[ユーザの認証を必須にする]を有効にする必要があります。それ以外の場合は、ユーザ認証の要求はオプションです。
ユーザがログインせずにまたは証明書を送信せずに、サーバにアクセスできる場合、ユーザは匿名です。通常は、匿名ユーザがサーバに初めてアクセスするときに、証明書またはユーザIDとパスワードのセットを要求して認証を強制することにより、匿名ユーザのアクセスを禁止することが望まれます。ログインはオブジェクト単位で要求することもできます。
匿名ユーザによるサイトへのアクセスの可能性をチェックするには、次のようなアプリケーションへのURLをブラウザに入力します。
http://localhost/
ブラウザに「ログインダイアログボックス」が表示される場合、サイトは匿名ユーザに認証を要求します。
「デフォルトのページ」またはサイトのディレクトリコンテンツの「リスト」(または「読み込みアクセスが拒否されました」というメッセージ)が表示される場合、サイトは匿名のユーザのアクセスを許可しています。このような場合、次に示すユーザの認証を要求するための手順を実行します。
詳細については、認証の有効化を参照してください。
ユーザがブラウザから特定のURLを要求すると、アプリケーションサーバはディレクトリのリストを表示します。ディレクトリエントリの表示がサイトの保護上、重要でない場合でも、これらのリストの表示を防ぐ場合があります。
不正なユーザがHTMLのディレクトリリストとHTML以外のディレクトリリストにアクセスできるかどうかを確認するには、次の2つの手順を実行します。
HTMLディレクトリリストが有効かどうかを確認する(およびオプションで無効にする)
ブラウザで、次のような、サーバのディレクトリのURLを入力します。
http://localhost/SilverStream/Meta/
HTMLディレクトリリストが「保護されている」場合、次のエラーメッセージが表示されます。
指定されたリソースの読み込みは許可されていません。 このエラーに関する追加の詳細情報があります。
HTML以外のディレクトリリストが有効かどうかを確認する(およびオプションで無効にする)
http://localhost/SilverStream/Meta/?access-mode=text
HTML以外のディレクトリリストが「保護されている」場合、次のエラーメッセージが表示されます。
指定されたリソースの読み込みは許可されていません。 このエラーに関する追加の詳細情報があります。
ディレクトリのコンテンツがプレーンテキストで表示される場合、次の手順に従って、ディレクトリリストへのアクセスを無効にできます。
管理リソースのサーバ設定の読み込みに関する設定を確認するでの説明に従って、[ディレクトリリストの読み込み]許可を設定し、アクセスを制限します。
詳細については、認証の有効化を参照してください。
「管理リソース」では、管理設定を表示、修正、および変更する権限(および設定にアクセスする許可)を制御します。管理リソースへの許可を制限することにより、サーバオブジェクトを保護できます。管理リソースのセキュリティを設定すると、不正なユーザが管理操作を実行することはできなくなります。
次の2種類のテストを実行して、サーバへのアクセスを確認します。ただし、テストURLが保護されたサーバの情報にアクセスできない場合でも、管理リソースのセキュリティの設定により、適切なユーザへのアクセスが正しく制限されているかどうかをSMCを使用して確認する必要があります。
匿名ユーザとして、アプリケーションオブジェクトの表示と変更を試します。
読み込みアクセスが拒否されました。 このエラーに関する追加の詳細情報があります。
アプリケーションオブジェクトを表示したり、変更したりできる場合、管理アクセスを保護するの手順を「直ちに」実行する必要があります。
http://localhost/SilverStream/Administration/
読み込みアクセスが拒否されました。 このエラーに関する追加の詳細情報があります。
サイトに固有のサーバプロパティ(次のテキストサンプルと類似した)がプレーンテキストのリストで表示される場合、サイトは保護されていません。
com.sssw.loadbalancer.connect.tryInterval=30 com.sssw.srv.server=exteNd ApplicationServer/5.0 com.sssw.srv.http.ClientPool.minIdle=0 com.sssw.loadbalancer.connect.sleepCount=10 com.sssw.srv.http.ClientPool.minFree=10
サイトの管理リソースが保護されていない場合、管理アクセスを保護するの手順を「直ち」に実行する必要があります。
警告: 管理リソースへのアクセスが制限されていないことが判明した場合、各データベースに対するユーザ名とパスワードを直ちに変更する必要があります。この手順により、リソースへのアクセスが制限されていなかったときにこの情報にアクセスしていたユーザは、今後アクセスできなくなります。
選択したタブで、ユーザとグループを選択するか、許可を割り当てるユーザを指定する式を入力します。5つのタブ(管理サーバの許可の表を参照)のすべてで、「管理者」グループのメンバーにアクセスを制限する必要があります(デフォルトでは、開発者と管理者の両方に与えられています)。
詳細については、許可のタイプを参照してください。
SilverMasterデータベースを保護する際には、特別な注意が必要です。ユーザやグループの情報といったリソースを保存することに加え、SilverMasterでは、サーバが使用できる他のすべての展開データベースに関するログインのリソースとリファレンスも保存されます。
アプリケーションが適切に制御されていない場合、通常SilverMasterデータベースに対しては読み込みの制限を適用しません。SilverMasterデータベースのトップレベルへの読み込みアクセスを許可し、ユーザがサーバ上のすべてにアクセスできるようにする必要があります。メインディレクトリレベル以下のすべてのリソースをロックする場合もあります。
SilverMasterデータベースへの読み込みアクセスを誤って制限してしまった場合、[サーバセキュリティ]パネルで、[ユーザの認証を必須にする]を有効にします。認証の要求を忘れた場合、-aオプションでSilverMasterInitを実行し、コマンドラインからのユーザ認証を有効にします。認証の変更を有効にするには、サーバを再起動する必要があります。
SilverMasterデータベースへのアクセスをテストする
不正なユーザからのSilverMasterデータベースへのアクセスが可能かどうかを確認するには、手順10:展開データベースの保護の説明に従います。
この中のStep 4で、アクセスを制限したと思われるSilverMasterデータベースを選択します。SilverMasterデータベースのペアレントレベル以下に保存されているオブジェクトを選択し、アクセスをテストします。
メインディレクトリレベル以下のSilverMasterリソースをロックする
[読み込み]、[変更]、および[許可の設定]を管理者グループのメンバーに制限し、[このディレクトリ以下全体に適用する]ラジオボタンをオンにします。許可の設定の詳細については、管理サーバの許可の表を参照してください。
SilverMasterデータベースを再度選択し、無制限の[読み込み]アクセスを設定します(このとき、[このディレクトリだけに適用する]が選択されていることを確認します)。
SilverMasterの下層で展開されているディレクトリとサブディレクトリ(たとえば、[展開オブジェクト])で、Step 6とStep 7を繰り返します。
詳細については、展開データベースの設定を参照してください。
ディレクトリとオブジェクトへの許可を設定して、展開データベースへのユーザのアクセスを制限する必要があります。
許可の設定の理解 許可の設定は、ディレクトリ、すべてのサブディレクトリ、およびディレクトリ内またはサブディレクトリ内のすべてのオブジェクトに適用されます。各アプリケーションについて、各オブジェクトを確認し、階層の各ディレクトリベルで読み込み、書き込み、デフォルトの実行、および許可の設定のアクセスを許可するユーザを指定します。階層内の各オブジェクトまたはリソースを保護する必要があります。
制限を設定しない限り、すべてのユーザが「オブジェクト」に対する完全なアクセス許可を持つことになります。「ディレクトリ」に特定のアクセスを指定すると、それがそのディレクトリ内で新しく作成されるオブジェクトに対するデフォルトのアクセスになります。SMCで[許可]パネルを選択している場合、ディレクトリを展開してコンテンツを表示することができます(これは、そのディレクトリに対する読み込み許可を持っていることが前提です)。許可のタブの下部にある[このディレクトリ以下全体に適用する]ラジオボタンをオンにすると、複数のディレクトリの保護を設定できます。必要に応じて、選択したオブジェクトに対して[アクセス時にログインを要求する]チェックボックスを有効にできます。
注記: アプリケーションオブジェクトにEJBが含まれている場合、オブジェクトディレクトリのペアレントディレクトリ(およびすべての子孫)に対する読み込みアクセスの制限を解除する必要があります。これは、アプリケーションによって読み込まれる必要のあるクラスがオブジェクトディレクトリに含まれているためです。
データベースオブジェクトへのアクセスをテストする(およびオプションで保護する)
左側のパネルから、ディレクトリ構造のペアレントレベルの下層に保存されている、制限する必要があると思われるオブジェクトを選択します。
各タブをクリックし、このオブジェクトに対するアクセスを持つユーザを確認します。許可の制限が正しく設定されていない場合、次の手順を実行します。
詳細については、データベースオブジェクトの許可およびアプリケーションオブジェクトを実行可能にするを参照してください。
J2EEアーカイブを展開する際、展開記述子に指定されたセキュリティ役割を運用環境のセキュリティプリンシパルにマップします。たとえば、Beanの開発者が3種類のセキュリティ役割を指定している場合、これらの同じ役割がターゲットサーバ上のセキュリティグループまたは個々のユーザにマップされる必要があります。(管理を容易にするため)役割をグループにマップする場合、グループのメンバーシップを確認する必要があります。
「ロボット」は、検索エンジンやWebクローラのような、リンクされたページを再帰的に取得することによってWebサイト上のたくさんのページを移動できるプログラムです。アプリケーションサーバでは、一般的に使用されている「ロボット排除プロトコル」がサポートされます。これにより、排除プロトコルに準拠したロボットがWebサイト内のどのファイルとディレクトリにアクセスできるかを指定できます。
注記: ロボット排除プロトコルは完全に任意です。ロボットがプロトコルに準拠するかどうかは確実ではありませんが、ほとんどの場合、準拠しています。
この排除プロトコルでは、ロボットのアクセスポリシーはrobots.txtというファイルに指定されます。robots.txtファイルはアプリケーションサーバに付属しており、ロボットにサーバのルートより下層に進まないように指示します(つまり、排除プロトコルに準拠するすべてのロボットへのアクセスはすべて拒否されます)。したがってデフォルトでは、プロトコルに準拠するロボットによるWebサイトへのアクセスはすべて拒否されます。
robots.txtを変更して、ロボットに許可するアクセスを指定することができます。たとえば、あるディレクトリのみに対する検索エンジン型のアクセスを許可する場合などがあります。
サーバの\Resourcesディレクトリで、robots.txtを編集します。
プロトコルの形式とセマンティック(例を含む)の詳細については、http://www.robotstxt.org/wc/robots.htmlを参照してください。
プロトコルに準拠しているロボットが、次回にサーバからのアクセスポリシーを要求したとき、更新されたrobots.txtが読み込まれ、情報がルートに返信されます。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...