home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 August / PCWorld_2001-08_cd.bin / Komunikace / phptriad / phptriadsetup2-11.exe / php / mibs / SNMP-VIEW-BASED-ACM-MIB.txt < prev    next >
Text File  |  1999-11-14  |  34KB  |  805 lines

  1. SNMP-VIEW-BASED-ACM-MIB DEFINITIONS ::= BEGIN
  2.  
  3. IMPORTS
  4.     MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF
  5.     MODULE-IDENTITY, OBJECT-TYPE,
  6.     snmpModules                           FROM SNMPv2-SMI
  7.     TestAndIncr,
  8.     RowStatus, StorageType                FROM SNMPv2-TC
  9.     SnmpAdminString,
  10.     SnmpSecurityLevel,
  11.     SnmpSecurityModel                     FROM SNMP-FRAMEWORK-MIB;
  12.  
  13. snmpVacmMIB       MODULE-IDENTITY
  14.     LAST-UPDATED "9901200000Z"            -- 20 Jan 1999, midnight
  15.     ORGANIZATION "SNMPv3 Working Group"
  16.     CONTACT-INFO "WG-email:   snmpv3@lists.tislabs.com
  17.                   Subscribe:  majordomo@lists.tislabs.com
  18.                               In message body:  subscribe snmpv3
  19.  
  20.                   Chair:      Russ Mundy
  21.                               Trusted Information Systems
  22.                   postal:     3060 Washington Rd
  23.                               Glenwood MD 21738
  24.                               USA
  25.                   email:      mundy@tislabs.com
  26.                   phone:      +1-301-854-6889
  27.  
  28.                   Co-editor:  Bert Wijnen
  29.                               IBM T.J. Watson Research
  30.                   postal:     Schagen 33
  31.                               3461 GL Linschoten
  32.                               Netherlands
  33.                   email:      wijnen@vnet.ibm.com
  34.                   phone:      +31-348-432-794
  35.  
  36.                   Co-editor:  Randy Presuhn
  37.                               BMC Software, Inc
  38.                   postal:     965 Stewart Drive
  39.                               Sunnyvale, CA 94086
  40.                               USA
  41.                   email:      randy_presuhn@bmc.com
  42.                   phone:      +1-408-616-3100
  43.  
  44.                   Co-editor:  Keith McCloghrie
  45.                               Cisco Systems, Inc.
  46.                   postal:     170 West Tasman Drive
  47.                               San Jose, CA  95134-1706
  48.                               USA
  49.                   email:      kzm@cisco.com
  50.                   phone:      +1-408-526-5260
  51.                  "
  52.     DESCRIPTION  "The management information definitions for the
  53.                   View-based Access Control Model for SNMP.
  54.                  "
  55. --  Revision history
  56.     REVISION     "9901200000Z"            -- 20 Jan 1999, midnight
  57.     DESCRIPTION  "Clarifications, published as RFC2575"
  58.  
  59.     REVISION     "9711200000Z"            -- 20 Nov 1997, midnight
  60.     DESCRIPTION  "Initial version, published as RFC2275"
  61.  
  62.     ::= { snmpModules 16 }
  63.  
  64. -- Administrative assignments ****************************************
  65.  
  66. vacmMIBObjects      OBJECT IDENTIFIER ::= { snmpVacmMIB 1 }
  67. vacmMIBConformance  OBJECT IDENTIFIER ::= { snmpVacmMIB 2 }
  68.  
  69. -- Information about Local Contexts **********************************
  70.  
  71. vacmContextTable OBJECT-TYPE
  72.     SYNTAX       SEQUENCE OF VacmContextEntry
  73.     MAX-ACCESS   not-accessible
  74.     STATUS       current
  75.     DESCRIPTION "The table of locally available contexts.
  76.  
  77.                  This table provides information to SNMP Command
  78.                  Generator applications so that they can properly
  79.                  configure the vacmAccessTable to control access to
  80.                  all contexts at the SNMP entity.
  81.  
  82.                  This table may change dynamically if the SNMP entity
  83.                  allows that contexts are added/deleted dynamically
  84.                  (for instance when its configuration changes). Such
  85.                  changes would happen only if the management
  86.                  instrumentation at that SNMP entity recognizes more
  87.                  (or fewer) contexts.
  88.  
  89.                  The presence of entries in this table and of entries
  90.                  in the vacmAccessTable are independent.  That is, a
  91.                  context identified by an entry in this table is not
  92.                  necessarily referenced by any entries in the
  93.                  vacmAccessTable; and the context(s) referenced by an
  94.                  entry in the vacmAccessTable does not necessarily
  95.                  currently exist and thus need not be identified by an
  96.                  entry in this table.
  97.  
  98.                  This table must be made accessible via the default
  99.                  context so that Command Responder applications have
  100.                  a standard way of retrieving the information.
  101.  
  102.                  This table is read-only. It cannot be configured via
  103.                  SNMP.
  104.                 "
  105.     ::= { vacmMIBObjects 1 }
  106.  
  107. vacmContextEntry OBJECT-TYPE
  108.     SYNTAX       VacmContextEntry
  109.     MAX-ACCESS   not-accessible
  110.     STATUS       current
  111.     DESCRIPTION "Information about a particular context."
  112.     INDEX       {
  113.                   vacmContextName
  114.                 }
  115.     ::= { vacmContextTable 1 }
  116.  
  117. VacmContextEntry ::= SEQUENCE
  118.     {
  119.         vacmContextName SnmpAdminString
  120.     }
  121.  
  122. vacmContextName  OBJECT-TYPE
  123.     SYNTAX       SnmpAdminString (SIZE(0..32))
  124.     MAX-ACCESS   read-only
  125.     STATUS       current
  126.     DESCRIPTION "A human readable name identifying a particular
  127.                  context at a particular SNMP entity.
  128.  
  129.                  The empty contextName (zero length) represents the
  130.                  default context.
  131.                 "
  132.     ::= { vacmContextEntry 1 }
  133.  
  134. -- Information about Groups ******************************************
  135.  
  136. vacmSecurityToGroupTable OBJECT-TYPE
  137.     SYNTAX       SEQUENCE OF VacmSecurityToGroupEntry
  138.     MAX-ACCESS   not-accessible
  139.     STATUS       current
  140.     DESCRIPTION "This table maps a combination of securityModel and
  141.                  securityName into a groupName which is used to define
  142.                  an access control policy for a group of principals.
  143.                 "
  144.     ::= { vacmMIBObjects 2 }
  145.  
  146. vacmSecurityToGroupEntry OBJECT-TYPE
  147.     SYNTAX       VacmSecurityToGroupEntry
  148.     MAX-ACCESS   not-accessible
  149.     STATUS       current
  150.     DESCRIPTION "An entry in this table maps the combination of a
  151.                  securityModel and securityName into a groupName.
  152.                 "
  153.     INDEX       {
  154.                   vacmSecurityModel,
  155.                   vacmSecurityName
  156.                 }
  157.     ::= { vacmSecurityToGroupTable 1 }
  158.  
  159. VacmSecurityToGroupEntry ::= SEQUENCE
  160.     {
  161.         vacmSecurityModel               SnmpSecurityModel,
  162.         vacmSecurityName                SnmpAdminString,
  163.         vacmGroupName                   SnmpAdminString,
  164.         vacmSecurityToGroupStorageType  StorageType,
  165.         vacmSecurityToGroupStatus       RowStatus
  166.     }
  167.  
  168. vacmSecurityModel OBJECT-TYPE
  169.     SYNTAX       SnmpSecurityModel(1..2147483647)
  170.     MAX-ACCESS   not-accessible
  171.     STATUS       current
  172.     DESCRIPTION "The Security Model, by which the vacmSecurityName
  173.                  referenced by this entry is provided.
  174.  
  175.                  Note, this object may not take the 'any' (0) value.
  176.                 "
  177.     ::= { vacmSecurityToGroupEntry 1 }
  178.  
  179. vacmSecurityName OBJECT-TYPE
  180.     SYNTAX       SnmpAdminString (SIZE(1..32))
  181.     MAX-ACCESS   not-accessible
  182.     STATUS       current
  183.     DESCRIPTION "The securityName for the principal, represented in a
  184.                  Security Model independent format, which is mapped by
  185.                  this entry to a groupName.
  186.                 "
  187.     ::= { vacmSecurityToGroupEntry 2 }
  188.  
  189. vacmGroupName    OBJECT-TYPE
  190.     SYNTAX       SnmpAdminString (SIZE(1..32))
  191.     MAX-ACCESS   read-create
  192.     STATUS       current
  193.     DESCRIPTION "The name of the group to which this entry (e.g., the
  194.                  combination of securityModel and securityName)
  195.                  belongs.
  196.  
  197.                  This groupName is used as index into the
  198.                  vacmAccessTable to select an access control policy.
  199.                  However, a value in this table does not imply that an
  200.                  instance with the value exists in table vacmAccesTable.
  201.                 "
  202.     ::= { vacmSecurityToGroupEntry 3 }
  203.  
  204. vacmSecurityToGroupStorageType OBJECT-TYPE
  205.     SYNTAX       StorageType
  206.     MAX-ACCESS   read-create
  207.     STATUS       current
  208.     DESCRIPTION "The storage type for this conceptual row.
  209.                  Conceptual rows having the value 'permanent' need not
  210.                  allow write-access to any columnar objects in the row.
  211.                 "
  212.     DEFVAL      { nonVolatile }
  213.     ::= { vacmSecurityToGroupEntry 4 }
  214.  
  215. vacmSecurityToGroupStatus OBJECT-TYPE
  216.     SYNTAX       RowStatus
  217.     MAX-ACCESS   read-create
  218.     STATUS       current
  219.     DESCRIPTION "The status of this conceptual row.
  220.  
  221.                  Until instances of all corresponding columns are
  222.                  appropriately configured, the value of the
  223.                  corresponding instance of the vacmSecurityToGroupStatus
  224.                  column is 'notReady'.
  225.  
  226.                  In particular, a newly created row cannot be made
  227.                  active until a value has been set for vacmGroupName.
  228.  
  229.                  The  RowStatus TC [RFC2579] requires that this
  230.                  DESCRIPTION clause states under which circumstances
  231.                  other objects in this row can be modified:
  232.  
  233.                  The value of this object has no effect on whether
  234.                  other objects in this conceptual row can be modified.
  235.                 "
  236.     ::= { vacmSecurityToGroupEntry 5 }
  237.  
  238. -- Information about Access Rights ***********************************
  239.  
  240. vacmAccessTable  OBJECT-TYPE
  241.     SYNTAX       SEQUENCE OF VacmAccessEntry
  242.     MAX-ACCESS   not-accessible
  243.     STATUS       current
  244.     DESCRIPTION "The table of access rights for groups.
  245.  
  246.                  Each entry is indexed by a groupName, a contextPrefix,
  247.                  a securityModel and a securityLevel.  To determine
  248.                  whether access is allowed, one entry from this table
  249.                  needs to be selected and the proper viewName from that
  250.                  entry must be used for access control checking.
  251.  
  252.                  To select the proper entry, follow these steps:
  253.  
  254.                  1) the set of possible matches is formed by the
  255.                     intersection of the following sets of entries:
  256.                       the set of entries with identical vacmGroupName
  257.                       the union of these two sets:
  258.                        - the set with identical vacmAccessContextPrefix
  259.                        - the set of entries with vacmAccessContextMatch
  260.                          value of 'prefix' and matching
  261.                          vacmAccessContextPrefix
  262.                       intersected with the union of these two sets:
  263.                        - the set of entries with identical
  264.                          vacmSecurityModel
  265.                        - the set of entries with vacmSecurityModel
  266.                          value of 'any'
  267.                       intersected with the set of entries with
  268.                       vacmAccessSecurityLevel value less than or equal
  269.                       to the requested securityLevel
  270.  
  271.                  2) if this set has only one member, we're done
  272.                     otherwise, it comes down to deciding how to weight
  273.                     the preferences between ContextPrefixes,
  274.                     SecurityModels, and SecurityLevels as follows:
  275.                     a) if the subset of entries with securityModel
  276.                        matching the securityModel in the message is
  277.                        not empty, then discard the rest.
  278.                     b) if the subset of entries with
  279.                        vacmAccessContextPrefix matching the contextName
  280.                        in the message is not empty,
  281.                        then discard the rest
  282.                     c) discard all entries with ContextPrefixes shorter
  283.                        than the longest one remaining in the set
  284.                     d) select the entry with the highest securityLevel
  285.  
  286.                  Please note that for securityLevel noAuthNoPriv, all
  287.                  groups are really equivalent since the assumption that
  288.                  the securityName has been authenticated does not hold.
  289.                 "
  290.     ::= { vacmMIBObjects 4 }
  291.  
  292. vacmAccessEntry  OBJECT-TYPE
  293.     SYNTAX       VacmAccessEntry
  294.     MAX-ACCESS   not-accessible
  295.     STATUS       current
  296.     DESCRIPTION "An access right configured in the Local Configuration
  297.                  Datastore (LCD) authorizing access to an SNMP context.
  298.  
  299.                  Entries in this table can use an instance value for
  300.                  object vacmGroupName even if no entry in table
  301.                  vacmAccessSecurityToGroupTable has a corresponding
  302.                  value for object vacmGroupName.
  303.                 "
  304.     INDEX       { vacmGroupName,
  305.                   vacmAccessContextPrefix,
  306.                   vacmAccessSecurityModel,
  307.                   vacmAccessSecurityLevel
  308.                 }
  309.     ::= { vacmAccessTable 1 }
  310.  
  311. VacmAccessEntry ::= SEQUENCE
  312.     {
  313.         vacmAccessContextPrefix    SnmpAdminString,
  314.         vacmAccessSecurityModel    SnmpSecurityModel,
  315.         vacmAccessSecurityLevel    SnmpSecurityLevel,
  316.         vacmAccessContextMatch     INTEGER,
  317.         vacmAccessReadViewName     SnmpAdminString,
  318.         vacmAccessWriteViewName    SnmpAdminString,
  319.         vacmAccessNotifyViewName   SnmpAdminString,
  320.         vacmAccessStorageType      StorageType,
  321.         vacmAccessStatus           RowStatus
  322.     }
  323.  
  324. vacmAccessContextPrefix OBJECT-TYPE
  325.     SYNTAX       SnmpAdminString (SIZE(0..32))
  326.     MAX-ACCESS   not-accessible
  327.     STATUS       current
  328.     DESCRIPTION "In order to gain the access rights allowed by this
  329.                  conceptual row, a contextName must match exactly
  330.                  (if the value of vacmAccessContextMatch is 'exact')
  331.                  or partially (if the value of vacmAccessContextMatch
  332.                  is 'prefix') to the value of the instance of this
  333.                  object.
  334.                 "
  335.     ::= { vacmAccessEntry 1 }
  336.  
  337. vacmAccessSecurityModel OBJECT-TYPE
  338.     SYNTAX       SnmpSecurityModel
  339.     MAX-ACCESS   not-accessible
  340.     STATUS       current
  341.     DESCRIPTION "In order to gain the access rights allowed by this
  342.                  conceptual row, this securityModel must be in use.
  343.                 "
  344.     ::= { vacmAccessEntry 2 }
  345.  
  346. vacmAccessSecurityLevel OBJECT-TYPE
  347.     SYNTAX       SnmpSecurityLevel
  348.     MAX-ACCESS   not-accessible
  349.     STATUS       current
  350.     DESCRIPTION "The minimum level of security required in order to
  351.                  gain the access rights allowed by this conceptual
  352.                  row.  A securityLevel of noAuthNoPriv is less than
  353.                  authNoPriv which in turn is less than authPriv.
  354.  
  355.                  If multiple entries are equally indexed except for
  356.                  this vacmAccessSecurityLevel index, then the entry
  357.                  which has the highest value for
  358.                  vacmAccessSecurityLevel is selected.
  359.                 "
  360.     ::= { vacmAccessEntry 3 }
  361.  
  362. vacmAccessContextMatch OBJECT-TYPE
  363.     SYNTAX       INTEGER
  364.                 { exact (1), -- exact match of prefix and contextName
  365.                   prefix (2) -- Only match to the prefix
  366.                 }
  367.     MAX-ACCESS   read-create
  368.     STATUS       current
  369.     DESCRIPTION "If the value of this object is exact(1), then all
  370.                  rows where the contextName exactly matches
  371.                  vacmAccessContextPrefix are selected.
  372.  
  373.                  If the value of this object is prefix(2), then all
  374.                  rows where the contextName whose starting octets
  375.                  exactly match vacmAccessContextPrefix are selected.
  376.                  This allows for a simple form of wildcarding.
  377.                 "
  378.     DEFVAL      { exact }
  379.     ::= { vacmAccessEntry 4 }
  380.  
  381. vacmAccessReadViewName OBJECT-TYPE
  382.     SYNTAX       SnmpAdminString (SIZE(0..32))
  383.     MAX-ACCESS   read-create
  384.     STATUS       current
  385.     DESCRIPTION "The value of an instance of this object identifies
  386.                  the MIB view of the SNMP context to which this
  387.                  conceptual row authorizes read access.
  388.  
  389.                  The identified MIB view is that one for which the
  390.                  vacmViewTreeFamilyViewName has the same value as the
  391.                  instance of this object; if the value is the empty
  392.                  string or if there is no active MIB view having this
  393.                  value of vacmViewTreeFamilyViewName, then no access
  394.                  is granted.
  395.                 "
  396.     DEFVAL      { ''H }   -- the empty string
  397.     ::= { vacmAccessEntry 5 }
  398.  
  399. vacmAccessWriteViewName OBJECT-TYPE
  400.     SYNTAX       SnmpAdminString (SIZE(0..32))
  401.     MAX-ACCESS   read-create
  402.     STATUS       current
  403.     DESCRIPTION "The value of an instance of this object identifies
  404.                  the MIB view of the SNMP context to which this
  405.                  conceptual row authorizes write access.
  406.  
  407.                  The identified MIB view is that one for which the
  408.                  vacmViewTreeFamilyViewName has the same value as the
  409.                  instance of this object; if the value is the empty
  410.                  string or if there is no active MIB view having this
  411.                  value of vacmViewTreeFamilyViewName, then no access
  412.                  is granted.
  413.                 "
  414.     DEFVAL      { ''H }   -- the empty string
  415.     ::= { vacmAccessEntry 6 }
  416.  
  417. vacmAccessNotifyViewName OBJECT-TYPE
  418.     SYNTAX       SnmpAdminString (SIZE(0..32))
  419.     MAX-ACCESS   read-create
  420.     STATUS       current
  421.     DESCRIPTION "The value of an instance of this object identifies
  422.                  the MIB view of the SNMP context to which this
  423.                  conceptual row authorizes access for notifications.
  424.  
  425.                  The identified MIB view is that one for which the
  426.                  vacmViewTreeFamilyViewName has the same value as the
  427.                  instance of this object; if the value is the empty
  428.                  string or if there is no active MIB view having this
  429.                  value of vacmViewTreeFamilyViewName, then no access
  430.                  is granted.
  431.                 "
  432.     DEFVAL      { ''H }   -- the empty string
  433.     ::= { vacmAccessEntry 7 }
  434.  
  435. vacmAccessStorageType OBJECT-TYPE
  436.     SYNTAX       StorageType
  437.     MAX-ACCESS   read-create
  438.     STATUS       current
  439.     DESCRIPTION "The storage type for this conceptual row.
  440.  
  441.                  Conceptual rows having the value 'permanent' need not
  442.                  allow write-access to any columnar objects in the row.
  443.                 "
  444.     DEFVAL      { nonVolatile }
  445.     ::= { vacmAccessEntry 8 }
  446.  
  447. vacmAccessStatus OBJECT-TYPE
  448.     SYNTAX       RowStatus
  449.     MAX-ACCESS   read-create
  450.     STATUS       current
  451.     DESCRIPTION "The status of this conceptual row.
  452.  
  453.                  The  RowStatus TC [RFC2579] requires that this
  454.                  DESCRIPTION clause states under which circumstances
  455.                  other objects in this row can be modified:
  456.  
  457.                  The value of this object has no effect on whether
  458.                  other objects in this conceptual row can be modified.
  459.                 "
  460.     ::= { vacmAccessEntry 9 }
  461.  
  462. -- Information about MIB views ***************************************
  463.  
  464. -- Support for instance-level granularity is optional.
  465. --
  466. -- In some implementations, instance-level access control
  467. -- granularity may come at a high performance cost.  Managers
  468. -- should avoid requesting such configurations unnecessarily.
  469.  
  470. vacmMIBViews     OBJECT IDENTIFIER ::= { vacmMIBObjects 5 }
  471.  
  472. vacmViewSpinLock OBJECT-TYPE
  473.     SYNTAX       TestAndIncr
  474.     MAX-ACCESS   read-write
  475.     STATUS       current
  476.     DESCRIPTION "An advisory lock used to allow cooperating SNMP
  477.                  Command Generator applications to coordinate their
  478.                  use of the Set operation in creating or modifying
  479.                  views.
  480.  
  481.                  When creating a new view or altering an existing
  482.                  view, it is important to understand the potential
  483.                  interactions with other uses of the view.  The
  484.                  vacmViewSpinLock should be retrieved.  The name of
  485.                  the view to be created should be determined to be
  486.                  unique by the SNMP Command Generator application by
  487.                  consulting the vacmViewTreeFamilyTable.  Finally,
  488.                  the named view may be created (Set), including the
  489.                  advisory lock.
  490.                  If another SNMP Command Generator application has
  491.                  altered the views in the meantime, then the spin
  492.                  lock's value will have changed, and so this creation
  493.                  will fail because it will specify the wrong value for
  494.                  the spin lock.
  495.  
  496.                  Since this is an advisory lock, the use of this lock
  497.                  is not enforced.
  498.                 "
  499.     ::= { vacmMIBViews 1 }
  500.  
  501. vacmViewTreeFamilyTable OBJECT-TYPE
  502.     SYNTAX       SEQUENCE OF VacmViewTreeFamilyEntry
  503.     MAX-ACCESS   not-accessible
  504.     STATUS       current
  505.     DESCRIPTION "Locally held information about families of subtrees
  506.                  within MIB views.
  507.  
  508.                  Each MIB view is defined by two sets of view subtrees:
  509.                    - the included view subtrees, and
  510.                    - the excluded view subtrees.
  511.                  Every such view subtree, both the included and the
  512.                  excluded ones, is defined in this table.
  513.  
  514.                  To determine if a particular object instance is in
  515.                  a particular MIB view, compare the object instance's
  516.                  OBJECT IDENTIFIER with each of the MIB view's active
  517.                  entries in this table.  If none match, then the
  518.                  object instance is not in the MIB view.  If one or
  519.                  more match, then the object instance is included in,
  520.                  or excluded from, the MIB view according to the
  521.                  value of vacmViewTreeFamilyType in the entry whose
  522.                  value of vacmViewTreeFamilySubtree has the most
  523.                  sub-identifiers.  If multiple entries match and have
  524.                  the same number of sub-identifiers (when wildcarding
  525.                  is specified with the value of vacmViewTreeFamilyMask),
  526.                  then the lexicographically greatest instance of
  527.                  vacmViewTreeFamilyType determines the inclusion or
  528.                  exclusion.
  529.  
  530.                  An object instance's OBJECT IDENTIFIER X matches an
  531.                  active entry in this table when the number of
  532.                  sub-identifiers in X is at least as many as in the
  533.                  value of vacmViewTreeFamilySubtree for the entry,
  534.                  and each sub-identifier in the value of
  535.                  vacmViewTreeFamilySubtree matches its corresponding
  536.                  sub-identifier in X.  Two sub-identifiers match
  537.                  either if the corresponding bit of the value of
  538.                  vacmViewTreeFamilyMask for the entry is zero (the
  539.                  'wild card' value), or if they are equal.
  540.  
  541.                  A 'family' of subtrees is the set of subtrees defined
  542.                  by a particular combination of values of
  543.                  vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask.
  544.                  In the case where no 'wild card' is defined in the
  545.                  vacmViewTreeFamilyMask, the family of subtrees reduces
  546.                  to a single subtree.
  547.  
  548.                  When creating or changing MIB views, an SNMP Command
  549.                  Generator application should utilize the
  550.                  vacmViewSpinLock to try to avoid collisions. See
  551.                  DESCRIPTION clause of vacmViewSpinLock.
  552.  
  553.                  When creating MIB views, it is strongly advised that
  554.                  first the 'excluded' vacmViewTreeFamilyEntries are
  555.                  created and then the 'included' entries.
  556.  
  557.                  When deleting MIB views, it is strongly advised that
  558.                  first the 'included' vacmViewTreeFamilyEntries are
  559.                  deleted and then the 'excluded' entries.
  560.  
  561.                  If a create for an entry for instance-level access
  562.                  control is received and the implementation does not
  563.                  support instance-level granularity, then an
  564.                  inconsistentName error must be returned.
  565.                 "
  566.     ::= { vacmMIBViews 2 }
  567.  
  568. vacmViewTreeFamilyEntry OBJECT-TYPE
  569.     SYNTAX       VacmViewTreeFamilyEntry
  570.     MAX-ACCESS   not-accessible
  571.     STATUS       current
  572.     DESCRIPTION "Information on a particular family of view subtrees
  573.                  included in or excluded from a particular SNMP
  574.                  context's MIB view.
  575.  
  576.                  Implementations must not restrict the number of
  577.                  families of view subtrees for a given MIB view,
  578.                  except as dictated by resource constraints on the
  579.                  overall number of entries in the
  580.                  vacmViewTreeFamilyTable.
  581.  
  582.                  If no conceptual rows exist in this table for a given
  583.                  MIB view (viewName), that view may be thought of as
  584.                  consisting of the empty set of view subtrees.
  585.                 "
  586.     INDEX       { vacmViewTreeFamilyViewName,
  587.                   vacmViewTreeFamilySubtree
  588.                 }
  589.     ::= { vacmViewTreeFamilyTable 1 }
  590.  
  591. VacmViewTreeFamilyEntry ::= SEQUENCE
  592.     {
  593.         vacmViewTreeFamilyViewName     SnmpAdminString,
  594.         vacmViewTreeFamilySubtree      OBJECT IDENTIFIER,
  595.         vacmViewTreeFamilyMask         OCTET STRING,
  596.         vacmViewTreeFamilyType         INTEGER,
  597.         vacmViewTreeFamilyStorageType  StorageType,
  598.         vacmViewTreeFamilyStatus       RowStatus
  599.     }
  600.  
  601. vacmViewTreeFamilyViewName OBJECT-TYPE
  602.     SYNTAX       SnmpAdminString (SIZE(1..32))
  603.     MAX-ACCESS   not-accessible
  604.     STATUS       current
  605.     DESCRIPTION "The human readable name for a family of view subtrees.
  606.                 "
  607.     ::= { vacmViewTreeFamilyEntry 1 }
  608.  
  609. vacmViewTreeFamilySubtree OBJECT-TYPE
  610.     SYNTAX       OBJECT IDENTIFIER
  611.     MAX-ACCESS   not-accessible
  612.     STATUS       current
  613.     DESCRIPTION "The MIB subtree which when combined with the
  614.                  corresponding instance of vacmViewTreeFamilyMask
  615.                  defines a family of view subtrees.
  616.                 "
  617.     ::= { vacmViewTreeFamilyEntry 2 }
  618.  
  619. vacmViewTreeFamilyMask OBJECT-TYPE
  620.     SYNTAX       OCTET STRING (SIZE (0..16))
  621.     MAX-ACCESS   read-create
  622.     STATUS       current
  623.     DESCRIPTION "The bit mask which, in combination with the
  624.                  corresponding instance of vacmViewTreeFamilySubtree,
  625.                  defines a family of view subtrees.
  626.  
  627.                  Each bit of this bit mask corresponds to a
  628.                  sub-identifier of vacmViewTreeFamilySubtree, with the
  629.                  most significant bit of the i-th octet of this octet
  630.                  string value (extended if necessary, see below)
  631.                  corresponding to the (8*i - 7)-th sub-identifier, and
  632.                  the least significant bit of the i-th octet of this
  633.                  octet string corresponding to the (8*i)-th
  634.                  sub-identifier, where i is in the range 1 through 16.
  635.  
  636.                  Each bit of this bit mask specifies whether or not
  637.                  the corresponding sub-identifiers must match when
  638.                  determining if an OBJECT IDENTIFIER is in this
  639.                  family of view subtrees; a '1' indicates that an
  640.                  exact match must occur; a '0' indicates 'wild card',
  641.                  i.e., any sub-identifier value matches.
  642.  
  643.                  Thus, the OBJECT IDENTIFIER X of an object instance
  644.                  is contained in a family of view subtrees if, for
  645.                  each sub-identifier of the value of
  646.                  vacmViewTreeFamilySubtree, either:
  647.  
  648.                    the i-th bit of vacmViewTreeFamilyMask is 0, or
  649.  
  650.                    the i-th sub-identifier of X is equal to the i-th
  651.                    sub-identifier of the value of
  652.                    vacmViewTreeFamilySubtree.
  653.  
  654.                  If the value of this bit mask is M bits long and
  655.                  there are more than M sub-identifiers in the
  656.                  corresponding instance of vacmViewTreeFamilySubtree,
  657.                  then the bit mask is extended with 1's to be the
  658.                  required length.
  659.  
  660.                  Note that when the value of this object is the
  661.                  zero-length string, this extension rule results in
  662.                  a mask of all-1's being used (i.e., no 'wild card'),
  663.                  and the family of view subtrees is the one view
  664.                  subtree uniquely identified by the corresponding
  665.                  instance of vacmViewTreeFamilySubtree.
  666.  
  667.                  Note that masks of length greater than zero length
  668.                  do not need to be supported. In this case this
  669.                  object is made read-only.
  670.                 "
  671.     DEFVAL      { ''H }
  672.     ::= { vacmViewTreeFamilyEntry 3 }
  673.  
  674. vacmViewTreeFamilyType OBJECT-TYPE
  675.     SYNTAX       INTEGER  { included(1), excluded(2) }
  676.     MAX-ACCESS   read-create
  677.     STATUS       current
  678.     DESCRIPTION "Indicates whether the corresponding instances of
  679.                  vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask
  680.                  define a family of view subtrees which is included in
  681.                  or excluded from the MIB view.
  682.                 "
  683.     DEFVAL      { included }
  684.     ::= { vacmViewTreeFamilyEntry 4 }
  685.  
  686. vacmViewTreeFamilyStorageType OBJECT-TYPE
  687.     SYNTAX       StorageType
  688.     MAX-ACCESS   read-create
  689.     STATUS       current
  690.     DESCRIPTION "The storage type for this conceptual row.
  691.  
  692.                  Conceptual rows having the value 'permanent' need not
  693.                  allow write-access to any columnar objects in the row.
  694.                 "
  695.     DEFVAL      { nonVolatile }
  696.     ::= { vacmViewTreeFamilyEntry 5 }
  697.  
  698. vacmViewTreeFamilyStatus OBJECT-TYPE
  699.     SYNTAX       RowStatus
  700.     MAX-ACCESS   read-create
  701.     STATUS       current
  702.     DESCRIPTION "The status of this conceptual row.
  703.  
  704.                  The  RowStatus TC [RFC2579] requires that this
  705.                  DESCRIPTION clause states under which circumstances
  706.                  other objects in this row can be modified:
  707.  
  708.                  The value of this object has no effect on whether
  709.                  other objects in this conceptual row can be modified.
  710.                 "
  711.     ::= { vacmViewTreeFamilyEntry 6 }
  712.  
  713. -- Conformance information *******************************************
  714.  
  715. vacmMIBCompliances  OBJECT IDENTIFIER ::= { vacmMIBConformance 1 }
  716. vacmMIBGroups       OBJECT IDENTIFIER ::= { vacmMIBConformance 2 }
  717.  
  718. -- Compliance statements *********************************************
  719.  
  720. vacmMIBCompliance MODULE-COMPLIANCE
  721.     STATUS       current
  722.     DESCRIPTION "The compliance statement for SNMP engines which
  723.                  implement the SNMP View-based Access Control Model
  724.                  configuration MIB.
  725.                 "
  726.     MODULE -- this module
  727.         MANDATORY-GROUPS { vacmBasicGroup }
  728.  
  729.         OBJECT        vacmAccessContextMatch
  730.         MIN-ACCESS    read-only
  731.         DESCRIPTION  "Write access is not required."
  732.  
  733.         OBJECT        vacmAccessReadViewName
  734.         MIN-ACCESS    read-only
  735.         DESCRIPTION  "Write access is not required."
  736.  
  737.         OBJECT        vacmAccessWriteViewName
  738.         MIN-ACCESS    read-only
  739.         DESCRIPTION  "Write access is not required."
  740.  
  741.         OBJECT        vacmAccessNotifyViewName
  742.         MIN-ACCESS    read-only
  743.         DESCRIPTION  "Write access is not required."
  744.  
  745.         OBJECT        vacmAccessStorageType
  746.         MIN-ACCESS    read-only
  747.         DESCRIPTION  "Write access is not required."
  748.  
  749.         OBJECT        vacmAccessStatus
  750.         MIN-ACCESS    read-only
  751.         DESCRIPTION  "Create/delete/modify access to the
  752.                       vacmAccessTable is not required.
  753.                      "
  754.  
  755.         OBJECT        vacmViewTreeFamilyMask
  756.         WRITE-SYNTAX  OCTET STRING (SIZE (0))
  757.         MIN-ACCESS    read-only
  758.         DESCRIPTION  "Support for configuration via SNMP of subtree
  759.                       families using wild-cards is not required.
  760.                      "
  761.  
  762.         OBJECT        vacmViewTreeFamilyType
  763.         MIN-ACCESS    read-only
  764.         DESCRIPTION  "Write access is not required."
  765.  
  766.         OBJECT        vacmViewTreeFamilyStorageType
  767.         MIN-ACCESS    read-only
  768.         DESCRIPTION  "Write access is not required."
  769.  
  770.         OBJECT        vacmViewTreeFamilyStatus
  771.         MIN-ACCESS    read-only
  772.         DESCRIPTION  "Create/delete/modify access to the
  773.                       vacmViewTreeFamilyTable is not required.
  774.                      "
  775.     ::= { vacmMIBCompliances 1 }
  776.  
  777. -- Units of conformance **********************************************
  778.  
  779. vacmBasicGroup OBJECT-GROUP
  780.     OBJECTS {
  781.               vacmContextName,
  782.               vacmGroupName,
  783.               vacmSecurityToGroupStorageType,
  784.               vacmSecurityToGroupStatus,
  785.               vacmAccessContextMatch,
  786.               vacmAccessReadViewName,
  787.               vacmAccessWriteViewName,
  788.               vacmAccessNotifyViewName,
  789.               vacmAccessStorageType,
  790.               vacmAccessStatus,
  791.               vacmViewSpinLock,
  792.               vacmViewTreeFamilyMask,
  793.               vacmViewTreeFamilyType,
  794.               vacmViewTreeFamilyStorageType,
  795.               vacmViewTreeFamilyStatus
  796.             }
  797.     STATUS       current
  798.     DESCRIPTION "A collection of objects providing for remote
  799.                  configuration of an SNMP engine which implements
  800.                  the SNMP View-based Access Control Model.
  801.                 "
  802.     ::= { vacmMIBGroups 1 }
  803.  
  804. END
  805.