Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Configureren

Stap 1: MS SQL-basisconfiguratie

Stap 2. ISE-basisconfiguratie

Stap 3. Gebruikersverificatie configureren

Stap 4. groepsvernieuwing instellen

Stap 5. Eigenschappen opnieuw instellen

Problemen oplossen

Inleiding

Dit document beschrijft hoe u Identity Services Engine (ISE) kunt configureren met de Microsoft Standard Query Language (SQL) Server voor ISE-verificatie met Open Database Connectivity (ODBC)

Opmerking: Voor Open Database Connectivity (ODBC)-verificatie moet ISE een eenvoudig wachtwoord voor tekstgebruikers kunnen genereren. Het wachtwoord kan in de database worden versleuteld, maar moet worden gedecrypteerd door de opgeslagen procedure.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Database- en ODBC-concepten

- Microsoft SQL-server

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- Identity Services Engine 2.1

- MSSQL Server 2008 R2

Configureren

Stap 1: MS SQL-basisconfiguratie

De stappen van de configuratie omvatten het creëren van een gegevensbank en één gebruiker voor ISE met permissies om tot die gegevensbank te toegang.

Opmerking: ISE ondersteunt alleen SQL-verificatie, niet de Windows-account. Als u de verificatiemodus moet wijzigen, raadpleegt u de Wijze van serververificatie wijzigen

1. Open SQL Server Management Studio (Start menu > Microsoft SQL Server 2008 R2) en maak een database:

2. Laat standaardopties los of pas databases aan zoals in deze afbeelding:

3. Maak een gebruiker en stel rechten in zoals in de onderstaande afbeeldingen wordt getoond:

Stap 2. ISE-basisconfiguratie

Maak een ODBC Identity Source bij Administration > Externe Identity Source > ODBC en testverbinding:

Stap 3. Gebruikersverificatie configureren

ISE-verificatie naar ODBC gebruikt opgeslagen procedures.De opgeslagen procedure voor de authenticatie resultaten met deze syntax:

Waarde

Type

Resultaat

integrator

Groep (alleen voor compatibiliteit met ACS 4.2)

Integer of varchar(255)

Accountinformatie

varchar(255)

Fout-string

varchar(255)

Raadpleeg voor andere procedures de beheerdershandleiding voor Cisco Identity Services Engine 2.1

Tip: Het is mogelijk om genoemde parameters terug te geven in plaats van de resultaatset. Het is gewoon een ander type output, functionaliteit is hetzelfde.

1. Navigeren in naar opties en uit de machine halen om wijziging in opslagruimte voor tabellen opnieuw genereren (optioneel):

2. Maak de tabel. Stel de instellingen voor de identiteit in op de primaire toets. Als u user_id als primaire sleutel wilt instellen, klikt u met de rechtermuisknop op de kolom naam:

Laatste SQL:

CREATE TABLE [dbo].[ISE_Users](

[user_id] [int] IDENTITY(1,1) NOT NULL,

[username] [varchar](max) NOT NULL,

[password] [varchar](max) NOT NULL,

CONSTRAINT [PK_ISE_Users] PRIMARY KEY CLUSTERED

(

[user_id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

3. Start deze query om één gebruiker in te voegen:

insert into ISE_Users(username,password) values('odbcuser1','odbcpass');

4. Maak een procedure voor eenvoudige tekstwachtwoordverificatie (gebruikt voor PAP, EAP-GTC binnenmethode, TACACS):

CREATE PROCEDURE [dbo].[ISEAuthUserPlainReturnsRecordset]

@username varchar(255), @password varchar(255)

AS

BEGIN

IF EXISTS( SELECT username

FROM ISE_Users

WHERE username = @username

AND password = @password )

SELECT 0,11,'This is a very good user, give him all access','No Error'

FROM ISE_Users

WHERE username = @username

ELSE

SELECT 3,0,'odbc','ODBC Authen Error'

END

5. Maak een procedure voor het opvragen van een gewoon tekstwachtwoord (gebruikt voor CHAP, MSCHAPv1/v2, EAP-MD5, LEAP, EAP-MSCHAPv2 binnenmethode, TACACS):

CREATE PROCEDURE [dbo].[ISEFetchPasswordReturnsRecordset]

@username varchar(255)

AS

BEGIN

IF EXISTS( SELECT username

FROM ISE_Users

WHERE username = @username)

SELECT 0,11,'This is a very good user, give him all access','No Error',password

FROM ISE_Users

WHERE username = @username

ELSE

SELECT 3,0,'odbc','ODBC Authen Error'

END

6. Er bestaat een procedure voor controle van de gebruikersnaam of -machine (gebruikt voor MAB, snelle heraansluiting van PEAP, EAP-FAST en EAP-TTLS):

CREATE PROCEDURE [dbo].[ISEUserLookupReturnsRecordset]

@username varchar(255)

AS

BEGIN

IF EXISTS( SELECT username

FROM ISE_Users

WHERE username = @username)

SELECT 0,11,'This is a very good user, give him all access','No Error'

FROM ISE_Users

WHERE username = @username

ELSE

SELECT 3,0,'odbc','ODBC Authen Error'

END

7. Testprocedures:

Andere procedures op dezelfde manier testen.

8. Procedures op ISE configureren en opslaan:

9. Maak een eenvoudige authenticatieregel met ODBC en test deze:

b3560#test aaa group ISE236 odbcuser1 odbcpass legacy

Attempting authentication test to server-group ISE236 using radius

User was successfully authenticated.

Stap 4. groepsvernieuwing instellen

1. Maak tabellen met gebruikersgroepen en een andere die voor veel-naar-veel-mapping wordt gebruikt:

CREATE TABLE [dbo].[Groups](

[Group_ID] [int] IDENTITY(1,1) NOT NULL,

[Group_Name] [varchar](max) NOT NULL,

[Group_Desc] [text] NOT NULL,

CONSTRAINT [PK_Groups] PRIMARY KEY CLUSTERED

(

[Group_ID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMAR

CREATE TABLE [dbo].[User_Groups_Mapping](

[user_id] [int] NOT NULL,

[group_id] [int] NOT NULL

) ON [PRIMARY]

ALTER TABLE dbo.User_Groups_Mapping ADD CONSTRAINT

FK_User_Groups_Mapping_Groups FOREIGN KEY

(

group_id

) REFERENCES dbo.Groups

(

Group_ID

) ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE dbo.User_Groups_Mapping ADD CONSTRAINT

FK_User_Groups_Mapping_ISE_Users FOREIGN KEY

(

user_id

) REFERENCES dbo.ISE_Users

(

user_id

) ON UPDATE CASCADE

ON DELETE CASCADE

2. Voeg groepen en afbeeldingen toe, zodat ODBCUSER1 tot beide groepen behoort:

INSERT [dbo].[Groups] ([Group_ID], [Group_Name], [Group_Desc]) VALUES (1, N'ODBCGroup1', N'My Nice Group1')

INSERT [dbo].[User_Groups_Mapping] ([user_id], [group_id]) VALUES (1, 1)

INSERT [dbo].[Groups] ([Group_ID], [Group_Name], [Group_Desc]) VALUES (2, N'ODBCGroup2', N'My Nice Group2')

INSERT [dbo].[User_Groups_Mapping] ([user_id], [group_id]) VALUES (1, 2)

3. Procedure voor groepsherkenning maken:

CREATE PROCEDURE [dbo].[ISEGroupsRetrieval]

@username varchar(255), @result int output

AS

BEGIN

if exists (select * from ISE_Users where username = @username)

begin

set @result = 0

select Group_Name from Groups where group_id in (select group_ID from User_Groups_Mapping where User_Groups_Mapping.USER_ID IN (select USER_ID from ISE_Users where username=@username ) )

end

else

set @result = 1

END

4. Geef de kaart op aan technische groepen:

5. Selecteer de groepen en voeg ze toe aan de ODBC-identiteitsbron:

6. Voeg een andere gebruiker toe die niet tot een groep behoort:

insert into ISE_Users(username,password) values('odbcuser2','odbcpass');

7. Maak een specifieke beleidsset en test:

b3560#test aaa group ISE236 odbcuser2 odbcpass legacy

Attempting authentication test to server-group ISE236 using radius

User authentication request was rejected by server.

b3560#test aaa group ISE236 odbcuser1 odbcpass legacy

Attempting authentication test to server-group ISE236 using radius

User was successfully authenticated.

Stap 5. Eigenschappen opnieuw instellen

1. Om dit voorbeeld te vereenvoudigen, wordt een vlakke tabel gebruikt voor eigenschappen:

CREATE TABLE [dbo].[User_Attributes](

[user_id] [int] NOT NULL,

[Attribute_Name] [varchar](max) NOT NULL,

[Attribute_Value] [varchar](max) NOT NULL

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[User_Attributes] WITH CHECK ADD CONSTRAINT [FK_User_Attributes_ISE_Users] FOREIGN KEY([user_id])

REFERENCES [dbo].[ISE_Users] ([user_id])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

2. Maak een eigenschap voor een van de gebruikers:

INSERT [dbo].[User_Attributes] ([user_id], [Attribute_Name], [Attribute_Value]) VALUES (2, N'AwsomenessLevel', N'100')

INSERT [dbo].[User_Attributes] ([user_id], [Attribute_Name], [Attribute_Value]) VALUES (2, N'UserType', N'admin')

3. Bewaarde procedure maken:

CREATE PROCEDURE [dbo].[ISEAttrsRetrieval]

@username varchar(255), @result int output

AS

BEGIN

if exists (select * from ISE_Users where username = @username)

begin

set @result = 0

select attribute_name , attribute_value from user_attributes where USER_ID in(SELECT USER_ID from ISE_Users where username = @username)

end

else

set @result = 1

END

4. Stel de eigenschap in op de wikkel:

5. Tekenen van de eigenschappen:

6. Pas ISE-regels aan:

Problemen oplossen

Als de verbinding niet succesvol is, controleer het logbestand van de evenement Windows. Op ISE gebruik tonen de opdracht de logingapplicatie pre-management.log tail tijdens pogingen om verbinding te maken.

Voorbeeld van slechte authenticatiemodus:

bise236/admin# sh logg app prrt-management.log tail

2016-06-08 09:03:59,822 WARN [admin-http-pool177][] cisco.cpm.odbcidstore.impl.MSSQLServerDbAccess -:bastien::- Connection to ODBC DB failed. Exception: com.microsoft.sqlserver.jdbc.S

QLServerException: Login failed for user 'babaland\administrator'. ClientConnectionId:c74ade15-4f34-415a-9a94-4c54c58c0fc3

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'babaland\administrator'. ClientConnectionId:c74ade15-4f34-415a-9a94-4c54c58c0fc3

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)

at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)

at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)

at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)

at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326)

Voorbeeld van door gebruikers ontbrekende rechten om database te openen:

2016-06-08 09:13:57,842 WARN [admin-http-pool159][] cisco.cpm.odbcidstore.impl.MSSQLServerDbAccess -:bastien::- Connection to ODBC DB failed. Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "ISEDB" requested by the login. The login failed. ClientConnectionId:299c2956-6946-4282-b3ca-2aa86642a821

com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "ISEDB" requested by the login. The login failed. ClientConnectionId:299c2956-6946-4282-b3ca-2aa86642a821

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)

at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)

