認証方法
認証により、XML API による Cisco IMC との対話が可能になります。認証を使用すると、権限を設定し、実行できる操作を制御できます。
(注) |
このマニュアルのほとんどのコード例では、用語 |
ログイン
ログインするために、XML API クライアントは Cisco IMC HTTP(または HTTPS)サーバへの TCP 接続を確立し、aaaLogin メソッドを格納している XML ドキュメントをポストします。
次の例では、IP アドレス 192.0.20.72 で Cisco IMC のポート 80 への TCP 接続を確立するために、Telnet ユーティリティを使用しています。使用するパスは /nuova です。
$ telnet 192.0.20.72 80
POST /nuova HTTP/1.1
USER-Agent: lwp-request/2.06
HOST: 192.0.20.72
Content-Length: 62
Content-Type: application/x-www-form-urlencoded
次に、クライアントは aaaLogin メソッドを指定し、ユーザ名とパスワードを提供します。
<aaaLogin
inName='admin'
inPassword='password'>
</aaaLogin>
(注) |
XML API ドキュメントに XML バージョンまたは DOCTYPE の行を含めないでください。inName 属性と inPassword 属性はパラメータです。 |
各 XML API ドキュメントは、実行する操作を表します。要求が XML API ドキュメントとして受け取られると、Cisco IMC は要求を読み取り、メソッドで指定されているアクションを実行します。Cisco IMC は XML ドキュメント形式のメッセージに応答し、要求の成功または失敗を示します。
次に、一般的な成功応答を示します。
1 <aaaLogin
2 response="yes"
3 outCookie="<real_cookie>"
4 outRefreshPeriod="600"
5 outPriv="admin">
6 </aaaLogin>
応答の各行は、次のように解釈されます。
-
ログインに使用するメソッドを指定します。
-
これが応答であることを確認します。
-
セッションの Cookie を提供します。
-
推奨される Cookie のリフレッシュ間隔を指定します。デフォルトのログイン セッションの長さは 600 秒です。
-
ユーザ アカウントに割り当てられる権限レベルを指定します(admin、user、または readonly)。
-
終了タグ。
また、次の例に示すように XML API へのログインに cURL ユーティリティを使用できます。
curl -d "<aaaLogin inName='admin' inPassword='password'></aaaLogin>" http://192.0.20.72/nuova
HTTPS を有効にした場合は、次の例に示すように、cURL のコマンドで HTTPS を使用する必要があります。
curl -d "<aaaLogin inName='admin' inPassword='password'></aaaLogin>" https://192.0.20.72/nuova
セッションの更新
セッションは、aaaLogin 応答または以前の更新から取得された 47 文字の Cookie を使用して、aaaRefresh メソッドで更新されます。
<aaaRefresh
cookie="<real_cookie>"
inCookie="<real_cookie>"
inName='admin'
inPassword='password'>
</aaaRefresh>
セッションからのログアウト
セッションからログアウトするには、次のメソッドを使用します。
<aaaLogout
cookie="<real_cookie>"
inCookie="<real_cookie>"
</aaaLogout>
失敗の応答
失敗したログイン:
<aaaLogin
cookie=""
response="yes"
errorCode="551"
invocationResult="unidentified-fail"
errorDescr="Authentication failed">
</aaaLogin>
存在しないオブジェクト(空白が返される場合は、指定した DN オブジェクトが存在しないことを示します):
<configResolveDn
cookie="<real_cookie>"
response="yes"
dn="sys/rack-unit-1/adaptor-9999">
<outConfig>
</outConfig>
</configResolveDn>
不正な要求:
<configConfMo
cookie="<real_cookie>"
response="yes"
dn="sys/rack-unit-1/adaptor-1/ext-eth-0">
errorCode="103“
invocationResult="unidentified-fail“
errorDescr="can't create; object already exists.">
</configConfMo>