Prerequisites for Local AAA Server
-
Before using this feature, enable the aaa new-model command.
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The Local AAA Server feature allows you to configure your device so that user authentication and authorization attributes currently available on AAA servers are available locally on the device. The attributes can be added to existing framework, such as the local user database or subscriber profile. The local AAA server provides access to the complete dictionary of Cisco IOS supported attributes.
Before using this feature, enable the aaa new-model command.
Information About Local AAA Server
The AAA subsystem (authentication, authorization, and accounting) is responsible for managing all supported attributes that are available to the various services within the Cisco IOS software. As such, it maintains its own local dictionary of all supported attributes.
You can configure your device so that AAA authentication and authorization attributes currently available on AAA servers are made available on existing Cisco IOS devices. The attributes can be added to existing framework, such as the local user database or subscriber profile. For example, an attribute list can now be added to an existing username, providing the ability for the local user database to act as a local AAA server. For situations in which the local username list is relatively small, this flexibility allows you to provide complete user authentication or authorization locally within the Cisco IOS software without having a AAA server. This ability can allow you to maintain your user database locally or provide a failover local mechanism without having to sacrifice policy options when defining local users.
A subscriber profile allows domain-based clients to have policy applied at the end-user service level. This flexibility allows common policy to be set for all users under a domain in one place and applied there whether or not user authorization is done locally. An attribute list can be added to the subscriber profile, allowing the profile to apply all attributes that can be applied to services using AAA servers. Attributes that are configured under the AAA attribute list are merged with the existing attributes that are generated with the existing subscriber profile and passed to the Subscriber Server Switch (SSS) framework for application.
Note |
Accounting is still done on a AAA server and is not supported by this feature. |
AAA attribute lists define user profiles that are local to the router. Every attribute that is known to the AAA subsystem is made available for configuration.
The AAA attributes that are defined in the AAA attribute list are standard RADIUS or TACACS+ attributes. However, they are in the Cisco IOS internal format for that attribute. The attributes must be converted from the RADIUS format (for a RADIUS case) to the Cisco IOS AAA interface format. TACACS+ attributes are generally identical to the Cisco IOS AAA interface format.
You can use the show aaa attributes protocol radius command to get the Cisco IOS AAA format of the Internet Engineering Task Force (IETF) RADIUS attribute. The show command output provides a complete list of all the AAA attributes that are supported.
Note |
The conversion from RADIUS to internal AAA is done internally within the AAA framework. RADIUS vendor-specific attributes (VSAs) are usually accurately reflected during conversion. TACACS+ attributes are also usually identical to the local attributes and do not require the conversion process. However, IETF numbered attributes and some special VSAs often require the conversion process. |
Attributes are not validated at configuration. The AAA subsystem “knows” only the format that is expected by the services when the service defines a given attribute inside a definition file. However, it cannot validate the attribute information itself. This validation is done by a service when it first uses the attribute. This validation applies whether the AAA server is RADIUS or TACACS+. Thus, if you are not familiar with configuring a AAA server, it is advisable that you test your attribute list on a test device with the service that will be using the list before configuring and using it in a production environment.
How to Configure a Local AAA Server
To define an AAA attribute list, perform the following steps.
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
aaa attribute list list-name Example:
|
Defines a AAA attribute list and enters attribute list configuration mode. |
Step 4 |
attribute type {name } {value } [service service ] [protocol protocol ] Example:
|
Defines an IP address pool to use. |
Step 5 |
attribute type {name } {value } [service service ] [protocol protocol ] Example:
|
Defines the loopback interface to use. |
Step 6 |
attribute type {name } {value } [service service ] [protocol protocol ] Example:
|
Defines the virtual route forwarding (VRF) to use. |
Step 7 |
attribute type {name } {value } Example:
|
Defines the AAA authentication list to use. |
Step 8 |
attribute type {name } {value } Example:
|
Defines the AAA authorization list to use. |
Step 9 |
attribute type {name } {value } Example:
|
Defines the AAA accounting list to use. |
Step 10 |
end Example:
|
Exits attribute list configuration mode and returns to privileged EXEC mode. |
To define a subscriber profile, perform the following steps.
Note |
RADIUS users should use the show aaa attributes command to map the RADIUS version of the particular attribute to the Cisco IOS AAA version of the string attribute. See the example Mapping from the RADIUS Version of a Particular Attribute to the Cisco IOS AAA Version Example. |
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
subscriber authorization enable Example:
|
Enables subscriber authorization. |
Step 4 |
policy-map type service domain-name Example:
|
Specifies the username domain that has to be matched and enters subscriber profile configuration mode. |
Step 5 |
service local Example:
|
Specifies that local subscriber authorization should be performed. |
Step 6 |
exit Example:
|
Exits subscriber profile configuration mode. |
Step 7 |
aaa attribute list list-name Example:
|
Defines the AAA attribute list from which RADIUS attributes are retrieved. |
Step 8 |
end Example:
|
Exits global configuration mode and returns to privileged EXEC mode. |
The following debug commands may be helpful in monitoring and troubleshooting, especially to ensure that domain-based service authorization is being triggered and that location authorization is being called on the local AAA server, which triggers the service.
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
debug aaa authentication Example:
|
Displays the methods of authentication being used and the results of these methods. |
Step 3 |
debug aaa authorization Example:
|
Displays the methods of authorization being used and the results of these methods. |
Step 4 |
debug aaa per-user Example:
|
Displays information about PPP session per-user activities. |
Step 5 |
debug ppp authentication Example:
|
Indicates whether a client is passing authentication. |
Step 6 |
debug ppp error Example:
|
Displays protocol errors and error statistics that are associated with PPP connection negotiation and operation. |
Step 7 |
debug ppp forward Example:
|
Displays who is taking control of a session. |
Step 8 |
debug ppp negotiation Example:
|
Displays PPP packets sent during PPP startup, where PPP options are negotiated. |
Step 9 |
debug radius Example:
|
Displays information about the RADIUS server. |
Step 10 |
debug sss error Example:
|
Displays diagnostic information about errors that may occur during SSS call setup. |
Configuration Examples for Local AAA Server
The following example shows a Point-to-Point over Ethernet (PPPoE) group named “bba-group” that is configured for subscriber profile cisco.com (thus, any user with the domain name cisco.com will execute the subscriber profile cisco.com authorization policy). The cisco.com subscriber profile is configured to attach the AAA attribute list “TEST,” which has both ip vrf forwarding and ip unnumbered commands configured for PPP service under Link Control Protocol (LCP) negotiation. This configuration will essentially cause the named attributes to be applied on the session with the cisco.com domain under the bba-group “pppoe grp1.”
aaa authentication ppp template1 local
aaa authorization network template1 local
!
aaa attribute list TEST
attribute type interface-config "ip unnumbered FastEthernet0" service ppp protocol lcp
attribute type interface-config "ip vrf forwarding blue" service ppp protocol lcp
!
ip vrf blue
description vrf blue template1
rd 1:1
route-target export 1:1
route-target import 1:1
!
subscriber authorization enable
!
policy-map type service example.com
service local
aaa attribute list TEST
!
bba-group pppoe grp1
virtual-template 1
service profile example.com
!
interface Virtual-Template1
no ip address
no snmp trap link-status
no peer default ip address
no keepalive
ppp authentication pap template1
ppp authorization template1
!
Note |
In some versions of Cisco IOS software, it is better to use the explicit attribute instead of interface-config because it provides better scalability (full VAccess interfaces are not required, and subinterfaces could be used to provide the service). In such a case, you can configure attribute type ip-unnumbered interface service ppp protocol ip instead of attribute type interface-config ip unnumbered interface service ppp protocol lcp . |
The following output example of the show aaa attributes command lists RADIUS attributes, which can be used when configuring this feature.
Device#
show aaa attributes protocol radius
IETF defined attributes:
Type=4 Name=acl Format=Ulong
Protocol:RADIUS
Unknown Type=11 Name=Filter-Id Format=Binary
Converts attribute 11 (Filter-Id) of type Binary into an internal attribute
named "acl" of type Ulong. As such, one can configure this attributes locally
by using the attribute type "acl."
Cisco VSA attributes:
Type=157 Name=interface-config Format=String
Simply expects a string for the attribute of type "interface-config."
Note |
The aaa attribute list command requires the Cisco IOS AAA version of an attribute, which is defined in the “Name” field above. |
Related Topic |
Document Title |
---|---|
Cisco security commands |
Description |
Link |
---|---|
The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. |
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Feature Name |
Releases |
Feature Information |
---|---|---|
Local AAA Server |
Cisco IOS 15.2(1)E |
The Local AAA Server feature allows you to configure your device so that user authentication and authorization attributes currently available on AAA servers are available locally on the device. The attributes can be added to existing framework, such as the local user database or subscriber profile. The local AAA server provides access to the complete dictionary of Cisco IOS supported attributes. |