はじめに
このドキュメントでは、APIコールと組み合わせてJSONまたはXMLデータ形式を活用することにより、Cisco ISEの内部ユーザを設定する方法について説明します。
前提条件
- ISE 3.0以降。
- APIクライアントソフトウェア。
使用するコンポーネント
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ネットワーク図
一般的なトポロジ
GETとPOSTは、API(アプリケーションプログラミングインターフェイス)呼び出しで使用される最も一般的なHTTPメソッドの2つです。サーバ上のリソースとの対話に使用され、通常はデータを取得したり、処理のためにデータを送信したりします。
GET APIコール
GETメソッドは、指定されたリソースからデータを要求するために使用します。GET要求は、APIおよびWebサイトで最も一般的で広く使用されているメソッドです。Webページにアクセスすると、ブラウザはWebページをホストしているサーバに対してGET要求を行います。
POST APIコール
POSTメソッドは、リソースを作成または更新するためにサーバーにデータを送信するために使用します。POST要求は、フォームデータの送信やファイルのアップロードによく使用されます。
コンフィギュレーション
内部ユーザを作成するには、APIクライアントソフトウェアからISEノードに正確な情報を送信する必要があります。
ISEの設定
ERS機能を有効にします。
1. [管理] > [システム] > [設定] > [API設定] > [APIサービス設定]に移動します。
2. ERS(読取り/書込み)オプションを使用可能にします。
API設定
JSON要求。
- オープン不眠症。
- 左側に新しいHTTPS要求を追加します。
JSON要求
- ISEノードに情報を送信するには、POSTを選択する必要があります。
入力する必要がある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資格情報
- 「ヘッダー」をクリックして、次のメソッドを追加します。
- Content-Type:application/json
- 許可:アプリケーション/json
JSONヘッダー
- 最後に、Sendをクリックします。
注:新しいユーザアカウントにIDグループを割り当てる場合は、そのIDを使用する必要があります。詳細については、「トラブルシューティング」の項を参照してください。
検証
- POST要求を送信すると、「201 Created」というステータスが表示されます。これは、プロセスが正常に完了したことを意味します。
成功したJSON要求
- ISE GUIを開き、Administration > Identity Management > Identities > Users > Network Access Usersの順に移動します
JSONユーザーアカウント
XML要求
- オープン不眠症。
- 左側に新しいHTTPS要求を追加します。
XML要求
- ISEノードに情報を送信するには、POSTを選択する必要があります。
入力する必要があるURLは、ISEノードのIPアドレスによって異なります。
URL:https://x.x.x.x/ers/config/internaluser
XML投稿
- 次に、Bodyをクリックして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クレデンシャル
- 「ヘッダー」をクリックして、次のメソッドを追加します。
- コンテンツタイプ:application/xml
- 許可:アプリケーション/xml
XMLヘッダー
- 最後に、Sendをクリックします。
注:新しいユーザアカウントにIDグループを割り当てる場合は、そのIDを使用する必要があります。詳細については、「トラブルシューティング」の項を参照してください。
検証
- POST要求を送信すると、「201 Created」というステータスが表示されます。これは、プロセスが正常に完了したことを意味します。
正常なXML要求
- ISE GUIを開き、Administration > Identity Management > Identities > Users > Network Access Usersの順に移動します
ユーザアカウントの検証
トラブルシュート
1. 識別グループのIDを識別します。
GETおよびhttps://X.X.X.X/ers/config/identitygroupクエリを使用します。
GETオプション
JSON出力。
説明の横にあるIDを指定します。
IDアイデンティティグループ01
XML出力。
説明の横にあるIDを指定します。
IDアイデンティティグループ02
2. 401 Unauthorized error(不正エラー)。
401 エラー
解決方法: [認証]セクションで構成されているアクセスクレデンシャルを確認します
3. エラー:サーバーに接続できませんでした
接続エラー
解決策:不眠症で設定されているISEノードのIPアドレスを確認するか、接続を検証します。
4. 400不正な要求。
400 エラー
このエラーが発生する原因は複数ありますが、最も一般的な原因は次のとおりです。
- セキュリティパスワードポリシーとの不一致
- 一部のパラメータが正しく設定されていません。
- Sintaxisエラー。
- 情報が重複しています。
5. エラー: SSLピア証明書またはSSHリモートキーがOKではありませんでした
SSL証明書エラー
ソリューション:
- Disable SSL Validationをクリックします。
- Request / Responseで、Validate Certificatesオプションを無効にします。
Validate certificatesオプション
6. CSCwh71435 不具合。
イネーブルパスワードは未設定ですが、ランダムに設定されます。この動作は、enable password構文が削除された場合、または値として空のままになっている場合に発生します。詳細については、次のリンクを参照してください。
https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwh71435
APIコール参照。
ISEがサポートするAPIコールに関するすべての情報を確認できます。
1. 「管理」>「システム」>「設定」>「API設定」にナビゲートします。
2. ERS API情報リンクをクリックします。
API設定
3. 「APIドキュメント」をクリックします。
APIドキュメント