Blame mibs/SNMP-VIEW-BASED-ACM-MIB.txt

Packit fcad23
SNMP-VIEW-BASED-ACM-MIB DEFINITIONS ::= BEGIN
Packit fcad23
Packit fcad23
IMPORTS
Packit fcad23
    MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF
Packit fcad23
    MODULE-IDENTITY, OBJECT-TYPE,
Packit fcad23
    snmpModules                           FROM SNMPv2-SMI
Packit fcad23
    TestAndIncr,
Packit fcad23
    RowStatus, StorageType                FROM SNMPv2-TC
Packit fcad23
    SnmpAdminString,
Packit fcad23
    SnmpSecurityLevel,
Packit fcad23
    SnmpSecurityModel                     FROM SNMP-FRAMEWORK-MIB;
Packit fcad23
Packit fcad23
snmpVacmMIB       MODULE-IDENTITY
Packit fcad23
    LAST-UPDATED "200210160000Z"          -- 16 Oct 2002, midnight
Packit fcad23
    ORGANIZATION "SNMPv3 Working Group"
Packit fcad23
    CONTACT-INFO "WG-email:   snmpv3@lists.tislabs.com
Packit fcad23
                  Subscribe:  majordomo@lists.tislabs.com
Packit fcad23
                              In message body:  subscribe snmpv3
Packit fcad23
Packit fcad23
                  Co-Chair:   Russ Mundy
Packit fcad23
                              Network Associates Laboratories
Packit fcad23
                  postal:     15204 Omega Drive, Suite 300
Packit fcad23
                              Rockville, MD 20850-4601
Packit fcad23
                              USA
Packit fcad23
                  email:      mundy@tislabs.com
Packit fcad23
                  phone:      +1 301-947-7107
Packit fcad23
Packit fcad23
                  Co-Chair:   David Harrington
Packit fcad23
                              Enterasys Networks
Packit fcad23
                  Postal:     35 Industrial Way
Packit fcad23
                              P. O. Box 5004
Packit fcad23
                              Rochester, New Hampshire 03866-5005
Packit fcad23
                              USA
Packit fcad23
                  EMail:      dbh@enterasys.com
Packit fcad23
                  Phone:      +1 603-337-2614
Packit fcad23
Packit fcad23
                  Co-editor:  Bert Wijnen
Packit fcad23
                              Lucent Technologies
Packit fcad23
                  postal:     Schagen 33
Packit fcad23
                              3461 GL Linschoten
Packit fcad23
                              Netherlands
Packit fcad23
                  email:      bwijnen@lucent.com
Packit fcad23
                  phone:      +31-348-480-685
Packit fcad23
Packit fcad23
                  Co-editor:  Randy Presuhn
Packit fcad23
                              BMC Software, Inc.
Packit fcad23
Packit fcad23
                  postal:     2141 North First Street
Packit fcad23
                              San Jose, CA 95131
Packit fcad23
                              USA
Packit fcad23
                  email:      randy_presuhn@bmc.com
Packit fcad23
                  phone:      +1 408-546-1006
Packit fcad23
Packit fcad23
                  Co-editor:  Keith McCloghrie
Packit fcad23
                              Cisco Systems, Inc.
Packit fcad23
                  postal:     170 West Tasman Drive
Packit fcad23
                              San Jose, CA  95134-1706
Packit fcad23
                              USA
Packit fcad23
                  email:      kzm@cisco.com
Packit fcad23
                  phone:      +1-408-526-5260
Packit fcad23
                 "
Packit fcad23
    DESCRIPTION  "The management information definitions for the
Packit fcad23
                  View-based Access Control Model for SNMP.
Packit fcad23
Packit fcad23
                  Copyright (C) The Internet Society (2002). This
Packit fcad23
                  version of this MIB module is part of RFC 3415;
Packit fcad23
                  see the RFC itself for full legal notices.
Packit fcad23
                 "
Packit fcad23
--  Revision history
Packit fcad23
Packit fcad23
    REVISION     "200210160000Z"          -- 16 Oct 2002, midnight
Packit fcad23
    DESCRIPTION  "Clarifications, published as RFC3415"
Packit fcad23
Packit fcad23
    REVISION     "199901200000Z"          -- 20 Jan 1999, midnight
Packit fcad23
    DESCRIPTION  "Clarifications, published as RFC2575"
Packit fcad23
Packit fcad23
    REVISION     "199711200000Z"          -- 20 Nov 1997, midnight
Packit fcad23
    DESCRIPTION  "Initial version, published as RFC2275"
Packit fcad23
    ::= { snmpModules 16 }
Packit fcad23
Packit fcad23
-- Administrative assignments ****************************************
Packit fcad23
Packit fcad23
vacmMIBObjects      OBJECT IDENTIFIER ::= { snmpVacmMIB 1 }
Packit fcad23
vacmMIBConformance  OBJECT IDENTIFIER ::= { snmpVacmMIB 2 }
Packit fcad23
Packit fcad23
-- Information about Local Contexts **********************************
Packit fcad23
Packit fcad23
vacmContextTable OBJECT-TYPE
Packit fcad23
    SYNTAX       SEQUENCE OF VacmContextEntry
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The table of locally available contexts.
Packit fcad23
Packit fcad23
                 This table provides information to SNMP Command
