summaryrefslogtreecommitdiff
path: root/MIBS/comware/HH3C-RBAC-MIB
blob: 6f0d3371e1a90029c01af1313463072652578ea0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
-- =================================================================
-- Copyright (c) 2004-2014 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: This MIB is to provide the definition of the RBAC
--              (Role Based Access Control) system.
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 2014-08-08 Initial version, created by Xu Yang
-- =================================================================

HH3C-RBAC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    hh3cCommon
        FROM HH3C-OID-MIB
    Unsigned32, OBJECT-TYPE, MODULE-IDENTITY
        FROM SNMPv2-SMI
    TruthValue, RowStatus, StorageType, TEXTUAL-CONVENTION
        FROM SNMPv2-TC;

hh3cRbac MODULE-IDENTITY
    LAST-UPDATED "201408081547Z"
    ORGANIZATION
        "New H3C Tech. Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Tech. Co., Ltd.
         Hai-Dian District Beijing P.R. China
         http://www.h3c.com
         Zip:100085"
    DESCRIPTION
        "This MIB is to provide the definition of the RBAC
        (Role Based Access Control) system."
    REVISION "201408081547Z"
    DESCRIPTION
        "The initial revision of this MIB module."
    ::= { hh3cCommon 158 }

-- Top-level structure of MIB
hh3cRbacNotifications  OBJECT IDENTIFIER ::= { hh3cRbac 0 }
hh3cRbacObjects  OBJECT IDENTIFIER ::= { hh3cRbac 1 }

hh3cRbacInfo  OBJECT IDENTIFIER
    ::= { hh3cRbacObjects 1 }

hh3cRbacConfig  OBJECT IDENTIFIER
    ::= { hh3cRbacObjects 2 }


-- definition of textual conventions

Hh3cResourceType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "A User can be restricted from accessing resources by RBAC resource
        access policies.  There are four types of resource access policies as
        below:
        vlan(0)
                Bit value of 0 indicates that the user has access
                to no VLANs.
                Bit value of 1 indicates that the user has access
                to all VLANs.
                A user can be selectively assigned access to VLANs
                by configuring entries in the 'hh3cRbacPolicyTable'.
        interface(1)
                Bit value of 0 indicates that the user has access
                to no interfaces.
                Bit value of 1 indicates that the user has access
                to all interfaces.
                A user can be selectively assigned access to interfaces
                by configuring entries in the 'hh3cRbacPolicyTable'.
        vrf(2)
                Bit value of 0 indicates that the user has access
                to no VRFs.
                Bit value of 1 indicates that the user has access
                to all VRFs.
                A user can be selectively assigned access to VRFs
                by configuring entries in the 'hh3cRbacPolicyTable'.
        seczone(3)
                Bit value of 0 indicates that the user has access
                to no security zones.
                Bit value of 1 indicates that the user has access
                to all security zones.
                A user can be selectively assigned access to security zones
                by configuring entries in the 'hh3cRbacPolicyTable'."
    SYNTAX BITS
        {
            vlan(0),
            interface(1),
            vrf(2),
            seczone(3)
        }

Hh3cRuleType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "There are two types of rules.  List as below:
        system: pre-defined by system and isn't editable.
        user: defined by user and is editable.
        "
    SYNTAX INTEGER
        {
            system(1),
            user(2)
        }

Hh3cRuleOperation ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Privileges of a rule.
        exec  - execute operation
        read  - Read operation
        write - Write operation
        Note that if an operation is not supported by an entity,
        the operation does not apply to the entity."
    SYNTAX BITS
        {
            exec(0),
            read(1),
            write(2)
        }

Hh3cRuleAction ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "This indicates the action of a rule that defines the access privileges.
        permit  - permit the privileges
        deny    - deny the privileges
        "
    SYNTAX INTEGER
        {
            permit(1),
            deny(2)
        }

