vacmViewTreeFamilyTable テーブルには、ビューサブツリーファミリの全コレクションが格納されます。これらのコレクションを「MIB ビュー」と呼びます。MIB ビューは、OID サブツリー値です。ファミリ名と、ファミリマスクであるビット文字列値から成ります。ファミリマスクは、MIB ビュー内に存在するファミリ名のサブ識別子を特定します。マスクは、次のいずれかで区切られた 16 オクテットのリストです。「.」または「:」。デフォルトは「ff」です。
MIB ビュー内の各ビューサブツリーファミリには、型があります。この型によって、そのビューサブツリーファミリが MIB ビューに含まれるかどうかが決まります。管理対象オブジェクトインスタンスは、次の条件が両方とも真である場合に限り、MIB ビューに含まれます。
管理対象オブジェクトの OID に、OID サブツリーと同数以上のサブ識別子が含まれている
対応するマスクのビットが 0 以外の場合、管理対象オブジェクトの OID サブ識別子が OID サブツリー内の対応するサブ識別子と一致する
マスクの構成値が短すぎてこれらの条件をチェックできない場合、暗黙のうちにこの値に 1 の連続が付加されます。したがって、マスクが 0 ビットのビューファミリサブツリーは、すべての値が 1 のマスクと同等であり、すなわち 1 つの MIB サブツリーと同等です。
vacmViewTreeFamilyTable テーブルは、以下の項目で索引付けられています。
vacmAccessTable テーブルで選択されたアクセス権によって指定される。アクセスチェックに使用される
PDU の OID が MIB ビューと比較される
vacmViewTreeFamilyTable テーブルの各行の値は次のとおりです。
MIB ビューの名前
OID サブツリー。OID サブツリーはマスクとともに MIB ビューサブツリーを構成する
ビット文字列マスク。ビット文字列マスクは OID サブツリーとともに MIB ビューサブツリーを構成する
この型によって、そのビューサブツリーファミリが MIB ビューに含まれるかどうかが決まる
MIB ビューに検索対象の OID が含まれていない場合、アクセスは拒否されます。この場合、戻り値は notInView になります。MIB ビューに正しい OID が含まれていれば、アクセスは許可されます。この場合、戻り値は accessAllowed になります。
この VACM アルゴリズム全体のフローチャートは、図 4–2 のようになります。以下では、この図に含まれる RFC 推奨の用語について解説します。
アクセスの要求元を示す
アクセスが許可される場所を特定する
アクセスを許可する方法を特定する
読み取り、書き込み、通知のいずれか。グループまたはユーザーが特定のアクセスレベルを要求する理由を特定する
チェック対象の管理データの型を示す
例 4–3 に、vacmViewTreeFamilyTable の一般的なエントリを示します。
ビューは次の 2 通りの方法で作成できます。
主要構成ファイル /etc/sma/snmp/snmpd.conf にビューを追加することで、ビューを作成できます。
view all included .1 FF view none excluded .1 FF view vwnam1 included .1.3.6.1 FF |
この例では、マスクは「FF」になります。
主要構成ファイル /etc/sma/snmp/snmpd.conf にグループを追加することでビューを作成した場合、 vacmViewTreeFamilyTable テーブル内に次のエントリが作成されます。
SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyMask."all".1.1 = STRING: "ÿ" SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyMask."none".1.1 = STRING: "ÿ" SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyMask."vwnam1".4.1.3.6.1 = STRING: "ÿ" SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyType."all".1.1 = INTEGER: included(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyType."none".1.1 = INTEGER: excluded(2) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyType."vwnam1".4.1.3.6.1 = INTEGER: included(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStorageType."all".1.1 = INTEGER: permanent(4) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStorageType."none".1.1 = INTEGER: permanent(4) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStorageType."vwnam1".4.1.3.6.1 = INTEGER: permanent(4) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."all".1.1 = INTEGER: active(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."none".1.1 = INTEGER: active(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."vwnam1".4.1.3.6.1 = INTEGER: active(1) |
# snmpvacm -v3 -u myuser -a MD5 -A my_password -l authNoPriv -Ce localhost createView all .1 FF |
# snmpvacm -v3 -u myuser -a MD5 -A my_password -l authNoPriv localhost createView none .1 FF |
# snmpvacm -v3 -u myuser -a MD5 -A my_password -l authNoPriv localhost createView vwnam1 .1.3.6.1 FF |
ユーザー myuser のアクセスレベルは rwuser です。したがって、この例では、コンテキストに適していれば、myuser 用にビューエントリが作成されます。
snmpvacm コマンドを使って作成されたビューの場合、ストレージの型は nonVolatile になります。