Packit fcad23
Packit fcad23
                 Generator applications so that they can properly
Packit fcad23
                 configure the vacmAccessTable to control access to
Packit fcad23
                 all contexts at the SNMP entity.
Packit fcad23
Packit fcad23
                 This table may change dynamically if the SNMP entity
Packit fcad23
                 allows that contexts are added/deleted dynamically
Packit fcad23
                 (for instance when its configuration changes).  Such
Packit fcad23
                 changes would happen only if the management
Packit fcad23
                 instrumentation at that SNMP entity recognizes more
Packit fcad23
                 (or fewer) contexts.
Packit fcad23
Packit fcad23
                 The presence of entries in this table and of entries
Packit fcad23
                 in the vacmAccessTable are independent.  That is, a
Packit fcad23
                 context identified by an entry in this table is not
Packit fcad23
                 necessarily referenced by any entries in the
Packit fcad23
                 vacmAccessTable; and the context(s) referenced by an
Packit fcad23
                 entry in the vacmAccessTable does not necessarily
Packit fcad23
                 currently exist and thus need not be identified by an
Packit fcad23
                 entry in this table.
Packit fcad23
Packit fcad23
                 This table must be made accessible via the default
Packit fcad23
                 context so that Command Responder applications have
Packit fcad23
                 a standard way of retrieving the information.
Packit fcad23
Packit fcad23
                 This table is read-only.  It cannot be configured via
Packit fcad23
                 SNMP.
Packit fcad23
                "
Packit fcad23
    ::= { vacmMIBObjects 1 }
Packit fcad23
Packit fcad23
vacmContextEntry OBJECT-TYPE
Packit fcad23
    SYNTAX       VacmContextEntry
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "Information about a particular context."
Packit fcad23
    INDEX       {
Packit fcad23
                  vacmContextName
Packit fcad23
                }
Packit fcad23
    ::= { vacmContextTable 1 }
Packit fcad23
Packit fcad23
VacmContextEntry ::= SEQUENCE
Packit fcad23
    {
Packit fcad23
        vacmContextName SnmpAdminString
Packit fcad23
    }
Packit fcad23
Packit fcad23
vacmContextName  OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpAdminString (SIZE(0..32))
Packit fcad23
    MAX-ACCESS   read-only
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "A human readable name identifying a particular
Packit fcad23
                 context at a particular SNMP entity.
Packit fcad23
Packit fcad23
                 The empty contextName (zero length) represents the
Packit fcad23
                 default context.
Packit fcad23
                "
Packit fcad23
    ::= { vacmContextEntry 1 }
Packit fcad23
Packit fcad23
-- Information about Groups ******************************************
Packit fcad23
Packit fcad23
vacmSecurityToGroupTable OBJECT-TYPE
Packit fcad23
    SYNTAX       SEQUENCE OF VacmSecurityToGroupEntry
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "This table maps a combination of securityModel and
Packit fcad23
                 securityName into a groupName which is used to define
Packit fcad23
                 an access control policy for a group of principals.
Packit fcad23
                "
Packit fcad23
    ::= { vacmMIBObjects 2 }
Packit fcad23
Packit fcad23
vacmSecurityToGroupEntry OBJECT-TYPE
Packit fcad23
    SYNTAX       VacmSecurityToGroupEntry
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "An entry in this table maps the combination of a
Packit fcad23
                 securityModel and securityName into a groupName.
Packit fcad23
                "
Packit fcad23
    INDEX       {
Packit fcad23
                  vacmSecurityModel,
Packit fcad23
                  vacmSecurityName
Packit fcad23
                }
Packit fcad23
    ::= { vacmSecurityToGroupTable 1 }
Packit fcad23
Packit fcad23
VacmSecurityToGroupEntry ::= SEQUENCE
Packit fcad23
    {
Packit fcad23
        vacmSecurityModel               SnmpSecurityModel,
Packit fcad23
        vacmSecurityName                SnmpAdminString,
Packit fcad23
        vacmGroupName                   SnmpAdminString,
Packit fcad23
        vacmSecurityToGroupStorageType  StorageType,
Packit fcad23
        vacmSecurityToGroupStatus       RowStatus
Packit fcad23
    }
Packit fcad23
Packit fcad23
vacmSecurityModel OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpSecurityModel(1..2147483647)
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The Security Model, by which the vacmSecurityName
Packit fcad23
                 referenced by this entry is provided.
Packit fcad23
Packit fcad23
                 Note, this object may not take the 'any' (0) value.
Packit fcad23
                "
Packit fcad23
    ::= { vacmSecurityToGroupEntry 1 }
Packit fcad23
Packit fcad23
vacmSecurityName OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpAdminString (SIZE(1..32))
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The securityName for the principal, represented in a
Packit fcad23
                 Security Model independent format, which is mapped by
Packit fcad23
                 this entry to a groupName.
Packit fcad23
                "
