简介
本文档介绍通过结合使用JSON或XML数据格式和API调用,在Cisco ISE中配置内部用户。
先决条件
使用的组件
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
网络图
常规拓扑
GET和POST是API(应用编程接口)调用中最常用的两种HTTP方法。它们用于与服务器上的资源交互,通常用于检索数据或提交数据以进行处理。
获取API调用
GET方法用于从指定资源请求数据。GET请求是API和网站中最常见且最广泛使用的方法。当您访问网页时,您的浏览器向托管网页的服务器发出GET请求。
POST API调用
POST方法用于将数据发送到服务器以创建或更新资源。POST请求通常用于提交表单数据或上传文件。
配置
我们需要将来自API客户端软件的确切信息发送到ISE节点以创建内部用户。
ISE配置
启用ERS功能。
1. 导航至“管理”>“系统”>“设置”>“API设置”>“API服务设置”。
2. 启用ERS(读/写)选项。
API设置
JSON请求。
- 开放式失眠。
- 在左侧添加新的HTTPS请求。
JSON请求
- 您需要选择POST以将信息发送到ISE节点。
您需要输入的URL取决于ISE节点的IP地址。
URL: https://x.x.x.x/ers/config/internaluser
JSON发布
- 然后点击Body并选择JSON
JSON正文
- 您可以粘贴语法并根据需要更改参数。
JSON语法
JSON语法
{
"InternalUser": {
"name": "name",
"description": "description",
"enabled": true,
"email": "email@domain.com",
"accountNameAlias": "accountNameAlias",
"password": "password",
"firstName": "firstName",
"lastName": "lastName",
"changePassword": true,
"identityGroups": "identityGroups",
"passwordNeverExpires": false,
"daysForPasswordExpiration": 60,
"expiryDateEnabled": false,
"expiryDate": "2016-12-11",
"enablePassword": "enablePassword",
"dateModified": "2015-12-20",
"dateCreated": "2015-12-15",
"customAttributes": {
"key1": "value1",
"key2": "value3"
},
"passwordIDStore": "Internal Users"
}
}
- 点击Auth并选择Basic。
JSON身份验证
- 输入ISE GUI凭证。
管理员JSON凭证
- 点击Headers以添加以下方法:
- 内容类型:application/json
- 接受:application/json
JSON报头
- 最后,单击“发送”。
注意:如果要将身份组分配给新用户帐户,需要使用身份组的ID。有关详细信息,请查看故障排除部分。
验证
- 发送POST请求后,您将看到状态“201 Created”。这表示该过程已成功完成。
成功的JSON请求
- 打开ISE GUI并导航到管理>身份管理>身份>用户>网络访问用户
JSON用户帐户
XML请求
- 开放式失眠。
- 在左侧添加新的HTTPS请求。
XML请求
- 您需要选择POST以将信息发送到ISE节点。
您需要输入的URL取决于ISE节点的IP地址。
URL:https://x.x.x.x/ers/config/internaluser
XML文章
- 然后单击“正文”,然后选择“XML”。
XML正文
- 您可以粘贴语法并根据需要更改参数。
XML文章
XML语法
<?xml version="1.0" encoding="UTF-8"?>
<ns0:internaluser xmlns:ns0="identity.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="description" name="name">
<accountNameAlias>accountNameAlias</accountNameAlias>
<changePassword>true</changePassword>
<customAttributes>
<entry>
<key>key1</key>
<value>value1</value>
</entry>
<entry>
<key>key2</key>
<value>value3</value>
</entry>
</customAttributes>
<dateCreated>2015-12-15</dateCreated>
<dateModified>2015-12-20</dateModified>
<daysForPasswordExpiration>60</daysForPasswordExpiration>
<email>email@domain.com</email>
<enablePassword>enablePassword</enablePassword>
<enabled>true</enabled>
<expiryDate>2016-12-11</expiryDate>
<expiryDateEnabled>false</expiryDateEnabled>
<firstName>firstName</firstName>
<identityGroups>identityGroups</identityGroups>
<lastName>lastName</lastName>
<password>password</password>
<passwordIDStore>Internal Users</passwordIDStore>
<passwordNeverExpires>false</passwordNeverExpires>
</ns0:internaluser>
- 点击Auth并选择Basic
XML身份验证
- 输入ISE GUI凭证。
XML凭证
- 点击Headers以添加以下方法:
- 内容类型:应用/xml
- 接受:application/xml
XML标头
- 最后,单击“发送”。
注意:如果要将身份组分配给新用户帐户,需要使用身份组的ID。有关详细信息,请查看故障排除部分。
验证
- 发送POST请求后,您将看到状态“201 Created”。这表示该过程已成功完成。
成功的XML请求
- 打开ISE GUI并导航到管理>身份管理>身份>用户>网络访问用户
验证用户帐户
故障排除
1. 标识身份组的ID。
使用GET和https://X.X.X.X/ers/config/identitygroup查询。
GET选项
JSON输出。
确定描述旁边的ID。
ID身份组01
XML输出。
确定描述旁边的ID。
ID身份组02
2. 401未经授权的错误。
401 个错误
解决方案:检查在Auth部分中配置的访问凭据
3. 错误:无法连接到服务器
连接错误
解决方案:检查在Insomnia中配置的ISE节点的IP地址或验证连接。
4. 400错误请求。
400 个错误
面临此错误的原因有多种,最常见的原因包括:
- 与安全密码策略不匹配
- 某些参数配置错误。
- Sintaxis错误。
- 信息重复。
5. 错误: SSL对等证书或SSH远程密钥不正常
SSL证书错误
解决方案:
- 点击禁用SSL验证(Disable SSL Validation)。
- 在Request / Response下,禁用Validate Certificates选项。
Validate certificates选项
6. CSCwh71435 缺陷。
使能口令是随机配置的,但您尚未配置它。当启用密码语法删除或保留为空值时会发生此行为。有关详细信息,请查看下一个链接:
https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwh71435
API调用引用。
您可以查看有关ISE支持的API调用的所有信息。
1. 导航至“管理”>“系统”>“设置”>“API设置”。
2. 单击ERS API信息链接。
API设置
3. 然后单击API文档。
API文档