Solaris WBEM 開発ガイド

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 のシステム管理 (セキュリティサービス)』の「役割のプロパティを変更する方法」を参照してください。