Transcription

Konfigurieren von ISE 2.1 mit MS SQL mithilfevon erwendete KomponentenKonfigurierenSchritt 1: MS SQL-BasiskonfigurationSchritt 2: ISE - BasiskonfigurationSchritt 3: Benutzerauthentifizierung konfigurierenSchritt 4: Gruppenabruf konfigurierenSchritt 5: Konfigurieren des Abrufen von AttributenFehlerbehebungEinführungIn diesem Dokument wird beschrieben, wie Identity Services Engine (ISE) mit Microsoft StandardQuery Language (SQL) Server für die ISE-Authentifizierung mithilfe von Open DatabaseConnectivity (ODBC) konfiguriert wird.Hinweis: Für die Open Database Connectivity (ODBC)-Authentifizierung muss die ISE einNur-Text-Benutzerkennwort abrufen können. Das Kennwort kann in der Datenbankverschlüsselt werden, muss jedoch von der gespeicherten Prozedur entschlüsselt werden.VoraussetzungenAnforderungenCisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen: Datenbank- und ODBC-KonzepteMicrosoft SQL ServerVerwendete KomponentenDie Informationen in diesem Dokument basieren auf den folgenden Software- undHardwareversionen: Identity Services Engine 2.1MSSQL Server 2008 R2

KonfigurierenSchritt 1: MS SQL-BasiskonfigurationZu den Konfigurationsschritten gehören das Erstellen einer Datenbank und eines Benutzers fürdie ISE mit Zugriffsberechtigungen auf diese Datenbank.Hinweis: Die ISE unterstützt nur die SQL-Authentifizierung, nicht das Windows-Konto. WennSie den Authentifizierungsmodus ändern müssen, finden Sie weitere Informationen unterChange Server Authentication Mode (Serverauthentifizierungsmodus ändern).1. Öffnen Sie SQL Server Management Studio (Startmenü Microsoft SQL Server 2008 R2), understellen Sie eine Datenbank:2. Lassen Sie die Standardoptionen unverändert, oder passen Sie die Datenbankeinstellungenwie in diesem Bild gezeigt an:

3. Erstellen Sie einen Benutzer, und legen Sie die Berechtigungen wie in den folgenden Bilderngezeigt fest:

Schritt 2: ISE - BasiskonfigurationErstellen einer ODBC-Identitätsquelle unter Administration External Identity Source ODBC undTestverbindung:

Schritt 3: Benutzerauthentifizierung konfigurierenDie ISE-Authentifizierung an ODBC verwendet gespeicherte Prozeduren.Die gespeicherteProzedur für die Authentifizierung gibt Ergebnismenge mit dieser Syntax zurück:WertErgebnisGruppe (nur zur Kompatibilität mitACS er oder varchar(255)varchar(255)varchar(255)Weitere Verfahren finden Sie im Cisco Identity Services Engine 2.1-Administrationsleitfaden.Tipp: Sie können benannte Parameter anstelle von Resultset zurückgeben. Es ist nur einanderer Ausgabetyp, die Funktionalität ist die gleiche.1. Navigieren Sie zu Optionen, und deaktivieren Sie das Kontrollkästchen Speichern vonÄnderungen, die eine Neuerstellung der Tabelle erfordern, verhindern (optional):

2. Erstellen Sie die Tabelle. Stellen Sie sicher, dass Sie die Identitätseinstellungen für denPrimärschlüssel festlegen. Um user id als Primärschlüssel festzulegen, klicken Sie mit der rechtenMaustaste auf den Spaltennamen:Letzte SQL-Version: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. Führen Sie diese Abfrage aus, um einen Benutzer einzufügen:insert into ISE Users(username,password) values('odbcuser1','odbcpass');4. Erstellen Sie eine Prozedur für die unverschlüsselte Kennwortauthentifizierung (für PAP, EAPGTC innere Methode, TACACS):CREATE PROCEDURE [dbo].[ISEAuthUserPlainReturnsRecordset]@username varchar(255), @password varchar(255)ASBEGINIF EXISTS( SELECT usernameFROM ISE UsersWHERE username @usernameAND password @password )SELECT 0,11,'This is a very good user, give him all access','No Error'FROM ISE UsersWHERE username @usernameELSESELECT 3,0,'odbc','ODBC Authen Error'END5. Erstellen Sie eine Prozedur zum Abrufen von unverschlüsselten Kennwörtern (für CHAP,MSCHAPv1/v2, EAP-MD5, LEAP, EAP-MSCHAPv2 innere Methode, TACACS):CREATE PROCEDURE [dbo].[ISEFetchPasswordReturnsRecordset]@username varchar(255)ASBEGINIF EXISTS( SELECT usernameFROM ISE UsersWHERE username @username)SELECT 0,11,'This is a very good user, give him all access','No Error',passwordFROM ISE UsersWHERE username @usernameELSESELECT 3,0,'odbc','ODBC Authen Error'END6. Erstellen Sie eine Prozedur zur Prüfung des Benutzernamens oder des Rechners (für MABverwendet, schnelle Wiederverbindung von PEAP, EAP-FAST und EAP-TTLS):CREATE PROCEDURE [dbo].[ISEUserLookupReturnsRecordset]@username varchar(255)

ASBEGINIF EXISTS( SELECT usernameFROM ISE UsersWHERE username @username)SELECT 0,11,'This is a very good user, give him all access','No Error'FROM ISE UsersWHERE username @usernameELSESELECT 3,0,'odbc','ODBC Authen Error'END7. Testerstellte Prozeduren:

Testen Sie andere Verfahren auf die gleiche Weise.8. Konfigurieren von Prozeduren auf der ISE und Speichern:9. Erstellen Sie eine einfache Authentifizierungsregel mit ODBC, und testen Sie sie:b3560#test aaa group ISE236 odbcuser1 odbcpass legacyAttempting authentication test to server-group ISE236 using radiusUser was successfully authenticated.

Schritt 4: Gruppenabruf konfigurieren1. Erstellen Sie Tabellen mit Benutzergruppen und eine andere Tabelle für die Many-to-ManyZuordnung: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 [PRIMARCREATE TABLE [dbo].[User Groups Mapping]([user id] [int] NOT NULL,[group id] [int] NOT NULL) ON [PRIMARY]ALTER TABLE dbo.User Groups Mapping ADD CONSTRAINTFK User Groups Mapping Groups FOREIGN KEY(group id) REFERENCES dbo.Groups(Group ID) ON UPDATE CASCADEON DELETE CASCADEGOALTER TABLE dbo.User Groups Mapping ADD CONSTRAINTFK User Groups Mapping ISE Users FOREIGN KEY(

user id) REFERENCES dbo.ISE Users(user id) ON UPDATE CASCADEON DELETE CASCADE2. Fügen Sie Gruppen und Zuordnungen hinzu, sodass ODBCUSER1 zu beiden Gruppen gehört:INSERT [dbo].[Groups] ([Group ID],Nice Group1')INSERT [dbo].[User Groups Mapping]INSERT [dbo].[Groups] ([Group ID],Nice Group2')INSERT [dbo].[User Groups Mapping][Group Name], [Group Desc]) VALUES (1, N'ODBCGroup1', N'My([user id], [group id]) VALUES (1, 1)[Group Name], [Group Desc]) VALUES (2, N'ODBCGroup2', N'My([user id], [group id]) VALUES (1, 2)3. Vorgang zum Abrufen von Gruppen erstellen:CREATE PROCEDURE [dbo].[ISEGroupsRetrieval]@username varchar(255), @result int outputASBEGINif exists (select * from ISE Users where username @username)beginset @result 0select Group Name from Groups where group id in (select group ID from User Groups Mapping whereUser Groups Mapping.USER ID IN (select USER ID from ISE Users where username @username ) )endelseset @result 1END4. Zuordnen zu Fetch-Gruppen:5. Abrufen der Gruppen und Hinzufügen dieser Gruppen zur ODBC-Identitätsquelle:

6. Fügen Sie einen anderen Benutzer hinzu, der keiner Gruppe angehört:insert into ISE Users(username,password) values('odbcuser2','odbcpass');7. Erstellen eines spezifischen Policy Set und Tests:b3560#test aaa group ISE236 odbcuser2 odbcpass legacyAttempting authentication test to server-group ISE236 using radiusUser authentication request was rejected by server.b3560#test aaa group ISE236 odbcuser1 odbcpass legacyAttempting authentication test to server-group ISE236 using radiusUser was successfully authenticated.

Schritt 5: Konfigurieren des Abrufen von Attributen1. Um dieses Beispiel zu vereinfachen, wird eine flache Tabelle für Attribute verwendet:CREATE TABLE [dbo].[User Attributes]([user id] [int] NOT NULL,[Attribute Name] [varchar](max) NOT NULL,[Attribute Value] [varchar](max) NOT NULL) ON [PRIMARY]GOALTER 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 CASCADEON DELETE CASCADEGO2. Erstellen Sie ein Attribut für einen der Benutzer: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. Erstellen einer gespeicherten Prozedur:CREATE PROCEDURE [dbo].[ISEAttrsRetrieval]@username varchar(255), @result int outputASBEGINif exists (select * from ISE Users where username @username)begin

set @result 0select attribute name , attribute value from user attributes where USER ID in(SELECT USER IDfrom ISE Users where username @username)endelseset @result 1END4. Zuordnen zu Attributen abrufen:5. Abrufen der Attribute:

6. Ändern Sie die ISE-Regeln:FehlerbehebungWenn die Verbindung nicht erfolgreich hergestellt werden kann, überprüfen Sie dasEreignisprotokoll von Windows. Verwenden Sie bei der ISE den Befehl show logging applicationprt-management.log tail beim Verbindungsversuch.Beispiel für einen schlechten Authentifizierungsmodus:bise236/admin# sh logg app prrt-management.log tail2016-06-08 09:03:59,822 WARN SSQLServerDbAccess -:bastien::- Connection to ODBC DB failed.Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'babaland\administrator'. n: Login failed for user r(SQLServerException.java:216)at (tdsparser.java:254)at rser.java:84)at endLogon(SQLServerConnection.java:2908)at ogon(SQLServerConnection.java:2234)at ccess lserver.jdbc.SQLServerConnection 20)at on.java:1715)at onnectHelper(SQLServerConnection.java:1326)

Beispiel für Benutzer, die keine Berechtigungen zum Öffnen der Datenbank besitzen:2016-06-08 09:13:57,842 WARN SSQLServerDbAccess -:bastien::- Connection to ODBC DB failed.Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "ISEDB"requested by the login. The login failed. n: Cannot open database "ISEDB" requested by thelogin. The login failed. :216)at (tdsparser.java:254)at rser.java:84)at endLogon(SQLServerConnection.java:2908)at ogon(SQLServerConnection.java:2234)at ccess 000(SQLServerConnection.java:41)

