Solaris WBEM 開発ガイド

第 8 章 セキュリティの管理

この章では、WBEM のセキュリティ機構と CIMOM (CIM オブジェクトマネージャ) が実施する機能について説明します。

この章では、次の内容について説明します。

WBEM のセキュリティ機構

WBEM は、そのデータへのセキュリティ保護されたアクセスを確保するために、次のようないくつかの機構を採用しています。

ここに挙げたそれぞれの機構について、このあと詳しく説明します。

クライアントの認証

クライアントアプリケーションが CIMOM サーバーに接続するときには、WBEM サーバー上の CIMOM によってクライアントのユーザー ID が認証されなければなりません。ユーザーの WBEM クライアントは、Solaris OS ユーザー ID とそのログインパスワードを提供する必要があります。ID と資格情報は、クライアントと WBEM サーバー間のセキュリティ認証交換で使用されます。この交換により、クライアントが WBEM サーバーシステムへのログインを許可された有効な Solaris OS ユーザーであるかどうかを検証します。

WBEM サーバーがユーザーの ID と資格情報を検証できない場合や、ユーザー ID が無効な場合、WBEM サーバーは CIM セキュリティ例外を返します。この例外には、NO_SUCH_PRINCIPAL エラーが含まれます。

WBEM サーバーがユーザーの ID と資格情報を検証できない場合や、ユーザーのパスワードが無効な場合、WBEM サーバーは CIM セキュリティ例外を返します。この例外には、INVALID_CREDENTIAL エラーが含まれます。

役割の引き受け

役割 ID を引き受けられるのは、WBEM ユーザーが Remote Method Invocation (RMI) プロトコルを選択した場合だけです。役割の引き受けは、XML over HTTP プロトコルではサポートされません。

Solaris プラットフォームでの WBEM 実装は、クライアントが Solaris OS の役割 ID を引き受ける機能をサポートします。クライアントは、Solaris OS の役割 ID を引き受けるときに、WBEM サーバー上の CIMOM による認証を受けます。RBAC 承認を確認する際、WBEM サーバーは、役割を引き受けるユーザーの ID に許可されたアクセス権ではなく、役割に許可されたアクセス権を使用します。

RBAC の役割については、『Solaris のシステム管理 (セキュリティサービス)』の「役割によるアクセス制御 (概要)」を参照してください。

クライアントは、接続しようとするときに、Solaris OS のユーザー ID とパスワードに加えて、Solaris OS の役割 ID とパスワードを入力する必要があります。

WBEM サーバーが Solaris OS の役割 ID を検証できない場合、WBEM サーバーは、NO_SUCH_ROLE エラーの入った CIM セキュリティ例外を返します。

引き受けた役割 ID に対して役割のパスワードが無効な場合、WBEM サーバーは、INVALID_CREDENTIAL エラーで CIM セキュリティ例外を返します。

役割 ID と役割のパスワードが有効であっても、ユーザーがその役割を引き受けることを許可されていない場合、WBEM サーバーはCANNOT_ASSUME_ROLE エラーで CIM セキュリティ例外を返します。

セキュリティ保護されたメッセージング

CIM RMI プロトコルでは、クライアントから WBEM サーバーに渡される個々の要求に、メッセージデータから構築されたメッセージオーセンティケータが含まれます。認証交換の間に確立されたセッションキーと共に、一方向ダイジェストも作成されます。

WBEM サーバーは、このメッセージオーセンティケータを検証します。これにより、要求が認証済みのクライアントからのものであり、メッセージがサーバーに届くまでの間に変更または再送信されていないことが保証されます。

元のクライアント以外のクライアントによって変更、再送信、または作成されたメッセージを検出すると、WBEM サーバーは CIM セキュリティ例外を返します。この例外には、CHECKSUM_ERROR エラーが含まれます。さらに、WBEM サーバーは、ログメッセージを WBEM ログに書き込みます。

承認

接続が確立すると、WBEM サーバーは CIM クライアントとのそれ以降の操作におけるすべての承認検査について、認証されたユーザーまたは役割 ID を使用します。