at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)

Om de DB-bewerkingen te kunnen oplossen, stelt u logcomponenten odbc-id-Store in op DEBUG-niveau onder Beheer > Systeem > Vastlegging > Loggen > Configuratie debug Log.

Logs worden geplaatst in het bestand Port-Management.log.

Voorbeeld voor buser2:

2016-06-08 12:26:56,009 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC ID Store Operation: Authenticate Plain Text Password. Username=odbcuser2, SessionID=0a3027ecLA_rJLKsS5QAzuRvluGWzdYe67rIgcG3MMQcpE8yKnw

2016-06-08 12:26:56,012 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Write customer log message: 24852

2016-06-08 12:26:56,012 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - get connection

2016-06-08 12:26:56,012 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - use existing connection

2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - connections in use: 1

2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Authenticate plain text password

2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Prepare stored procedure call, procname=ISEAuthUserPlainReturnsRecordset

2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Using recordset to obtain stored procedure result values

2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Write customer log message: 24855

2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Text: {call ISEAuthUserPlainReturnsRecordset(?, ?)}

2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Setup stored procedure input parameters, username=odbcuser2, password=***

2016-06-08 12:26:56,014 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Execute stored procedure call

2016-06-08 12:26:56,017 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Process stored procedure results

2016-06-08 12:26:56,017 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Obtain stored procedure results from recordset