Aktivieren Sie zur Fehlerbehebung bei DB-Vorgängen unter Administration System Logging Debug Log Configuration die Option odbc-id-store auf DEBUG-Ebene.Protokolle werden in der Datei prrt-management.log abgelegt.Beispiel für odbuser2:2016-06-08 12:26:56,009 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBCID Store Operation: Authenticate Plain Text Password. Username odbcuser2,SessionID 0a3027ecLA rJLKsS5QAzuRvluGWzdYe67rIgcG3MMQcpE8yKnw2016-06-08 12:26:56,012 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Writecustomer log message: 248522016-06-08 12:26:56,012 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool :::- OdbcConnectionPool - get connection2016-06-08 12:26:56,012 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool :::- OdbcConnectionPool - use existing connection2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool :::- OdbcConnectionPool - connections in use: 12016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Authenticate plain text password2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Prepare stored procedure call, procname ISEAuthUserPlainReturnsRecordset2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Using recordset to obtain stored procedure result values2016-06-08 12:26:56,013 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Writecustomer log message: 248552016-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 call2016-06-08 12:26:56,017 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::-

Process stored procedure results2016-06-08 12:26:56,017 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Obtain stored procedure results from recordset2016-06-08 12:26:56,017 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Received result recordset, number of columns 42016-06-08 12:26:56,017 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Results successfully parsed from recordset2016-06-08 12:26:56,018 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool :::- OdbcConnectionPool - release connection2016-06-08 12:26:56,018 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool :::- OdbcConnectionPool - connections in use: 02016-06-08 12:26:56,018 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- Callto ODBC DB succeeded2016-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 allaccess, group 112016-06-08 12:26:56,019 DEBUG [Thread-4051][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Writecustomer log message: 248532016-06-08 12:26:56,026 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC IDStore Operation: Get all user groups. Username odbcuser2,SessionID 0a3027ecLA rJLKsS5QAzuRvluGWzdYe67rIgcG3MMQcpE8yKnw2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC IDStore Operation: Fetch user groups. Username odbcuser2,SessionID 0a3027ecLA rJLKsS5QAzuRvluGWzdYe67rIgcG3MMQcpE8yKnw2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Writecustomer log message: 248692016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - get connection2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - use existing connection2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - connections in use: 12016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Fetch user groups2016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Prepare stored procedure call, procname ISEGroupsRetrieval2016-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 odbcuser22016-06-08 12:26:56,029 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Execute stored procedure call2016-06-08 12:26:56,031 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Process stored procedure results2016-06-08 12:26:56,032 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Received epmty result set, no groups/attributes data can be obtained2016-06-08 12:26:56,032 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Result code indicates success2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - release connection2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - connections in use: 02016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- Call toODBC DB succeeded2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Writecustomer log message: 248702016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC IDStore Operation: Get all user groups. Got groups.2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC IDStore Operation: Get all user groups. Username odbcuser2, ExternalGroups []2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC IDStore Operation: Fetch user attributes. Username odbcuser2,SessionID 0a3027ecLA rJLKsS5QAzuRvluGWzdYe67rIgcG3MMQcpE8yKnw

2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Writecustomer log message: 248722016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - get connection2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - use existing connection2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - connections in use: 12016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Fetch user attributes2016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Prepare stored procedure call, procname ISEAttrsRetrieval2016-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 odbcuser22016-06-08 12:26:56,033 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Execute stored procedure call2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Process stored procedure results2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Received result recordset, total number of columns 22016-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 1002016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Fetched data: UserType admin2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Results successfully parsed from recordset2016-06-08 12:26:56,035 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnection -:::Result code indicates success2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - release connection2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcConnectionPool -:::OdbcConnectionPool - connections in use: 02016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- Call toODBC DB succeeded2016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.CustomerLog -:::- Writecustomer log message: 248732016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC IDStore Operation: Get all user attrs. Username odbcuser2, Setting ISE ODBC.AwsomenessLevel to 1002016-06-08 12:26:56,036 DEBUG [Thread-84][] cisco.cpm.odbcidstore.impl.OdbcIdStore -:::- ODBC IDStore Operation: Get all user attrs. Username odbcuser2, Setting ISE ODBC.UserType to admin

In diesem Dokument wird beschrieben, wie Identity Services Engine (ISE) mit Microsoft Standard Query Language (SQL) Server für die ISE-Authentifizierung mithilfe von Open Database Connectivity (ODBC) konfiguriert wird. Hinweis: Für die Open Database Connectivity (ODBC)-Authentifizierung m