WBEM は、次の機構により、2 種類の承認検査をサポートします。

WBEM がどの承認検査機構を使用するかは、MOF クラスプロバイダがどのように実装されているかに応じて決まります。WBEM が特定の MOF クラス操作で使用する承認検査は、次の要因によって決まります。

Solaris_Acl.mof で定義されているクラスは、WBEM の ACL ベースのセキュリティを実装します。WBEM の ACL ベースのセキュリティは、Solaris WBEM サービスにデフォルトの承認スキーマを提供します。WBEM ベースのセキュリティは、特定の状況で、特定の CIM 操作セットに適用されます。ACL ベースのセキュリティは、Solaris WBEM サービスによって提供される固有の機能です。

WBEM サーバー上の特定の名前空間について ACL を確立するには、Sun WBEM ユーザーマネージャ (wbemadmin) を使用します。Sun WBEM ユーザーマネージャを使って、名前空間の ACL に、ユーザー名または役割名を追加できます。ユーザーごとに読み取り権や書き込み権を割り当てることもできます。Sun WBEM ユーザーマネージャについては、「Sun WBEM ユーザーマネージャを使ってアクセス制御を設定する」、および wbemadmin(1M) のマニュアルページを参照してください。

書き込み権のあるユーザーは、クラスのメタデータの変更、その名前空間にある MOF クラスのインスタンスの変更、およびインスタンスに対する呼び出しメソッドの発行が可能です。ローカル WBEM サーバーの root ユーザー ID には、いつでも、サーバー上の名前空間すべてに対する書き込み権が許可されます。明示的な ACL 項目のない、すべての認証されたユーザーには、デフォルトで読み取り権が許可されます。

MOF クラスのメタデータのアクセスを含む操作 (たとえば、getClass) は、WBEM の ACL を使用します。これらの操作では、認証されたユーザーに対し、この MOF クラスを含む名前空間の ACL によって許可されたアクセス権が検査されます。ACL 項目に RBAC の役割を設定することもできますが、ACL 項目はいつもユーザー ID に対して検査され、役割 ID に対しては検査されません。つまり、ACL に役割名を設定することはできますが、CIMOM は実行時にその役割名を検査しないということです。

MOF クラスのインスタンスが関係する操作には、WBEM ACL か RBAC 承認のいずれかの検査が含まれる可能性があります。

また、ユーザー、または役割 ID にアクセス権を許可して、プロバイダが RBAC 承認を使用している MOF クラスのインスタンスをそのユーザーがアクセスおよび変更できるようにすることもできます。これらのアクセス権を許可するには、Solaris 管理コンソールのユーザーツールに含まれる権利ツールを使用します。ユーザーへのアクセス権の許可については、『Solaris のシステム管理 (セキュリティサービス)』の「権利プロファイルを作成または変更する方法」を参照してください。

MOF クラスのインスタンスが WBEM の永続的なデータストアに格納されている場合、CIMOM は、その MOF クラスを含む名前空間についての WBEM ACL を検査します。MOF クラスプロバイダの実装は、次の条件下では、ほぼ確実に RBAC 承認検査を行います。

一般に、MOF クラス定義にプロバイダ修飾子が含まれている場合、プロバイダの実装は通常、RBAC 承認検査を行います。MOF クラス定義にプロバイダ修飾子が含まれていない場合、CIMOM は次のことを実行します。

監査

WBEM サーバーは、処理中に特定のイベントについて監査レコードを書き込みます。たとえば、クライアント認証が成功または失敗したとき、およびユーザー情報を変更する操作が実行されたときにはいつでも、WBEM サーバーは監査レコードを書き込みます。

WBEM サーバーは、基本となる Solaris Basic Security Module (BSM) を使用して監査レコードを書き込みます。監査情報が確実に記録されるようにするには、WBEM サーバー上の Solaris OS で BSM の監査機構 (bsmconv) を有効にする必要があります。bsmconv コマンドについては、bsmconv(1M) のマニュアルページを参照してください。


注 –

Trusted SolarisTM ソフトウェアを使用している場合は、BSM の監査機構を有効にする必要はありません。