Packit fcad23
    ::= { vacmSecurityToGroupEntry 2 }
Packit fcad23
Packit fcad23
vacmGroupName    OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpAdminString (SIZE(1..32))
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The name of the group to which this entry (e.g., the
Packit fcad23
                 combination of securityModel and securityName)
Packit fcad23
                 belongs.
Packit fcad23
Packit fcad23
                 This groupName is used as index into the
Packit fcad23
                 vacmAccessTable to select an access control policy.
Packit fcad23
                 However, a value in this table does not imply that an
Packit fcad23
                 instance with the value exists in table vacmAccesTable.
Packit fcad23
                "
Packit fcad23
    ::= { vacmSecurityToGroupEntry 3 }
Packit fcad23
Packit fcad23
vacmSecurityToGroupStorageType OBJECT-TYPE
Packit fcad23
    SYNTAX       StorageType
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The storage type for this conceptual row.
Packit fcad23
                 Conceptual rows having the value 'permanent' need not
Packit fcad23
                 allow write-access to any columnar objects in the row.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { nonVolatile }
Packit fcad23
    ::= { vacmSecurityToGroupEntry 4 }
Packit fcad23
Packit fcad23
vacmSecurityToGroupStatus OBJECT-TYPE
Packit fcad23
    SYNTAX       RowStatus
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The status of this conceptual row.
Packit fcad23
Packit fcad23
                 Until instances of all corresponding columns are
Packit fcad23
                 appropriately configured, the value of the
Packit fcad23
Packit fcad23
                 corresponding instance of the vacmSecurityToGroupStatus
Packit fcad23
                 column is 'notReady'.
Packit fcad23
Packit fcad23
                 In particular, a newly created row cannot be made
Packit fcad23
                 active until a value has been set for vacmGroupName.
Packit fcad23
Packit fcad23
                 The  RowStatus TC [RFC2579] requires that this
Packit fcad23
                 DESCRIPTION clause states under which circumstances
Packit fcad23
                 other objects in this row can be modified:
Packit fcad23
Packit fcad23
                 The value of this object has no effect on whether
Packit fcad23
                 other objects in this conceptual row can be modified.
Packit fcad23
                "
Packit fcad23
    ::= { vacmSecurityToGroupEntry 5 }
Packit fcad23
Packit fcad23
-- Information about Access Rights ***********************************
Packit fcad23
Packit fcad23
vacmAccessTable  OBJECT-TYPE
Packit fcad23
    SYNTAX       SEQUENCE OF VacmAccessEntry
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The table of access rights for groups.
Packit fcad23
Packit fcad23
                 Each entry is indexed by a groupName, a contextPrefix,
Packit fcad23
                 a securityModel and a securityLevel.  To determine
Packit fcad23
                 whether access is allowed, one entry from this table
Packit fcad23
                 needs to be selected and the proper viewName from that
Packit fcad23
                 entry must be used for access control checking.
Packit fcad23
Packit fcad23
                 To select the proper entry, follow these steps:
Packit fcad23
Packit fcad23
                 1) the set of possible matches is formed by the
Packit fcad23
                    intersection of the following sets of entries:
Packit fcad23
Packit fcad23
                      the set of entries with identical vacmGroupName
Packit fcad23
                      the union of these two sets:
Packit fcad23
                       - the set with identical vacmAccessContextPrefix
Packit fcad23
                       - the set of entries with vacmAccessContextMatch
Packit fcad23
                         value of 'prefix' and matching
Packit fcad23
                         vacmAccessContextPrefix
Packit fcad23
                      intersected with the union of these two sets:
Packit fcad23
                       - the set of entries with identical
Packit fcad23
                         vacmSecurityModel
Packit fcad23
                       - the set of entries with vacmSecurityModel
Packit fcad23
                         value of 'any'
Packit fcad23
                      intersected with the set of entries with
Packit fcad23
                      vacmAccessSecurityLevel value less than or equal
Packit fcad23
                      to the requested securityLevel
Packit fcad23
Packit fcad23
                 2) if this set has only one member, we're done
Packit fcad23
                    otherwise, it comes down to deciding how to weight
Packit fcad23
                    the preferences between ContextPrefixes,
Packit fcad23
                    SecurityModels, and SecurityLevels as follows:
Packit fcad23
                    a) if the subset of entries with securityModel
Packit fcad23
                       matching the securityModel in the message is
Packit fcad23
                       not empty, then discard the rest.
Packit fcad23
                    b) if the subset of entries with
Packit fcad23
                       vacmAccessContextPrefix matching the contextName
Packit fcad23
                       in the message is not empty,
Packit fcad23
                       then discard the rest
Packit fcad23
                    c) discard all entries with ContextPrefixes shorter
Packit fcad23
                       than the longest one remaining in the set
Packit fcad23
                    d) select the entry with the highest securityLevel
Packit fcad23
Packit fcad23
                 Please note that for securityLevel noAuthNoPriv, all
Packit fcad23
                 groups are really equivalent since the assumption that
Packit fcad23
                 the securityName has been authenticated does not hold.
