Explains the Cisco AV pair configuration on external authentication servers that specifies required RBAC roles and privileges for users.
An AV pair on an external authentication server is a configuration mechanism that
-
specifies the APIC required RBAC roles and privileges for the user
-
uses the same format for RADIUS, LDAP, or TACACS+, and
-
is configured by adding a Cisco AV pair to the existing user record on the external authentication server.
AV pair configuration details
The Cisco APIC requires that an administrator configure a Cisco AV Pair on an external authentication server. To configure a Cisco AV Pair on an external authentication server, an administrator adds a Cisco AV pair to the existing user record.
The Cisco AV pair format is as follows:
shell:domains =
domainA/writeRole1|writeRole2|writeRole3/readRole1|readRole2,
domainB/writeRole1|writeRole2|writeRole3/readRole1|readRole2
shell:domains =
domainA/writeRole1|writeRole2|writeRole3/readRole1|readRole2,
domainB/writeRole1|writeRole2|writeRole3/readRole1|readRole2(16003)
Starting with Cisco APIC release 2.1, if no UNIX ID is provided in AV Pair, the APIC allocates the unique UNIX user ID internally.
Starting with release 3.1(x), the AV Pair shell:domains=all//admin allows you to assign Read-only privileges to users and provide them access to the switches and run commands.
The APIC supports these regexes:
shell:domains\\s*[=:]\\s*((\\S+?/\\S*?/\\S*?)(,\\S+?/\\S*?/\\S*?){0,31})(\\(\\d+\\))$
shell:domains\\s*[=:]\\s*((\\S+?/\\S*?/\\S*?)(,\\S+?/\\S*?/\\S*?){0,31})$
The APIC Cisco AV-pair format is compatible and can co-exist with other Cisco AV-pair formats. APIC will pick up the first matching AV-pair from all the AV-pairs.
The "/" character is a separator between writeRoles and readRoles per Security domain and is required even if only one type of role is to be used.
The Cisco AVpair string is case sensitive. Although a fault may not be seen, using mismatching cases for the domain name or roles could lead to unexpected privileges being given.
AV pair configuration examples
These examples show different AV pair configurations:
-
Example 1: A Cisco AV Pair that contains a single Security domain with only writeRoles:
shell:domains=domainA/writeRole1|writeRole2/ -
Example 2: A Cisco AV Pair that contains a single Security domain with only readRoles:
shell:domains=domainA//readRole1|readRole2
aaa-network-admin Cleartext-Password := "<password>"
Cisco-avpair = "shell:domains = all/aaa/read-all(16001)"