ロギング

WBEM サーバーは、特定のセキュリティイベントが発生すると、WBEM ログにログレコードを書き込みます。たとえば、クライアントの認証済みセッションが確立された場合や承認が失敗した場合などです。WBEM ログは、Solaris 管理コンソールのログビューアで調べることができます。ログビューアについては、第 9 章「問題発生時の解決方法」を参照してください。

セキュリティ関連のログイベントは、カテゴリが「セキュリティ (Security)」のログによって見分けることができます。カテゴリは、「カテゴリ (Category)」列に表示されます。セキュリティ関連のログメッセージだけを表示するには、ログビューアのログフィルタダイアログボックスで「セキュリティ (Security)」というカテゴリを選択します。ほとんどのセキュリティログメッセージには、クライアントのユーザー ID とクライアントホストの名前が含まれています。

Sun WBEM ユーザーマネージャを使ってアクセス制御を設定する

Sun WBEM ユーザーマネージャ (wbemadmin) では、ユーザー自身や、特権を持つその他のユーザーが、以下の操作を実行できます。


注 –

アクセス制御を指定するユーザーは、Solaris OS ユーザーアカウントを持っていなければなりません。


Sun WBEM ユーザーマネージャで実行できることと実行できないこと

アクセス特権は、個々の名前空間、またはユーザーと名前空間の組み合わせに対して設定できます。ユーザーを追加し、名前空間を選択すると、そのユーザーには、選択した名前空間内の CIM オブジェクトに対する読み取り権がデフォルトで許可されます。


注 –

ユーザーのアクセス権と名前空間のアクセス権を効果的に組み合わせたい場合は、まず名前空間へのアクセスを制限します。次に、個々のユーザーに、その名前空間に対する読み取り権、読み取り/書き込み権、または書き込み権を許可します。


個々の管理対象オブジェクトにアクセス権を設定することはできません。しかし、ある名前空間内のすべての管理対象オブジェクトにアクセス権を設定したり、ユーザーごとにアクセス権を設定したりすることはできます。

root としてログインすると、CIM オブジェクトに対して次のような種類のアクセス権を設定できます。

Sun WBEM ユーザーマネージャの使用方法

この節では、Sun WBEM ユーザーマネージャを起動して使用する方法を説明します。

ProcedureSun WBEM ユーザーマネージャを起動する方法

手順
  1. スーパーユーザーになります。

  2. コマンドウィンドウで、次のコマンドを入力します。


    # /usr/sadm/bin/wbemadmin
    

    Sun WBEM ユーザーマネージャが起動し、「ログイン (Login)」ダイアログボックスが表示されます。


    注 –

    「ログイン (Login)」ダイアログボックスのいずれかのフィールドをクリックすると、そのコンテキストヘルプ情報が「コンテキストヘルプ (Context Help)」パネルに表示されます。


  3. 「ログイン (Login)」ダイアログボックスの各フィールドに情報を入力します。

    1. 「ユーザー名 (User Name)」フィールドに、ユーザー名を入力します。


      注 –

      ログインするには、root\security 名前空間に対する読み取り権が必要です。デフォルトでは、Solaris OS ユーザーはゲスト特権を持っているため、デフォルトの名前空間に対する読み取り権が許可されています。読み取り権を持つユーザーは、ユーザー特権を表示することはできますが、変更することはできません。

      ユーザーにアクセス権を許可するためには、root としてログインするか、root\security 名前空間に対する書き込み権を持つユーザーとしてログインする必要があります。


    2. 「パスワード (Password)」フィールドに、ユーザーアカウントのパスワードを入力します。

  4. 「了解 (OK)」をクリックします。

    「ユーザーマネージャ (User Manager)」ダイアログボックスが開きます。このダイアログボックスには、ユーザー名と、現在のホスト上の名前空間内の WBEM オブジェクトに対するアクセス権の一覧が表示されます。

Procedureユーザーにデフォルトのアクセス権を許可する方法