Packit fcad23
                "
Packit fcad23
    ::= { vacmMIBObjects 4 }
Packit fcad23
Packit fcad23
vacmAccessEntry  OBJECT-TYPE
Packit fcad23
    SYNTAX       VacmAccessEntry
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "An access right configured in the Local Configuration
Packit fcad23
                 Datastore (LCD) authorizing access to an SNMP context.
Packit fcad23
Packit fcad23
                 Entries in this table can use an instance value for
Packit fcad23
                 object vacmGroupName even if no entry in table
Packit fcad23
                 vacmAccessSecurityToGroupTable has a corresponding
Packit fcad23
                 value for object vacmGroupName.
Packit fcad23
                "
Packit fcad23
    INDEX       { vacmGroupName,
Packit fcad23
                  vacmAccessContextPrefix,
Packit fcad23
                  vacmAccessSecurityModel,
Packit fcad23
                  vacmAccessSecurityLevel
Packit fcad23
                }
Packit fcad23
    ::= { vacmAccessTable 1 }
Packit fcad23
Packit fcad23
VacmAccessEntry ::= SEQUENCE
Packit fcad23
    {
Packit fcad23
        vacmAccessContextPrefix    SnmpAdminString,
Packit fcad23
        vacmAccessSecurityModel    SnmpSecurityModel,
Packit fcad23
        vacmAccessSecurityLevel    SnmpSecurityLevel,
Packit fcad23
        vacmAccessContextMatch     INTEGER,
Packit fcad23
        vacmAccessReadViewName     SnmpAdminString,
Packit fcad23
        vacmAccessWriteViewName    SnmpAdminString,
Packit fcad23
        vacmAccessNotifyViewName   SnmpAdminString,
Packit fcad23
        vacmAccessStorageType      StorageType,
Packit fcad23
        vacmAccessStatus           RowStatus
Packit fcad23
    }
Packit fcad23
Packit fcad23
vacmAccessContextPrefix OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpAdminString (SIZE(0..32))
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "In order to gain the access rights allowed by this
Packit fcad23
                 conceptual row, a contextName must match exactly
Packit fcad23
                 (if the value of vacmAccessContextMatch is 'exact')
Packit fcad23
                 or partially (if the value of vacmAccessContextMatch
Packit fcad23
                 is 'prefix') to the value of the instance of this
Packit fcad23
                 object.
Packit fcad23
                "
Packit fcad23
    ::= { vacmAccessEntry 1 }
Packit fcad23
Packit fcad23
vacmAccessSecurityModel OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpSecurityModel
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "In order to gain the access rights allowed by this
Packit fcad23
                 conceptual row, this securityModel must be in use.
Packit fcad23
                "
Packit fcad23
    ::= { vacmAccessEntry 2 }
Packit fcad23
Packit fcad23
vacmAccessSecurityLevel OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpSecurityLevel
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The minimum level of security required in order to
Packit fcad23
                 gain the access rights allowed by this conceptual
Packit fcad23
                 row.  A securityLevel of noAuthNoPriv is less than
Packit fcad23
                 authNoPriv which in turn is less than authPriv.
Packit fcad23
Packit fcad23
                 If multiple entries are equally indexed except for
Packit fcad23
                 this vacmAccessSecurityLevel index, then the entry
Packit fcad23
                 which has the highest value for
Packit fcad23
                 vacmAccessSecurityLevel is selected.
Packit fcad23
                "
Packit fcad23
    ::= { vacmAccessEntry 3 }
Packit fcad23
Packit fcad23
vacmAccessContextMatch OBJECT-TYPE
Packit fcad23
    SYNTAX       INTEGER
Packit fcad23
                { exact (1), -- exact match of prefix and contextName
Packit fcad23
                  prefix (2) -- Only match to the prefix
Packit fcad23
                }
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "If the value of this object is exact(1), then all
Packit fcad23
                 rows where the contextName exactly matches
Packit fcad23
                 vacmAccessContextPrefix are selected.
Packit fcad23
Packit fcad23
                 If the value of this object is prefix(2), then all
Packit fcad23
                 rows where the contextName whose starting octets
Packit fcad23
                 exactly match vacmAccessContextPrefix are selected.
Packit fcad23
                 This allows for a simple form of wildcarding.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { exact }
Packit fcad23
    ::= { vacmAccessEntry 4 }
Packit fcad23
Packit fcad23
vacmAccessReadViewName OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpAdminString (SIZE(0..32))
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The value of an instance of this object identifies
Packit fcad23
                 the MIB view of the SNMP context to which this
Packit fcad23
                 conceptual row authorizes read access.
Packit fcad23
Packit fcad23
                 The identified MIB view is that one for which the
Packit fcad23
                 vacmViewTreeFamilyViewName has the same value as the
Packit fcad23
                 instance of this object; if the value is the empty
Packit fcad23
                 string or if there is no active MIB view having this
Packit fcad23
                 value of vacmViewTreeFamilyViewName, then no access
Packit fcad23
                 is granted.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { ''H }   -- the empty string
Packit fcad23
    ::= { vacmAccessEntry 5 }
