はじめに
このドキュメントでは、さまざまなシスコ製品およびシスコ以外の製品がCisco ISEなどのAAAサーバから受信する属性のコンパイルについて説明します。
背景説明
シスコ製品およびシスコ以外の製品では、認証、許可、アカウンティング(AAA)サーバから属性のコンパイルを受信することを想定しています。この場合、サーバはCisco ISEであり、ISEはこれらの属性を、認可プロファイル(RADIUS)の一部としてのAccess-Acceptとともに返します。
このドキュメントでは、カスタム属性認可プロファイルを追加する手順を説明し、デバイスのリストと、デバイスがAAAサーバから返されると想定されるRADIUS属性を示します。これらにはすべて例が示されます。
このドキュメントで提供される属性のリストは、完全なものでも信頼できるものでもありません。また、このドキュメントを更新しなくても、いつでも変更できます。
ネットワークデバイスのデバイス管理は通常TACACS+プロトコルを使用して行われますが、ネットワークデバイスがTACACS+をサポートしていない場合、またはISEにデバイス管理ライセンスがない場合は、ネットワークデバイスがRADIUSデバイス管理をサポートしている場合と同様にRADIUSを使用して行うことができます。一部のデバイスは両方のプロトコルをサポートしており、使用するプロトコルはユーザが決定しますが、TACACS+にはコマンド許可やコマンドアカウンティングなどの機能があるため、好ましい場合があります。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- 対象のネットワーク上のRADIUSサーバとしてのCisco ISE
- RADIUSプロトコルのワークフロー:RFC2865
ISEの導入には、RADIUS経由で管理されるデバイス管理に使用される同時RADIUSセッションの数と同じ数のEssentialライセンスが必要です。
使用するコンポーネント
このドキュメントの情報は、Cisco Identity Services Engine(ISE)3.x以降のバージョンのISEに基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
ステップ 1:ベンダー固有属性(VSA)を作成します。
ベンダーごとに作成された各種の辞書があり、それらの辞書に属性を追加できます。各辞書には、認可プロファイルで使用できる複数の属性を設定できます。各属性は、一般に、ユーザがネットワークデバイスにログインするときに取得できるデバイス管理のさまざまな役割を定義します。ただし、ネットワークデバイス上での動作や設定の目的によって、アトリビュートが異なる場合があります。
ISEには、一部のベンダー向けに事前定義された属性が付属しています。ベンダーがリストされていない場合は、属性を持つ辞書として追加できます。一部のネットワークデバイスでは、属性は設定可能であり、さまざまなタイプのアクセスに対して変更できます。その場合、ネットワークデバイスがさまざまなタイプのアクセスに対して期待する属性をISEに設定する必要があります。
Radius Access-Acceptで送信されることが想定される属性は、次のように定義されます。
- Policy > Policy Elements > Dictionaries > System > Radius > Radius Vendors > Addの順に移動します。
- 名前とベンダーIDを入力して保存します。
- 保存したRadius Vendorをクリックし、Dictionary Attributesに移動します。
- Addをクリックして、属性名、データタイプ、方向、およびIDを大文字小文字を区別して入力します。
- 属性を保存します。
- 同じディクショナリに複数の属性を追加する場合は、同じページに他の属性を追加します。
注:このセクションの値として入力される各フィールドは、ベンダーによって提供されます。ベンダーのWebサイトが不明な場合は、ベンダーのWebサイトにアクセスするか、ベンダーのサポートに連絡できます。
注:一部のベンダーでは、特定の辞書を追加する必要はありません。ベンダーがIETFによって定義されたRADIUS属性を使用できる場合(ISE上にすでに存在する)、この手順はスキップできます。
ステップ 2:ネットワークデバイスプロファイルを作成します。
このセクションは必須ではありません。ネットワークデバイスプロファイルは、追加されるネットワークデバイスのタイプを分離し、適切な認可プロファイルを作成するのに役立ちます。RADIUSディクショナリと同様に、ISEには使用可能な事前定義されたプロファイルがいくつかあります。まだ存在していない場合は、新しいデバイスプロファイルを作成できます。
ネットワークプロファイルを追加する手順を次に示します。
- Administration > Network Resources > Network Device Profiles > Addの順に移動します。
- 名前を入力し、RADIUSのチェックボックスをオンにします。
- RADIUS Dictionariesの下で、前のセクションで作成したディクショナリを選択します。
- 同じタイプのデバイスに対して複数のディクショナリが作成されている場合は、それらすべてをRADIUS Dictionariesの下で選択できます。
- プロファイルを保存します。
ステップ 3:ISEでネットワークデバイスを追加します。
デバイス管理を行うネットワークデバイスは、ネットワークデバイスで定義されたキーとともにISEに追加する必要があります。ネットワークデバイスでは、ISEはこのキーを持つRADIUS AAAサーバとして追加されます。
ISEにデバイスを追加する手順は次のとおりです。
- Administration > Network Resources > Network Devices > Addの順に移動します。
- 名前とIPアドレスを指定します。
- デバイスプロファイルは、ドロップダウンリストから選択して、前のセクションで定義したプロファイルにすることができます。プロファイルが作成されていない場合は、デフォルトのCiscoをそのまま使用できます。
- Radius認証設定を確認します。
- 共有秘密キーを入力し、デバイスを保存します。
ステップ 4:認可プロファイルを作成します。
ISEからAccess-AcceptまたはAccess-Rejectとしてプッシュされる最終的な結果は、認可プロファイルで定義されます。各認可プロファイルは、ネットワークデバイスが期待する追加の属性をプッシュできます。
次に、認可プロファイルを作成する手順を示します。
- [Policy] > [Policy Elements] > [Results] > [Authorization] > [Authorization Profiles] の順に選択します。
- Standard Authorization Profilesの下で、Addをクリックします。
追加できるプロファイルのタイプは、Access-AcceptおよびAccess-Rejectです。
Access-Acceptプロファイルの作成
このプロファイルは、ネットワークデバイスへの何らかのアクセスに使用されます。このプロファイルには、複数の属性を渡すことができます。内容は次のとおりです。
- 分かりやすい名前を付け、アクセスタイプとしてAccess-Acceptを選択します。
- 前のいずれかのセクションで作成したネットワークデバイスプロファイルを選択します。プロファイルが作成されていない場合は、デフォルトのCiscoを使用できます。
- 異なるタイプのプロファイルが選択されている場合、このページでは設定のオプションが制限されます。
- Advanced Attributes Settingsで、辞書と適用可能な属性(LHS)を選択します。
- 該当する場合は、ドロップダウンから属性に値(RHS)を割り当てるか、必要な値を入力します。
- 同じ結果の一部として送信する属性が他にもある場合は、+アイコンをクリックして、ステップ4と5を繰り返します。
ISEが送信する予定の結果、ロール、認可のそれぞれに対して複数の認可プロファイルを作成します。
注:統合された属性は、「属性の詳細」フィールドで確認できます。
アクセス拒否プロファイルの作成
このプロファイルは、デバイス管理の拒否を送信するために使用されますが、属性を一緒に送信するために引き続き使用できます。これは、Radius Access-Rejectパケットを送信するために使用されます。手順は、アクセスタイプとしてAccess-AcceptではなくAccess-Rejectを選択する必要がある手順1を除いて、同じです。
ステップ 5:ポリシー セットを作成します。
ISE上のポリシーセットは上から下へと評価され、ポリシーセットで設定された条件を満たす最初のポリシーセットが、ネットワークデバイスによって送信されたRadius Access-Requestパケットに対するISE応答の役割を果たします。デバイスのタイプごとに固有のポリシーセットを設定することをお勧めします。ユーザ認証と認可を評価する条件は、評価時に発生します。ISEに外部アイデンティティソースがある場合は、認証タイプに使用できます。
一般的なポリシーセットは次のように作成されます。
- Policy > Policy Sets > +の順に移動します。
- の名前を 新しいポリシーセット1
- このデバイスに固有の条件を設定します。
- Policy Setを展開します。
- Authentication Policyを展開して、認証ルールを設定します。外部ソースまたは内部ユーザは、ISEがユーザを確認する対象となるアイデンティティソースシーケンスとして使用できる例です。
- 認証ポリシーはすべて設定されています。この時点でポリシーを保存できます。
- Authorization Policyを展開して、ユーザの認可条件を追加します。たとえば、特定のADグループまたはISE内部IDグループを確認します。ルールに同じ名前を付けます。
- 許可ルールの結果は、ドロップダウンから選択できます。
- ベンダーがサポートするアクセスのタイプごとに複数の認可ルールを作成します。
デバイス リスト
RADIUSによるデバイス管理をサポートするデバイスは、前のセクションで説明したすべての手順を少し変更するだけでISEに追加できます。したがって、このドキュメントには、このセクションで提供される情報を使用するデバイスのリストがあります。 このドキュメントに記載されている属性および値のリストは、完全なものでも信頼できるものでもありません。また、このドキュメントを更新しなくても、いつでも変更できます。検証については、ベンダーのWebサイトとベンダーサポートを参照してください。
アグリゲーション サービス ルータ(ASR)
ISEにすでに存在するCisco AVペアを使用するため、このために個別のディクショナリとVSAを作成する必要はありません。
属性:cisco-av-pair
値:shell:tasks="#<role-name>,<permission>:<process>"
使用法:<role-name>の値を、ルータでローカルに定義されているロールの名前に設定します。ロール階層はツリー形式で記述できます。ツリーの最上部にrole#rootisがあり、role#leafaddsで追加コマンドが追加されます。これら2つのロールは、shell:tasks="#root,#leaf"の場合に結合して返すことができます。
個々のプロセスに基づいて許可を返すことができるので、特定のプロセスの読み取り、書き込み、実行権限をユーザに付与できます。たとえば、ユーザにBGPプロセスの読み取りおよび書き込み権限を付与するには、値をshell:tasks="#root,rw:bgp"に設定します。 属性の順序は重要ではありません。結果は、値がtoshell:tasks="#root,rw:bgp"またはtoshell:tasks="rw:bgp,#root"のどちらに設定されていても同じです。
例:許可プロファイルへの属性の追加
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-Cisco |
cisco-av-pair |
String |
shell:tasks="#root,#leaf,rwx:bgp,r:ospf" |
CiscoスイッチIOS®およびCisco IOS® XE
ISEにすでに存在するRADIUS属性を使用するため、このために個別のディクショナリとVSAを作成する必要はありません。
属性:cisco-av-pair
値:shell:priv-lvl=<level>
使用法:<level>の値を、基本的に送信される特権の数である数値に設定します。通常、15が送信された場合は読み取り/書き込み、7が送信された場合は読み取り専用を意味します。
例:許可プロファイルへの属性の追加
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-Cisco |
cisco-av-pair |
String |
シェル:priv-lvl=15 |
BlueCoat パケット シェーパ
属性:Packeter-AVPair
値:access=<level>
Usage:<level>は、付与するアクセスのレベルです。touch アクセスは読み取りおよび書き込みと同じで、look アクセスは読み取り専用と同じです。
次の値を使用して、このドキュメントに示すようにディクショナリを作成します。
- Name(名前):Packeter
- ベンダー ID:2334
- ベンダー長フィールドサイズ: 1
- 仕入先タイプフィールドサイズ: 1
属性の詳細を入力します。
- 属性:Packeter-AVPair(パケットAVPair)
- 説明:アクセスレベルを指定するために使用します。
- ベンダー属性ID: 1
- 方向:アウト
- 複数許可: False
- タグ付けを許可:オフ
- 属性の種類:文字列
例:許可プロファイルへの属性の追加(読み取り専用アクセス用)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUSパケータ |
Packeteer-AVPair |
String |
アクセス=ルック |
例:許可プロファイルへの属性の追加(読み取り/書き込みアクセス用)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUSパケータ |
Packeteer-AVPair |
String |
アクセス=タッチ |
BlueCoatプロキシサーバ(AV/SG)
属性:Blue-Coat-Authorization
値: <level>
Usage:<level>は、付与するアクセスのレベルです。0はアクセス権がないことを意味し、1は読み取り専用アクセスを意味し、2は読み取り/書き込みアクセスを意味します。 Blue-Coat-Authorization属性は、アクセスレベルを制御します。
次の値を使用して、このドキュメントに示すようにディクショナリを作成します。
- 名前:BlueCoat
- ベンダー ID:14501
- ベンダー長フィールドサイズ: 1
- 仕入先タイプフィールドサイズ: 1
属性の詳細を入力します。
- 属性:Blue-Coat-Group
- ベンダー属性ID: 1
- 方向:両方
- 複数許可: False
- タグ付けを許可:オフ
- 属性の種類:符号なし整数32 (UINT32)
2番目の属性の詳細を入力します。
- 属性:Blue-Coat-Authorization
- 説明:アクセスレベルを指定するために使用します。
- ベンダー属性ID: 2
- 方向:両方
- 複数許可: False
- タグ付けを許可:オフ
- 属性の種類:符号なし整数32 (UINT32)
例:許可プロファイルへの属性の追加(アクセスなし)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-BlueCoat |
Blue-Coat – グループ |
UINT32 |
0 |
例:許可プロファイルへの属性の追加(読み取り専用アクセス用)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-BlueCoat |
Blue-Coat – グループ |
UINT32 |
1 |
例:許可プロファイルへの属性の追加(読み取り/書き込みアクセス用)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-BlueCoat |
Blue-Coat – グループ |
UINT32 |
2 |
Brocade スイッチ
ISEにすでに存在するRADIUS属性を使用するため、このために個別のディクショナリとVSAを作成する必要はありません。
属性:Tunnel-Private-Group-ID
値:U:<VLAN1>; T:<VLAN2>
使用法:<VLAN1>をデータVLANの値に設定します。<VLAN2>を音声VLANの値に設定します。この例では、データ VLAN は VLAN 10 で、音声 VLAN は VLAN 21 です。
例:許可プロファイルへの属性の追加
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-IETF |
Tunnel-Private-Group-ID |
Tagged String |
U:10;T:21 |
Infoblox
属性:Infoblox-Group-Info
値:<グループ名>
Usage:<group-name>は、ユーザに権限が付与されているグループの名前です。このグループは、Infoblox デバイスで設定する必要があります。この設定例では、グループ名は MyGroup です。
次の値を使用して、このドキュメントに示すようにディクショナリを作成します。
- 名前: Infoblox
- ベンダー ID:7779
- ベンダー長フィールドサイズ: 1
- 仕入先タイプフィールドサイズ: 1
属性の詳細を入力します。
- 属性:Infoblox-Group-Info
- ベンダー属性ID: 009
- 方向:アウト
- 複数許可: False
- タグ付けを許可:オフ
- 属性の種類:文字列
例:許可プロファイルへの属性の追加
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-Infoblox |
Infoblox-Group-Info |
String |
マイグループ |
Cisco Firepower Management Center
ISEにすでに存在するRADIUS属性を使用するため、このために個別のディクショナリとVSAを作成する必要はありません。
属性:cisco-av-pair
値:Class-[25]=<role>
使用法:<role>の値を、FMCでローカルに定義されているロールの名前に設定します。FMCでadminやread-only userなどの複数のロールを作成し、ISEの属性に値を割り当てて、FMCが同様に受信するようにします。
例:許可プロファイルへの属性の追加
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-Cisco |
cisco-av-pair |
String |
Class-[25]=NetAdmins |
Nexus スイッチ
ISEにすでに存在するRADIUS属性を使用するため、このために個別のディクショナリとVSAを作成する必要はありません。
属性:cisco-av-pair
値:shell:roles="<role1> <role2>"
使用法:<role1>と<role2>の値を、スイッチでローカルに定義されているロールの名前に設定します。複数のロールを作成する場合は、それらをスペース文字で区切ります。複数のロールが AAA サーバから Nexus スイッチに返されると、ユーザは、3 つのロールすべてで定義されるコマンドにアクセスできます。
組み込みロールは、「ユーザアカウントとRBACの設定」で定義します。
例:許可プロファイルへの属性の追加
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-Cisco |
cisco-av-pair |
String |
shell:roles="network-admin vdc-admin vdc-operator" |
ワイヤレス LAN コントローラ(WLC)
ISEにすでに存在するRADIUS属性を使用するため、このために個別のディクショナリとVSAを作成する必要はありません。
属性:Service-Type(サービスタイプ)
値:Administrative (6) / NAS-Prompt (7)
使用法:ワイヤレスLANコントローラ(WLC)への読み取り/書き込みアクセスをユーザに許可するには、値がAdministrativeである必要があります。読み取り専用アクセスの場合は、値がNAS-Promptである必要があります。
詳細については、「WLCでの管理ユーザのRADIUSサーバ認証の設定例」を参照してください。
例:許可プロファイルへの属性の追加(読み取り専用アクセス用)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-IETF |
Service-Type |
Enumeration |
NASプロンプト |
例:許可プロファイルへの属性の追加(読み取り/書き込みアクセス用)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUS-IETF |
Service-Type |
Enumeration |
管理 |
Data Center Network Manager(DCNM)
認証方式を変更した場合、DCNM を再起動する必要があります。それ以外の場合は、network-admin権限の代わりにnetwork-operator権限を割り当てることができます。
ISEにすでに存在するRADIUS属性を使用するため、このために個別のディクショナリとVSAを作成する必要はありません。
属性:cisco-av-pair
値:shell:roles=<role>
DCNM Role |
RADIUS Cisco-AV-Pair |
User |
シェル:ロール= "network-operator" |
Administrator |
シェル:ロール= "network-admin" |
音声コード
属性:ACL-Auth-Level
値:ACL-Auth-Level = "<integer>"
Usage:<integer>は、付与するアクセスのレベルです。ユーザの場合、ACL-Auth-UserLevelという名前のACL-Auth-Level属性の値は50、adminの場合、ACL-Auth-AdminLevelという名前のACL-Auth-Level属性の値は100、security adminの場合、ACL-Auth-SecurityAdminLevelという名前のACL-Auth-Level属性の値は200です。名前はスキップ可能で、属性の値は許可プロファイルの拡張AVペアの値として直接指定できます。
次の値を使用して、このドキュメントに示すようにディクショナリを作成します。
- 名前:AudioCodes
- ベンダー ID:5003
- ベンダー長フィールドサイズ: 1
- 仕入先タイプフィールドサイズ: 1
属性の詳細を入力します。
- 属性:ACL-Auth-Level
- 説明:アクセスレベルを指定するために使用します。
- ベンダー属性ID: 35
- 方向:アウト
- 複数許可: False
- タグ付けを許可:オフ
- 属性の種類:整数
例:許可プロファイル(ユーザ用)に属性を追加する。
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUSオーディオコード |
ACL認証レベル |
整数 |
50 |
例:許可プロファイルへの属性の追加(admin用)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUSオーディオコード |
ACL認証レベル |
整数 |
100 |
例:許可プロファイルへの属性の追加(セキュリティ管理者用)
Dictionary Type |
RADIUS Attribute |
Attribute Type |
Attribute Value |
RADIUSオーディオコード |
ACL認証レベル |
整数 |
200 |