手順
  1. Sun WBEM ユーザーマネージャを起動します。

  2. ダイアログボックスの「ユーザーアクセス (Users Access)」の部分で、「追加 (Add)」をクリックします。

    使用できる名前空間の一覧を表示したダイアログボックスが開きます。

  3. 「ユーザー名 (User Name)」フィールドに、Solaris OS ユーザーアカウントの名前を入力します。

  4. 表示された名前空間の中から名前空間を 1 つ選択します。

  5. 「了解 (OK)」をクリックします。

    このユーザー名が「ユーザーマネージャ (User Manager)」ダイアログボックスに追加されます。

  6. 変更を保存し、「ユーザーマネージャ (User Manager)」ダイアログボックスを閉じるには、「了解 (OK)」をクリックします。変更を保存し、ダイアログボックスを開いたままにするには、「適用 (Apply)」をクリックします。

    指定したユーザーに、選択した名前空間内の CIM オブジェクトに対する読み取り権が許可されます。

Procedureユーザーのアクセス権を変更する方法

手順
  1. Sun WBEM ユーザーマネージャを起動します。

  2. アクセス権を変更するユーザーを選択します。

  3. ユーザー特権を設定します。ユーザーに読み取り専用のアクセス権を許可するには、「読み取り (Read)」チェックボックスをクリックします。ユーザーに書き込み権を許可するには、「書き込み (Write)」チェックボックスをクリックします。

  4. 変更を保存し、「ユーザーマネージャ (User Manager)」ダイアログボックスを閉じるには、「了解 (OK)」をクリックします。変更を保存し、ダイアログボックスを開いたままにするには、「適用 (Apply)」をクリックします。

Procedureユーザーのアクセス権を削除する方法

手順
  1. Sun WBEM ユーザーマネージャを起動します。

  2. ダイアログボックスの「ユーザーアクセス (Users Access)」の部分で、アクセス権を削除するユーザー名を選択します。

  3. 名前空間に対するこのユーザーのアクセス権を削除するために、「削除 (Delete)」をクリックします。

    確認を求めるダイアログボックスが開きます。このダイアログボックスでは、ユーザーのアクセス権を本当に削除してよいかどうか確認を求められます。

  4. 削除を確定するには、「了解 (OK)」をクリックします。

  5. 変更を保存し、「ユーザーマネージャ (User Manager)」ダイアログボックスを閉じるには、「了解 (OK)」をクリックします。変更を保存し、ダイアログボックスを開いたままにするには、「適用 (Apply)」をクリックします。

Procedure名前空間のアクセス権を設定する方法

手順
  1. Sun WBEM ユーザーマネージャを起動します。

  2. ダイアログボックスの「ネームスペースへのアクセス (Namespace Access)」の部分で、「追加 (Add)」をクリックします。

    ダイアログボックスが開きます。このダイアログボックスには、使用可能な名前空間の一覧が表示されます。

  3. アクセス権を設定する名前空間を選択します。


    注 –

    デフォルトでは、ユーザーは、名前空間に対する読み取り専用のアクセス権を許可されます。


    • 名前空間に対してアクセス権をまったく許可しない場合は、「読み取り (Read)」および「書き込み (Write)」の各チェックボックスをどちらも選択しません。

    • 書き込み権を許可するには、「書き込み (Write)」を選択します。

    • 読み取り権を許可するには、「読み取り (Read)」を選択します。

  4. 変更を保存し、「ユーザーマネージャ (User Manager)」ダイアログボックスを閉じるには、「了解 (OK)」をクリックします。変更を保存し、ダイアログボックスを開いたままにするには、「適用 (Apply)」をクリックします。

Procedure名前空間のアクセス権を削除する方法

手順
  1. Sun WBEM ユーザーマネージャを起動します。

  2. ダイアログボックスの「ネームスペースへのアクセス (Namespace Access)」の部分で、アクセス制御を削除する名前空間を選択して、「削除 (Delete)」をクリックします。

    名前空間からアクセス制御が削除され、「Sun WBEM ユーザーマネージャ (Sun WBEM User Manager)」ダイアログボックスの名前空間の一覧からその名前空間が削除されます。

  3. 変更を保存し、「ユーザーマネージャ (User Manager)」ダイアログボックスを閉じるには、「了解 (OK)」をクリックします。変更を保存し、ダイアログボックスを開いたままにするには、「適用 (Apply)」をクリックします。