Hh3cEntityType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "This indicates the type of the entity in a rule."
    SYNTAX INTEGER
        {
            unknown(1),
            command(2),
            feature(3),
            featuregroup(4),
            webmenu(5),
            xmlelement(6),
            oid(7)
        }


--
-- nodes defined
--

hh3cRbacRoleDefaultEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object controls if an authenticated user can access the system
        when he or she isn't authorized any user roles.
        The default value is false."
    DEFVAL { false }
    ::= { hh3cRbacConfig 1 }

hh3cRbacRoleDefaultRoleName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..63))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If hh3cRbacRoleDefaultEnable is true, this object specifies
        the user role applied to the user when he or she accesses
        the system without any authorized user roles.
        If this object is not configured, the default user role
        applied is listed as below:
        network-operator - When login to the default MDC or default Context.
        mdc-operator     - When login to the non-default MDC.
        context-operator - When login to a non-default Context.
        "
    ::= { hh3cRbacConfig 2 }

--
-- definition of hh3cRbacRoleTable
--

hh3cRbacRoleTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cRbacRoleEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the basic configuration information
        about all user roles."
    ::= { hh3cRbacConfig 3 }

hh3cRbacRoleEntry OBJECT-TYPE
    SYNTAX Hh3cRbacRoleEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the hh3cRbacRoleTable.
        One entry per role defined on the device."
    INDEX { hh3cRbacRoleName }
    ::= { hh3cRbacRoleTable 1 }

Hh3cRbacRoleEntry ::=
    SEQUENCE {
        hh3cRbacRoleName            OCTET STRING,
        hh3cRbacRoleDescription     OCTET STRING,
        hh3cRbacRoleResourceAccess  Hh3cResourceType,
        hh3cRbacRoleStorageType     StorageType,
        hh3cRbacRoleRowStatus       RowStatus
    }

hh3cRbacRoleName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..63))
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The name of a role."
    ::= { hh3cRbacRoleEntry 1 }

hh3cRbacRoleDescription OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Description of the role."
    ::= { hh3cRbacRoleEntry 2 }

hh3cRbacRoleResourceAccess OBJECT-TYPE
    SYNTAX Hh3cResourceType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Defines the default access to the resources to which access can be
        controlled.  For example a role which has access to all VLANs,
        all Interfaces, no VRF and no security zone will be 0011."
    ::= { hh3cRbacRoleEntry 3 }

hh3cRbacRoleStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Storage type of this row."
    ::= { hh3cRbacRoleEntry 4 }

hh3cRbacRoleRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Status of this row."
    ::= { hh3cRbacRoleEntry 5 }

--
-- definition of hh3cRbacRuleTable
--

hh3cRbacRuleTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cRbacRuleEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the configuration information about rules
        in all user roles."
    ::= { hh3cRbacConfig 4 }


hh3cRbacRuleEntry OBJECT-TYPE
    SYNTAX Hh3cRbacRuleEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the hh3cRbacRuleTable.
        One entry indicates one rule in a role."
    INDEX {
        hh3cRbacRoleName,
        hh3cRbacRuleType,
        hh3cRbacRuleNumber
    }
    ::= { hh3cRbacRuleTable 1 }

Hh3cRbacRuleEntry ::=
    SEQUENCE {
        hh3cRbacRuleType            Hh3cRuleType,
        hh3cRbacRuleNumber          Unsigned32,
        hh3cRbacRuleAction          Hh3cRuleAction,
        hh3cRbacRuleOperation       Hh3cRuleOperation,
        hh3cRbacRuleEntityType      Hh3cEntityType,
        hh3cRbacRuleEntity          OCTET STRING,
        hh3cRbacRuleRowStatus       RowStatus
    }


hh3cRbacRuleType OBJECT-TYPE
    SYNTAX Hh3cRuleType
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The type of a rule."
    ::= { hh3cRbacRuleEntry 1 }

