Solaris WBEM 開発ガイド

Solaris_UserAcl クラス

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

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

アクセス権 

説明 

r

読み取り 

rw

読み取りおよび書き込み 

w

書き込み 

なし 

アクセス権なし 

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

プロパティ 

データ型 

目的 

nspace

string

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

username

string

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

ユーザーのアクセス制御の設定方法
  1. Solaris_UserAcl クラスのインスタンスを作成します。

    次に例を示します。

    ... 
    /* root\security (名前空間の名前) を使用して初期化した名前空間オブジェクトを
    ローカルホスト上に作成する */
    
    CIMNameSpace cns = new CIMNameSpace("", "root\security");
    
    // 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);
    ...