2016-06-08 12:26:56,017 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Received result recordset, number of columns=4

2016-06-08 12:26:56,017 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Results successfully parsed from recordset

2016-06-08 12:26:56,018 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - release connection

2016-06-08 12:26:56,018 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - connections in use: 0

2016-06-08 12:26:56,018 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- Call to ODBC DB succeeded

2016-06-08 12:26:56,018 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcAuthResult -:::- Authentication result: code=0, Conection succeeded=false, odbcDbErrorString=No Error, odbcStoredProcedureCustomerErrorString=null, accountInfo=This is a very good user, give him all access, group=11

2016-06-08 12:26:56,019 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Write customer log message: 24853

2016-06-08 12:26:56,026 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC ID Store Operation: Get all user groups. Username=odbcuser2, SessionID=0a3027ecLA_rJLKsS5QAzuRvluGWzdYe67rIgcG3MMQcpE8yKnw

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC ID Store Operation: Fetch user groups. Username=odbcuser2, SessionID=0a3027ecLA_rJLKsS5QAzuRvluGWzdYe67rIgcG3MMQcpE8yKnw

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Write customer log message: 24869

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - get connection

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - use existing connection

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - connections in use: 1

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Fetch user groups

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Prepare stored procedure call, procname=ISEGroupsRetrieval

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Text: {call ISEGroupsRetrieval(?,?)}

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Setup stored procedure input parameters, username=odbcuser2

2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Execute stored procedure call

2016-06-08 12:26:56,031 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Process stored procedure results

2016-06-08 12:26:56,032 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Received epmty result set, no groups/attributes data can be obtained

2016-06-08 12:26:56,032 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Result code indicates success

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - release connection

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - connections in use: 0

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- Call to ODBC DB succeeded

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Write customer log message: 24870

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC ID Store Operation: Get all user groups. Got groups...

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC ID Store Operation: Get all user groups. Username=odbcuser2, ExternalGroups=[]

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC ID Store Operation: Fetch user attributes. Username=odbcuser2, SessionID=0a3027ecLA_rJLKsS5QAzuRvluGWzdYe67rIgcG3MMQcpE8yKnw

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Write customer log message: 24872

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - get connection

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - use existing connection

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - connections in use: 1

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Fetch user attributes

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Prepare stored procedure call, procname=ISEAttrsRetrieval

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Text: {call ISEAttrsRetrieval(?,?)}

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Setup stored procedure input parameters, username=odbcuser2

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Execute stored procedure call

2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Process stored procedure results

2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Received result recordset, total number of columns=2

2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- According to column number expect multiple rows (vertical attributes/groups retured result)

2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Fetched data: AwsomenessLevel=100

2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Fetched data: UserType=admin

2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Results successfully parsed from recordset

2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::- Result code indicates success

2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - release connection

2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::- OdbcConnectionPool - connections in use: 0

2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- Call to ODBC DB succeeded

2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Write customer log message: 24873

2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC ID Store Operation: Get all user attrs. Username=odbcuser2, Setting ISE_ODBC.AwsomenessLevel to 100

2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC ID Store Operation: Get all user attrs. Username=odbcuser2, Setting ISE_ODBC.UserType to admin