hh3cRbacRuleNumber OBJECT-TYPE
    SYNTAX Unsigned32 (1..256)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of rules in one role.  There are two kinds of rules in a role.
        One is system defined, the other is user defined.  The total numbers
        of user defined rules is 1024.
        In one role, the user defined rules will be applied first and then
        the system defined rules.
        For the rules of same type, the following guidelines will be applied:
        Non-OID: If two rules of the same entity type conflict,
        the rule with the higher index takes effect.
        OID: If the MIB node specified in a rule is a child node of
        the MIB nodes specified in other rules, only this rule takes effect.
        If the same OID is specified in multiple rules, the rule with
        the higher index takes effect."
    ::= { hh3cRbacRuleEntry 2 }

hh3cRbacRuleAction OBJECT-TYPE
    SYNTAX Hh3cRuleAction
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The action of a rule."
    ::= { hh3cRbacRuleEntry 3 }

hh3cRbacRuleOperation OBJECT-TYPE
    SYNTAX Hh3cRuleOperation
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Privileges of a rule."
    ::= { hh3cRbacRuleEntry 4 }

hh3cRbacRuleEntityType OBJECT-TYPE
    SYNTAX Hh3cEntityType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "This indicates the type of the entity in a rule.
        There are seven types of entity as below:
        unknown: invalid.
        command: a command or a set of commands that match a regular expression.
        feature: a feature which contains a set of commands.
        featuregroup: a group of features.
        webmenu: web menus.
        xmlelement: XML elements.
        oid: the specified MIB node and its child nodes."
    ::= { hh3cRbacRuleEntry 5 }

hh3cRbacRuleEntity OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..255))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "This indicates the entity that the privileges of rule apply to.
        It is may be a regular expression of commands, feature name,
        feature group name, web menu, xml element or oid.
        If the type of entity is feature or webmenu or xmlelement and the
        entity is a zero length string, then this rules applies to all
        the features or web menus or xml elements."
    ::= { hh3cRbacRuleEntry 6 }

hh3cRbacRuleRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Status of this rule."
    ::= { hh3cRbacRuleEntry 7 }

--
-- definition of hh3cRbacPolicyTable
--

hh3cRbacPolicyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cRbacPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the configuration information about resource
        access policies in all user roles.  A role may be restricted
        from accessing various resources of a device.  This table
        lists the resources that a role can access."
    ::= { hh3cRbacConfig 5 }


hh3cRbacPolicyEntry OBJECT-TYPE
    SYNTAX Hh3cRbacPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the hh3cRbacPolicyTable.
        One entry indicates an accessible resource.
        If a role named 'R' can access VLAN1 to VLAN10,
        then there will be 10 entries in this table.
        There are two objects to specify the resource
        in this table.
        If the value of 'hh3cRbacPolicyType' is 'vlan' or
        'interface', the column 'hh3cRbacPolicyValue' is a
        four octets value which means vlan ID or IfIndex.
        If the value of 'hh3cRbacPolicyType' is 'vrf' or 'seczone',
        the column 'hh3cRbacPolicyValue' is a string indicating
        the name of the VRF or security zone."
    INDEX {
        hh3cRbacRoleName,
        hh3cRbacPolicyType,
        hh3cRbacPolicyValue
    }
    ::= { hh3cRbacPolicyTable 1 }

Hh3cRbacPolicyEntry ::=
    SEQUENCE {
        hh3cRbacPolicyType            INTEGER,
        hh3cRbacPolicyValue           OCTET STRING,
        hh3cRbacPolicyRowStatus       RowStatus
    }

hh3cRbacPolicyType OBJECT-TYPE
    SYNTAX INTEGER
        {
            vlan(1),
            interface(2),
            vrf(3),
            seczone(4)
        }
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the type of the resource
        access policy of this entry."
    ::= { hh3cRbacPolicyEntry 1 }