Solaris WBEM SDK API を使用してアクセス制御を設定する方法

WBEM SDK の API (SDK API) を使って、名前空間、またはユーザー単位でアクセス制御を設定できます。これらのセキュリティクラスは、root\security 名前空間に格納されます。

Solaris_UserACL クラスのインスタンスを作成することにより、名前空間内の CIM オブジェクトに対して、個々のユーザーのアクセス制御を設定できます。次に、API を使って、そのインスタンスのアクセス権を変更します。同様に、最初に Solaris_NameSpaceACL クラスのインスタンスを作成することにより、名前空間のアクセス制御を設定できます。次に、createInstance メソッドなどの API を使って、そのインスタンスのアクセス権を設定します。

この 2 つのクラスを組み合わせて使用することもできます。まず Solaris_NameSpaceACL クラスを使用して、名前空間内のオブジェクトへのすべてのユーザーのアクセスを制限します。次に、Solaris_UserACL クラスを使用して、選択したユーザーに名前空間へのアクセスを許可します。

Solaris_UserAcl クラス

Solaris_UserAcl クラスは、Solaris_Acl クラスから、デフォルト値 r (読み取り専用) の文字列型プロパティ capability を継承します。

capability プロパティを次のいずれかの値に設定することで、アクセス権を設定できます。

アクセス権 

説明 

r

読み取り 

rw

読み取りおよび書き込み 

w

書き込み 

なし 

アクセス権なし 

Solaris_UserAcl クラスは、次の 2 つのキープロパティを定義します。名前空間内には、名前空間とユーザー名を組み合わせた ACL ペアのインスタンスを 1 つだけ入れることができます。

プロパティ 

データ型 

目的 

nspace

string

ACL を適用する名前空間を示す 

username

string

ACL を適用するユーザーを示す 

Procedureユーザーのアクセス制御の設定方法