Packit fcad23
Packit fcad23
vacmAccessWriteViewName OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpAdminString (SIZE(0..32))
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The value of an instance of this object identifies
Packit fcad23
                 the MIB view of the SNMP context to which this
Packit fcad23
                 conceptual row authorizes write access.
Packit fcad23
Packit fcad23
                 The identified MIB view is that one for which the
Packit fcad23
                 vacmViewTreeFamilyViewName has the same value as the
Packit fcad23
                 instance of this object; if the value is the empty
Packit fcad23
                 string or if there is no active MIB view having this
Packit fcad23
                 value of vacmViewTreeFamilyViewName, then no access
Packit fcad23
                 is granted.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { ''H }   -- the empty string
Packit fcad23
    ::= { vacmAccessEntry 6 }
Packit fcad23
Packit fcad23
vacmAccessNotifyViewName OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpAdminString (SIZE(0..32))
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The value of an instance of this object identifies
Packit fcad23
                 the MIB view of the SNMP context to which this
Packit fcad23
                 conceptual row authorizes access for notifications.
Packit fcad23
Packit fcad23
                 The identified MIB view is that one for which the
Packit fcad23
                 vacmViewTreeFamilyViewName has the same value as the
Packit fcad23
                 instance of this object; if the value is the empty
Packit fcad23
                 string or if there is no active MIB view having this
Packit fcad23
                 value of vacmViewTreeFamilyViewName, then no access
Packit fcad23
                 is granted.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { ''H }   -- the empty string
Packit fcad23
    ::= { vacmAccessEntry 7 }
Packit fcad23
Packit fcad23
vacmAccessStorageType OBJECT-TYPE
Packit fcad23
    SYNTAX       StorageType
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The storage type for this conceptual row.
Packit fcad23
Packit fcad23
                 Conceptual rows having the value 'permanent' need not
Packit fcad23
                 allow write-access to any columnar objects in the row.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { nonVolatile }
Packit fcad23
    ::= { vacmAccessEntry 8 }
Packit fcad23
Packit fcad23
vacmAccessStatus OBJECT-TYPE
Packit fcad23
    SYNTAX       RowStatus
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The status of this conceptual row.
Packit fcad23
Packit fcad23
                 The  RowStatus TC [RFC2579] requires that this
Packit fcad23
                 DESCRIPTION clause states under which circumstances
Packit fcad23
                 other objects in this row can be modified:
Packit fcad23
Packit fcad23
                 The value of this object has no effect on whether
Packit fcad23
                 other objects in this conceptual row can be modified.
Packit fcad23
                "
Packit fcad23
    ::= { vacmAccessEntry 9 }
Packit fcad23
Packit fcad23
-- Information about MIB views ***************************************
Packit fcad23
Packit fcad23
-- Support for instance-level granularity is optional.
Packit fcad23
--
Packit fcad23
-- In some implementations, instance-level access control
Packit fcad23
-- granularity may come at a high performance cost.  Managers
Packit fcad23
-- should avoid requesting such configurations unnecessarily.
Packit fcad23
Packit fcad23
vacmMIBViews     OBJECT IDENTIFIER ::= { vacmMIBObjects 5 }
Packit fcad23
Packit fcad23
vacmViewSpinLock OBJECT-TYPE
Packit fcad23
    SYNTAX       TestAndIncr
Packit fcad23
    MAX-ACCESS   read-write
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "An advisory lock used to allow cooperating SNMP
Packit fcad23
                 Command Generator applications to coordinate their
Packit fcad23
                 use of the Set operation in creating or modifying
Packit fcad23
                 views.
Packit fcad23
Packit fcad23
                 When creating a new view or altering an existing
Packit fcad23
                 view, it is important to understand the potential
Packit fcad23
                 interactions with other uses of the view.  The
Packit fcad23
                 vacmViewSpinLock should be retrieved.  The name of
Packit fcad23
                 the view to be created should be determined to be
Packit fcad23
                 unique by the SNMP Command Generator application by
Packit fcad23
                 consulting the vacmViewTreeFamilyTable.  Finally,
Packit fcad23
                 the named view may be created (Set), including the
Packit fcad23
                 advisory lock.
Packit fcad23
                 If another SNMP Command Generator application has
Packit fcad23
                 altered the views in the meantime, then the spin
Packit fcad23
                 lock's value will have changed, and so this creation
Packit fcad23
                 will fail because it will specify the wrong value for
Packit fcad23
                 the spin lock.
Packit fcad23
Packit fcad23
                 Since this is an advisory lock, the use of this lock
Packit fcad23
                 is not enforced.
Packit fcad23
                "
Packit fcad23
    ::= { vacmMIBViews 1 }
Packit fcad23
Packit fcad23
vacmViewTreeFamilyTable OBJECT-TYPE
Packit fcad23
    SYNTAX       SEQUENCE OF VacmViewTreeFamilyEntry
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "Locally held information about families of subtrees
Packit fcad23
                 within MIB views.
Packit fcad23
Packit fcad23
                 Each MIB view is defined by two sets of view subtrees:
Packit fcad23
                   - the included view subtrees, and
Packit fcad23
                   - the excluded view subtrees.
Packit fcad23
                 Every such view subtree, both the included and the
Packit fcad23
Packit fcad23
                 excluded ones, is defined in this table.
Packit fcad23
Packit fcad23
                 To determine if a particular object instance is in
Packit fcad23
                 a particular MIB view, compare the object instance's
Packit fcad23
                 OBJECT IDENTIFIER with each of the MIB view's active
Packit fcad23
                 entries in this table.  If none match, then the
Packit fcad23
                 object instance is not in the MIB view.  If one or
Packit fcad23
                 more match, then the object instance is included in,
Packit fcad23
                 or excluded from, the MIB view according to the
Packit fcad23
                 value of vacmViewTreeFamilyType in the entry whose
Packit fcad23
                 value of vacmViewTreeFamilySubtree has the most
Packit fcad23
                 sub-identifiers.  If multiple entries match and have
Packit fcad23
                 the same number of sub-identifiers (when wildcarding
Packit fcad23
                 is specified with the value of vacmViewTreeFamilyMask),
Packit fcad23
                 then the lexicographically greatest instance of
Packit fcad23
                 vacmViewTreeFamilyType determines the inclusion or
Packit fcad23
                 exclusion.
Packit fcad23
Packit fcad23
                 An object instance's OBJECT IDENTIFIER X matches an
Packit fcad23
                 active entry in this table when the number of
Packit fcad23
                 sub-identifiers in X is at least as many as in the
Packit fcad23
                 value of vacmViewTreeFamilySubtree for the entry,
Packit fcad23
                 and each sub-identifier in the value of
Packit fcad23
                 vacmViewTreeFamilySubtree matches its corresponding
Packit fcad23
                 sub-identifier in X.  Two sub-identifiers match
Packit fcad23
                 either if the corresponding bit of the value of
Packit fcad23
                 vacmViewTreeFamilyMask for the entry is zero (the
Packit fcad23
                 'wild card' value), or if they are equal.
Packit fcad23
Packit fcad23
                 A 'family' of subtrees is the set of subtrees defined
Packit fcad23
                 by a particular combination of values of
Packit fcad23
                 vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask.
Packit fcad23
Packit fcad23
                 In the case where no 'wild card' is defined in the
Packit fcad23
                 vacmViewTreeFamilyMask, the family of subtrees reduces
Packit fcad23
                 to a single subtree.
Packit fcad23
Packit fcad23
                 When creating or changing MIB views, an SNMP Command
Packit fcad23
                 Generator application should utilize the
Packit fcad23
                 vacmViewSpinLock to try to avoid collisions.  See
Packit fcad23
                 DESCRIPTION clause of vacmViewSpinLock.
Packit fcad23
Packit fcad23
                 When creating MIB views, it is strongly advised that
Packit fcad23
                 first the 'excluded' vacmViewTreeFamilyEntries are
Packit fcad23
                 created and then the 'included' entries.
Packit fcad23
Packit fcad23
                 When deleting MIB views, it is strongly advised that
Packit fcad23
                 first the 'included' vacmViewTreeFamilyEntries are
Packit fcad23
Packit fcad23
                 deleted and then the 'excluded' entries.
Packit fcad23
Packit fcad23
                 If a create for an entry for instance-level access
Packit fcad23
                 control is received and the implementation does not
Packit fcad23
                 support instance-level granularity, then an
Packit fcad23
                 inconsistentName error must be returned.
Packit fcad23
                "
Packit fcad23
    ::= { vacmMIBViews 2 }
Packit fcad23
Packit fcad23
vacmViewTreeFamilyEntry OBJECT-TYPE
Packit fcad23
    SYNTAX       VacmViewTreeFamilyEntry
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "Information on a particular family of view subtrees
Packit fcad23
                 included in or excluded from a particular SNMP
Packit fcad23
                 context's MIB view.
Packit fcad23
Packit fcad23
                 Implementations must not restrict the number of
Packit fcad23
                 families of view subtrees for a given MIB view,
Packit fcad23
                 except as dictated by resource constraints on the
Packit fcad23
                 overall number of entries in the
Packit fcad23
                 vacmViewTreeFamilyTable.
Packit fcad23
Packit fcad23
                 If no conceptual rows exist in this table for a given
Packit fcad23
                 MIB view (viewName), that view may be thought of as
Packit fcad23
                 consisting of the empty set of view subtrees.
Packit fcad23
                "
Packit fcad23
    INDEX       { vacmViewTreeFamilyViewName,
Packit fcad23
                  vacmViewTreeFamilySubtree
Packit fcad23
                }
Packit fcad23
    ::= { vacmViewTreeFamilyTable 1 }