hh3cRbacPolicyValue OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE(1..64))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object identifies the resource this role can access.
        If the value of 'hh3cRbacPolicyType' is 'vlan' or
        'interface', the column 'hh3cRbacPolicyValue' is a
        four-octet-value which means vlan ID or IfIndex.
        If the value of 'hh3cRbacPolicyType' is 'vrf' or 'seczone',
        the column 'hh3cRbacPolicyValue' is a string indicating
        the name of the VRF or security zone."
    ::= { hh3cRbacPolicyEntry 2 }

hh3cRbacPolicyRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Status of this row."
    ::= { hh3cRbacPolicyEntry 3 }

--
-- definition of hh3cRbacFeatureGroupTable
--

hh3cRbacFeatureGroupTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cRbacFeatureGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the configuration information about
        feature groups on a device."
    ::= { hh3cRbacConfig 6 }


hh3cRbacFeatureGroupEntry OBJECT-TYPE
    SYNTAX Hh3cRbacFeatureGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the hh3cRbacFeatureGroupTable.
        One entry indicates a feature in particular group."
    INDEX {
        hh3cRbacFeatureGroupName
    }
    ::= { hh3cRbacFeatureGroupTable 1 }

Hh3cRbacFeatureGroupEntry ::=
    SEQUENCE {
        hh3cRbacFeatureGroupName            OCTET STRING,
        hh3cRbacFeatureGroupRowStatus       RowStatus
    }

hh3cRbacFeatureGroupName OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE(1..31))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the name of a feature group."
    ::= { hh3cRbacFeatureGroupEntry 1 }

hh3cRbacFeatureGroupRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Status of this row."
    ::= { hh3cRbacFeatureGroupEntry 2 }

--
-- definition of hh3cRbacFeaturesInGroupTable
--

hh3cRbacFeatureInGroupTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cRbacFeatureInGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the configuration information about
        features in feature groups on a device."
    ::= { hh3cRbacConfig 7 }


hh3cRbacFeatureInGroupEntry OBJECT-TYPE
    SYNTAX Hh3cRbacFeatureInGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the hh3cRbacFeaturesInGroupTable.
        One entry indicates a feature in a particular group.
        If a newly created feature group doesn't contain any
        feature, there's no entry appearing in this table."
    INDEX {
        hh3cRbacFeatureGroupName,
        hh3cRbacFeatureNameInGroup
    }
    ::= { hh3cRbacFeatureInGroupTable 1 }

Hh3cRbacFeatureInGroupEntry ::=
    SEQUENCE {
        hh3cRbacFeatureNameInGroup            OCTET STRING,
        hh3cRbacFeatureInGroupRowStatus       RowStatus
    }

hh3cRbacFeatureNameInGroup OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE(1..15))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the name of a feature in the feature group."
    ::= { hh3cRbacFeatureInGroupEntry 1 }

hh3cRbacFeatureInGroupRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Status of this row."
    ::= { hh3cRbacFeatureInGroupEntry 2 }

--
-- definition of hh3cRbacFeatureTable
--

hh3cRbacFeatureTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cRbacFeatureEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the information about features on a device."
    ::= { hh3cRbacInfo 1 }

hh3cRbacFeatureEntry OBJECT-TYPE
    SYNTAX Hh3cRbacFeatureEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry in the hh3cRbacFeatureTable.
        One entry indicates information about a feature on a device."
    INDEX {
        hh3cRbacFeatureName
    }
    ::= { hh3cRbacFeatureTable 1 }

Hh3cRbacFeatureEntry ::=
    SEQUENCE {
        hh3cRbacFeatureName            OCTET STRING,
        hh3cRbacFeatureDescription     OCTET STRING
    }

hh3cRbacFeatureName OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE(1..15))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the name of a feature."
    ::= { hh3cRbacFeatureEntry 1 }

hh3cRbacFeatureDescription OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE(1..63))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the introduction of the feature."
    ::= { hh3cRbacFeatureEntry 2 }

END