# aaa authentication http

モード
  グローバルコンフィグモード
カテゴリー
  運用・管理 / ユーザー認証

## 構文

コマンド構文

`(config)# aaa authentication http default METHODLIST`

`(config)# no aaa authentication http default`

## コマンド説明

HTTPサービス用の認証順序リスト（以下、HTTP認証順序リスト）を設定する。
no形式で実行した場合はHTTP認証順序リストを削除する。
初期状態では未設定。
HTTPサービス（内蔵Webサーバー）へのアクセスがあったときに使用する認証方式および認証順序は次のようにして決まる。

- HTTP認証順序リストが設定されている場合、HTTP認証順序リスト（aaa authentication httpコマンド）にしたがう
- HTTP認証順序リストが設定されていない場合、汎用的なログイン用の認証順序リスト（aaa authentication loginコマンド）にしたがう

## パラメーター

`default`
  デフォルト認証順序リスト
`METHODLIST := {local | group SERVER | group SERVER local}`
  認証順序。使用したい認証方式を使用順に列挙する。なお、RADIUSサーバーとユーザー認証データベースを併用する場合は、RADIUSサーバー、ユーザー認証データベースの順（`group SERVER local`）のみ設定可能
  `local`
    ユーザー認証データベース。usernameコマンドで設定したユーザー情報を使う
  `group SERVER := group {radius|tacacs+|GROUPNAME}`
    認証要求の送信先サーバー。次のいずれかを指定する
    `radius`
      radius-server hostコマンドで設定したすべてのRADIUSサーバーを順に試行する
    `tacacs+`
      tacacs-server hostコマンドで設定したすべてのTACACS+サーバーを順に試行する
    `GROUPNAME`
      指定したサーバーグループ（aaa group server radiusコマンドで作成）に所属するRADIUSサーバーだけを順に試行する

## 使用例

HTTP認証順序リストを設定し、HTTPサービスへのアクセスはRADIUSサーバーで認証するよう設定する。

    awplus(config)# aaa authentication http default group radius

HTTP認証順序リストを削除し、HTTPサービスへのアクセスを汎用的なログイン用認証順序リストにしたがって認証するよう設定する。

    awplus(config)# no aaa authentication http default

## 注意・補足事項

ユーザー認証データベースだけを使って認証を行うよう設定している場合、次のように認証が行われる。

1. 受け取ったユーザー名、パスワードをもとに、ユーザー認証データベースを検索する。
   - ユーザー名がユーザー認証データベースに登録されており、ユーザー名に対応するパスワードが正しい場合、ユーザー認証データベースに登録されている権限レベルで認証成功とする（処理終了）
   - ユーザー名がユーザー認証データベースに登録されており、ユーザー名に対応するパスワードが正しくない場合、認証失敗とする。（処理終了）
   - ユーザー名がユーザー認証データベースに登録されていない場合、認証失敗とする（処理終了）

RADIUSサーバーとユーザー認証データベースを併用する場合、認証順序はRADIUSサーバー、ユーザー認証データベースの順のみ設定可能。この場合、ユーザー認証データベースは、RADIUSサーバーへの通信ができないときのバックアップ用となる。
RADIUSサーバーだけを使って認証を行うよう設定している場合、および、認証順序をRADIUSサーバー、ユーザー認証データベースの順にしている場合は、次のように認証が行われる。

1. 受け取ったユーザー名、パスワードをもとに、RADIUSサーバーに認証を要求する。
   - 応答がAccess-Acceptの場合
     - Service-Type属性がAdministrative(6)なら権限レベル15を割り当て、手順2のa)に進む
     - Service-Type属性がNAS Prompt(7)なら権限レベル1を割り当て、手順2のa)に進む
     - それ以外の場合は権限レベル0を割り当て、手順2のa)に進む
   - 応答がAccess-Rejectの場合は認証失敗とする（処理終了）
   - RADIUSサーバーが登録されていない場合、または、登録されているRADIUSサーバーを順にトライし、すべてのサーバーが無応答だった場合は権限レベル0を割り当て、手順2のb)に進む
2. ユーザー認証データベースを検索する。このときの動作は、手順1の結果によってa)、b)の2とおりにわかれる。
   a) 手順1でAccess-Acceptを受信した場合、手順1と同じユーザー名をもとに、ユーザー認証データベースを検索する。
   - ユーザー名がユーザー認証データベースに登録されている場合、手順1で割り当てられた権限レベルをユーザー認証データベースに登録されている値に書き換え、手順3に進む（パスワードはチェックしない）
   - ユーザー名がユーザー認証データベースに登録されていない場合、何もせずに手順3に進む
   b) 手順1でRADIUSサーバーから応答を得られなかった場合（RADIUSサーバー未登録のケースを含む）は、手順1と同じユーザー名、パスワードをもとに、ユーザー認証データベースを検索する。
   - ユーザー名がユーザー認証データベースに登録されており、ユーザー名に対応するパスワードが正しい場合、手順1で割り当てられた権限レベルをユーザー認証データベースに登録されている値に書き換え、手順3に進む
   - ユーザー名がユーザー認証データベースに登録されており、ユーザー名に対応するパスワードが正しくない場合、何もせずに手順3に進む
   - ユーザー名がユーザー認証データベースに登録されていない場合、何もせずに手順3に進む
3. ログイン可否と権限の最終判定を行う
   - 権限レベルが15または1の場合、それぞれのレベルで認証成功とする（処理終了）
   - 権限レベルが0の場合、認証失敗とする（処理終了）

RADIUSのService-Type属性とユーザーの権限レベルの関係は次のとおり

表 1
Service-Type属性値 | 権限レベル
Administrative(6) | 15（管理者権限。特権EXECモードにパスワードなしで移行できる）
NAS Prompt(7) | 1（一般ユーザー権限。特権EXECモードの移行には、enable passwordコマンドで事前に設定された正しいパスワードの入力が必要）
上記以外の値 | 0（ログイン不可）
属性なし

HTTPアクセス認証にRADIUSサーバーを使う場合、ログイン用のユーザーとして以下の名前をRADIUSサーバーに登録しないこと。

- root
- httpd
- sshd
- daemon
- manager
- nobody
- tss

HTTPアクセス認証にRADIUSサーバー、TACACS+サーバーを使っている場合、先頭文字が `@ % / \` のユーザーは使用できない。

## コマンドツリー

## 関連コマンド