Packit fcad23
Packit fcad23
VacmViewTreeFamilyEntry ::= SEQUENCE
Packit fcad23
    {
Packit fcad23
        vacmViewTreeFamilyViewName     SnmpAdminString,
Packit fcad23
        vacmViewTreeFamilySubtree      OBJECT IDENTIFIER,
Packit fcad23
        vacmViewTreeFamilyMask         OCTET STRING,
Packit fcad23
        vacmViewTreeFamilyType         INTEGER,
Packit fcad23
        vacmViewTreeFamilyStorageType  StorageType,
Packit fcad23
        vacmViewTreeFamilyStatus       RowStatus
Packit fcad23
    }
Packit fcad23
Packit fcad23
vacmViewTreeFamilyViewName OBJECT-TYPE
Packit fcad23
    SYNTAX       SnmpAdminString (SIZE(1..32))
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The human readable name for a family of view subtrees.
Packit fcad23
                "
Packit fcad23
    ::= { vacmViewTreeFamilyEntry 1 }
Packit fcad23
Packit fcad23
vacmViewTreeFamilySubtree OBJECT-TYPE
Packit fcad23
    SYNTAX       OBJECT IDENTIFIER
Packit fcad23
    MAX-ACCESS   not-accessible
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The MIB subtree which when combined with the
Packit fcad23
                 corresponding instance of vacmViewTreeFamilyMask
Packit fcad23
                 defines a family of view subtrees.
Packit fcad23
                "
Packit fcad23
    ::= { vacmViewTreeFamilyEntry 2 }
Packit fcad23
Packit fcad23
vacmViewTreeFamilyMask OBJECT-TYPE
Packit fcad23
    SYNTAX       OCTET STRING (SIZE (0..16))
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The bit mask which, in combination with the
Packit fcad23
                 corresponding instance of vacmViewTreeFamilySubtree,
Packit fcad23
                 defines a family of view subtrees.
Packit fcad23
Packit fcad23
                 Each bit of this bit mask corresponds to a
Packit fcad23
                 sub-identifier of vacmViewTreeFamilySubtree, with the
Packit fcad23
                 most significant bit of the i-th octet of this octet
Packit fcad23
                 string value (extended if necessary, see below)
Packit fcad23
                 corresponding to the (8*i - 7)-th sub-identifier, and
Packit fcad23
                 the least significant bit of the i-th octet of this
Packit fcad23
                 octet string corresponding to the (8*i)-th
Packit fcad23
                 sub-identifier, where i is in the range 1 through 16.
Packit fcad23
Packit fcad23
                 Each bit of this bit mask specifies whether or not
Packit fcad23
                 the corresponding sub-identifiers must match when
Packit fcad23
                 determining if an OBJECT IDENTIFIER is in this
Packit fcad23
                 family of view subtrees; a '1' indicates that an
Packit fcad23
                 exact match must occur; a '0' indicates 'wild card',
Packit fcad23
                 i.e., any sub-identifier value matches.
Packit fcad23
Packit fcad23
                 Thus, the OBJECT IDENTIFIER X of an object instance
Packit fcad23
                 is contained in a family of view subtrees if, for
Packit fcad23
                 each sub-identifier of the value of
Packit fcad23
                 vacmViewTreeFamilySubtree, either:
Packit fcad23
Packit fcad23
                   the i-th bit of vacmViewTreeFamilyMask is 0, or
Packit fcad23
Packit fcad23
                   the i-th sub-identifier of X is equal to the i-th
Packit fcad23
                   sub-identifier of the value of
Packit fcad23
                   vacmViewTreeFamilySubtree.
Packit fcad23
Packit fcad23
                 If the value of this bit mask is M bits long and
Packit fcad23
Packit fcad23
                 there are more than M sub-identifiers in the
Packit fcad23
                 corresponding instance of vacmViewTreeFamilySubtree,
Packit fcad23
                 then the bit mask is extended with 1's to be the
Packit fcad23
                 required length.
Packit fcad23
Packit fcad23
                 Note that when the value of this object is the
Packit fcad23
                 zero-length string, this extension rule results in
Packit fcad23
                 a mask of all-1's being used (i.e., no 'wild card'),
Packit fcad23
                 and the family of view subtrees is the one view
Packit fcad23
                 subtree uniquely identified by the corresponding
Packit fcad23
                 instance of vacmViewTreeFamilySubtree.
Packit fcad23
Packit fcad23
                 Note that masks of length greater than zero length
Packit fcad23
                 do not need to be supported.  In this case this
Packit fcad23
                 object is made read-only.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { ''H }
Packit fcad23
    ::= { vacmViewTreeFamilyEntry 3 }
Packit fcad23
Packit fcad23
vacmViewTreeFamilyType OBJECT-TYPE
Packit fcad23
    SYNTAX       INTEGER  { included(1), excluded(2) }
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "Indicates whether the corresponding instances of
Packit fcad23
                 vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask
Packit fcad23
                 define a family of view subtrees which is included in
Packit fcad23
                 or excluded from the MIB view.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { included }
Packit fcad23
    ::= { vacmViewTreeFamilyEntry 4 }
Packit fcad23
Packit fcad23
vacmViewTreeFamilyStorageType OBJECT-TYPE
Packit fcad23
    SYNTAX       StorageType
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The storage type for this conceptual row.
Packit fcad23
Packit fcad23
                 Conceptual rows having the value 'permanent' need not