手順
  1. Solaris_UserAcl クラスのインスタンスを作成します。

    次に例を示します。

    ... 
    /* ローカルホスト上に root\security (名前空間の名前)
    で初期化した名前空間オブジェクトを作成する*/
    
    CIMNameSpace cns = new CIMNameSpace("", "root\security");
    
    // root ユーザーとして root\security 名前空間に接続する
    cc = new CIMClient(cns, user, user_passwd);
    
    // Solaris_UserAcl クラスを取得する 
    cimclass = cc.getClass(new CIMObjectPath("Solaris_UserAcl");
    
    // Solaris_UserAcl の新しいインスタンスを作成する
    class ci = cimclass.newInstance();
    ...
  2. capability プロパティを目的のアクセス権に設定します。

    次に例を示します。

    ....
     /* root\molly 名前空間内のオブジェクトに対するユーザー Guest 
    のアクセス権 (capability) を読み取りおよび書き込みに変更する */ 
    ci.setProperty("capability", new CIMValue(new String("rw")); 
    ci.setProperty("nspace", new CIMValue(new String("root\molly")); 
    ci.setProperty("username", new CIMValue(new String("guest")); 
    ...
  3. インスタンスを更新します。

    次に例を示します。

    ... 
    // 更新されたインスタンスを CIM オブジェクトマネージャに渡す 
    cc.createInstance(new CIMObjectPath(), ci); 
    ... 

Solaris_NamespaceAcl クラス

Solaris_NamespaceAcl は、Solaris_Acl クラスから、デフォルト値 r (すべてのユーザーに読み取り専用アクセスを適用) の文字列型プロパティ capability を継承します。Solaris_NamespaceAcl クラスは、次のキープロパティを定義します。

プロパティ 

データ型 

目的 

nspace

string

アクセス制御リストを適用する名前空間を示す。名前空間内には、名前空間 ACL のインスタンスを 1 つだけ指定できる 

Procedure名前空間のアクセス制御の設定方法

手順
  1. Solaris_NamespaceAcl クラスのインスタンスを作成します。

    次に例を示します。

    ...
    /* ローカルホスト上に root\security (名前空間の名前)
    で初期化した名前空間オブジェクトを作成する*/
    CIMNameSpace cns = new CIMNameSpace("", "root\security");
    
    // root ユーザーとして root\security 名前空間に接続する
    cc = new CIMClient(cns, user, user_passwd);
    
    // Solaris_namespaceAcl クラスを取得する 
    cimclass = cc.getClass(new CIMObjectPath("Solaris_namespaceAcl");
    
    // Solaris_namespaceAcl の新しいインスタンスを作成する
    class ci = cimclass.newInstance();
    ...
  2. capability プロパティを目的のアクセス権に設定します。

    次に例を示します。

    ...
    /* root\molly 名前空間のアクセス権 (capability)
    を読み取り/書き込みに変更する*/
    ci.setProperty("capability", new CIMValue(new String("rw")); 
    ci.setProperty("nspace", new CIMValue(new String("root\molly"));
    ...
  3. インスタンスを更新します。

    次に例を示します。

    // 更新されたインスタンスを CIM オブジェクトマネージャに渡す
    cc.createInstance(new CIMObjectPath(), ci); 

WBEM のセキュリティに関する問題の障害追跡

この節では、次のような問題が発生した場合の対処方法を説明します。

クライアント (ユーザー) が WBEM サーバー上の CIMOM によって認証されない場合

クライアントが WBEM サーバー上の CIMOM によって正常に認証されない場合、WBEM サーバーは CIM セキュリティ例外を返します。この例外は、サーバーがクライアントアプリケーション内に CIM クライアントハンドルを作成しようとしたときに返されます。この例外には、認証の試行が失敗した理由を示すエラーコードが含まれています。

WBEM サーバーがユーザーの ID と資格情報を検証できない場合や、ユーザー ID が無効な場合、WBEM サーバーは CIM セキュリティ例外を返します。この例外には、NO_SUCH_PRINCIPAL エラーが含まれます。WBEM サーバーがユーザーの ID と資格情報を検証できない場合や、ユーザー ID に対するパスワードが無効な場合、WBEM サーバーは CIM セキュリティ例外を返します。この例外には、INVALID_CREDENTIAL エラーが含まれます。

WBEM サーバーが Solaris OS の役割 ID を検証できない場合、WBEM サーバーは、NO_SUCH_ROLE エラーの入った CIM セキュリティ例外を返します。

引き受けた役割 ID に対して役割のパスワードが無効な場合、WBEM サーバーは、INVALID_CREDENTIAL エラーで CIM セキュリティ例外を返します。

役割 ID とパスワードが有効でも、そのユーザーが役割を引き受けることを許可されていなければ、WBEM サーバーは、 CANNOT_ASSUME_ROLE エラーの入った CIM セキュリティ例外を返します。

これらの CIM セキュリティ例外については、次の表で詳しく説明します。

エラー 

考えられる原因 

解決法 

NO_SUCH_PRINCIPAL

指定されたユーザー ID が WBEM サーバー上の Solaris OS で無効であるか、 

そのユーザーのユーザーアカウントがパスワードを持っていない、 

またはロックされている 

ユーザー ID が有効であることを確認してください。ユーザー ID が有効であれば、ユーザーは、WBEM サーバーマシン上の Solaris OS にログインできます。場合によっては、ネームサービステーブルも確認する必要があります。これにより、Solaris WBEM サーバーが、サーバー上に設定されたネームサービスのユーザー ID を使用しているかどうかを判別できます。 

INVALID_CREDENTIAL

指定されたユーザーのパスワード、または引き受けられた役割のパスワードが、WBEM サーバー上の Solaris OS のユーザーに対して無効である 

ユーザーのパスワードが正しいかどうか確認してください。 

NO_SUCH_ROLE

WBEM サーバーに対する認証で使用された役割 ID が、WBEM サーバー上の Solaris OS で有効な RBAC 役割ではない 

役割 ID は、サーバー上の passwd テーブルでは有効ですが、この ID でサーバーにログインすることはできません。Solaris ソフトウェアは、役割 ID に直接ログインすることを許可しません。passwd テーブルで役割 ID を確認し、user_attr テーブルでその役割がユーザーの役割の種類として定義されていることを確認してください。user_attr テーブル内の役割 ID には、type=role という構文の属性が含まれています。

Solaris 管理コンソールのユーザーツールを使って、有効なユーザーまたは有効な役割 ID を確認することもできます。ユーザーアカウントツールではユーザーの確認、管理役割ツールでは役割の確認が可能です。ただし、ユーザーツールを使用するときは、CIMOM サーバー上のテーブルの正しいソースを把握していなければなりません。なぜなら、CIMOM サーバーが NIS などのネームサービスを使用している場合は、そのネームサービスのマスターサーバーにアクセスしなければならないからです。

CANNOT_ASSUME_ROLE

役割 ID は有効だが、認証交換で指定されたユーザー ID は、その役割を引き受けるように構成されていない 

Solaris 管理コンソールユーザーツールコレクションに含まれている管理役割ツールを 使って、ユーザーに役割を明示的に割り当てます。管理役割ツールについては、『Solaris のシステム管理 (セキュリティサービス)』の「役割のプロパティを変更する方法」を参照してください。

そのほかの CIM セキュリティ例外が起きる場合

WBEM サーバーは、その他のエラーインジケーションを CIM セキュリティ例外に入れて返すことがあります。しかし、これらのインジケーションの多くは、認証交換におけるシステム障害を示すものです。認証交換のセキュリティオプションについて、WBEM クライアントの構成が WBEM サーバーの構成と互換性がない可能性が考えられます。

これらのエラーインジケーションが発生した場合は、さらに、クライアントアプリケーションの CLASSPATHsunwbem.jar と拡張ディレクトリのパス名が含まれていることを確認します。

承認検査に失敗した場合

クライアントが、WBEM サーバーへの要求に関連付けられたデータのアクセスまたは変更を許可されていない場合、WBEM サーバーは CIM セキュリティ例外を返します。この例外には、ACCESS_DENIED エラーが含まれます。

ACCESS_DENIED エラーは、ユーザーまたは役割が、要求によって管理されているデータへのアクセスを許可されていないため、その要求を完了できなかったことを示します。

WBEM ログのセキュリティメッセージで、失敗した要求を確認してください。ログデータの表示方法については、「ログビューアを使ってログデータを調べる」を参照してください。 承認障害メッセージは、WBEM ログでは「概要 (Summary)」列に「アクセスを拒否しました (Access denied)」と示されています。「ユーザー (User)」列には、検査に使用された認証されたユーザーまたは役割の名前が表示されます。「ソース (Source)」列には、検査を実行しているプロバイダの名前が表示されます。この列のプロバイダ名は、プロバイダ実装クラスの名前ではなく、ユーザーにわかりやすいプロバイダ名です。

詳細なメッセージの中に、検査されているアクセス権の名前や、ユーザーまたは役割に許可されていなかったアクセス権の名前が含まれています。

アクセス権が namespace:right という形式で表示されている場合、承認検査は名前空間 ACL を使用したことを示します。認証されたユーザーは、その名前空間に対してそのアクセス権 (読み取りまたは書き込み) を許可されていません。

Sun WBEM ユーザーマネージャ (wbemadmin) を使用して、ユーザーに適切なアクセス権を許可してください。Sun WBEM ユーザーマネージャについては、「Sun WBEM ユーザーマネージャを使ってアクセス制御を設定する」を参照してください。

アクセス権が solaris.application.right という形式で表示されている場合、承認検査 は RBAC 承認を使用したことを示します。

Solaris 管理コンソールユーザーツールコレクションに含まれている管理役割ツールを使って、ユーザーまたは役割に必要なアクセス権を許可してください。この手順については、『Solaris のシステム管理 (セキュリティサービス)』の「役割のプロパティを変更する方法」を参照してください。