Packit fcad23
                 allow write-access to any columnar objects in the row.
Packit fcad23
                "
Packit fcad23
    DEFVAL      { nonVolatile }
Packit fcad23
    ::= { vacmViewTreeFamilyEntry 5 }
Packit fcad23
Packit fcad23
vacmViewTreeFamilyStatus OBJECT-TYPE
Packit fcad23
    SYNTAX       RowStatus
Packit fcad23
    MAX-ACCESS   read-create
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The status of this conceptual row.
Packit fcad23
Packit fcad23
                 The  RowStatus TC [RFC2579] requires that this
Packit fcad23
                 DESCRIPTION clause states under which circumstances
Packit fcad23
                 other objects in this row can be modified:
Packit fcad23
Packit fcad23
                 The value of this object has no effect on whether
Packit fcad23
                 other objects in this conceptual row can be modified.
Packit fcad23
                "
Packit fcad23
    ::= { vacmViewTreeFamilyEntry 6 }
Packit fcad23
Packit fcad23
-- Conformance information *******************************************
Packit fcad23
Packit fcad23
vacmMIBCompliances  OBJECT IDENTIFIER ::= { vacmMIBConformance 1 }
Packit fcad23
vacmMIBGroups       OBJECT IDENTIFIER ::= { vacmMIBConformance 2 }
Packit fcad23
Packit fcad23
-- Compliance statements *********************************************
Packit fcad23
Packit fcad23
vacmMIBCompliance MODULE-COMPLIANCE
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "The compliance statement for SNMP engines which
Packit fcad23
                 implement the SNMP View-based Access Control Model
Packit fcad23
                 configuration MIB.
Packit fcad23
                "
Packit fcad23
    MODULE -- this module
Packit fcad23
        MANDATORY-GROUPS { vacmBasicGroup }
Packit fcad23
Packit fcad23
        OBJECT        vacmAccessContextMatch
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Write access is not required."
Packit fcad23
Packit fcad23
        OBJECT        vacmAccessReadViewName
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Write access is not required."
Packit fcad23
Packit fcad23
        OBJECT        vacmAccessWriteViewName
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Write access is not required."
Packit fcad23
Packit fcad23
        OBJECT        vacmAccessNotifyViewName
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Write access is not required."
Packit fcad23
Packit fcad23
        OBJECT        vacmAccessStorageType
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Write access is not required."
Packit fcad23
Packit fcad23
        OBJECT        vacmAccessStatus
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Create/delete/modify access to the
Packit fcad23
Packit fcad23
                      vacmAccessTable is not required.
Packit fcad23
                     "
Packit fcad23
Packit fcad23
        OBJECT        vacmViewTreeFamilyMask
Packit fcad23
        WRITE-SYNTAX  OCTET STRING (SIZE (0))
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Support for configuration via SNMP of subtree
Packit fcad23
                      families using wild-cards is not required.
Packit fcad23
                     "
Packit fcad23
Packit fcad23
        OBJECT        vacmViewTreeFamilyType
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Write access is not required."
Packit fcad23
Packit fcad23
        OBJECT        vacmViewTreeFamilyStorageType
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Write access is not required."
Packit fcad23
Packit fcad23
        OBJECT        vacmViewTreeFamilyStatus
Packit fcad23
        MIN-ACCESS    read-only
Packit fcad23
        DESCRIPTION  "Create/delete/modify access to the
Packit fcad23
                      vacmViewTreeFamilyTable is not required.
Packit fcad23
                     "
Packit fcad23
    ::= { vacmMIBCompliances 1 }
Packit fcad23
Packit fcad23
-- Units of conformance **********************************************
Packit fcad23
Packit fcad23
vacmBasicGroup OBJECT-GROUP
Packit fcad23
    OBJECTS {
Packit fcad23
              vacmContextName,
Packit fcad23
              vacmGroupName,
Packit fcad23
              vacmSecurityToGroupStorageType,
Packit fcad23
              vacmSecurityToGroupStatus,
Packit fcad23
              vacmAccessContextMatch,
Packit fcad23
              vacmAccessReadViewName,
Packit fcad23
              vacmAccessWriteViewName,
Packit fcad23
              vacmAccessNotifyViewName,
Packit fcad23
              vacmAccessStorageType,
Packit fcad23
              vacmAccessStatus,
Packit fcad23
              vacmViewSpinLock,
Packit fcad23
              vacmViewTreeFamilyMask,
Packit fcad23
              vacmViewTreeFamilyType,
Packit fcad23
              vacmViewTreeFamilyStorageType,
Packit fcad23
              vacmViewTreeFamilyStatus
Packit fcad23
            }
Packit fcad23
    STATUS       current
Packit fcad23
    DESCRIPTION "A collection of objects providing for remote
Packit fcad23
                 configuration of an SNMP engine which implements
Packit fcad23
Packit fcad23
                 the SNMP View-based Access Control Model.
Packit fcad23
                "
Packit fcad23
    ::= { vacmMIBGroups 1 }
Packit fcad23
Packit fcad23
END