Roleを作成したら、それをユーザに適用してみましょう。
Roleの割当て方法は、大きく5つあります。
設定箇所はAAA Profileで設定します。
- Initial Role
- User Derivation Role
- 認証時のDefault Role
- Server Derivation Role
- Aruba User Role
Role割当てのフローチャートはこんな感じです。

1. Initial Role
認証前にや認証失敗時に割当てられるRoleです。デフォルトではlogon Roleになっています。PSKの時はInitial Roleが割当てられるので、Initial Roleを編集します。
aaa profile "aaa-employee-psk-profile"
initial-role "employee"
authentication-dot1x "default-psk"
2. User Derivation Role
MAC OUI/ESSID/Fingerprint等に基づいてRoleを割当てることができます。
ClearPassがある場合はClearPassで設定した方が楽なので、ClearPassを使って下さい。(買って下さいw)
derivation-rule profileを設定し、それをAAA Profileで適用します。
aaa derivation-rules user smartphone
set role condition dhcp-option equals 370103060F77FC set role ios
set role condition dhcp-option starts-with 0c616E64726F69645F set role android
aaa profile aaa-smartphone-profile
user-derivation-rules smartphone
3. 認証時のDefault Role
これはその名の通り、認証に成功したユーザに割当てられるDefault Roleです。PSKの時と同じく、全てのユーザに同じRoleが割当てられることになるので、Roleのファイアウォール機能を使うことはできますが、本当の意味でのRole Base Access Control にはなら無いですね。
設定は、AAA Profileのdot1x-default-roleで設定します。
aaa profile "aaa-employee-dot1x"
authentication-dot1x "default"
dot1x-default-role "employee"
dot1x-server-group "your-radius-group"
4. Server Derivation Role
ClearPassが無い場合や、RADIUSサーバがAruba VSAに対応してい無い時に使います。
RADIUSサーバから受け取るAttributeに、IETFで定められているFilter-Id (11) を使います。コントローラの設定で、Filter-Idで受け取った値をRoleに適用する様に設定する事が可能です。
コントローラ側の設定は、AAA Server Groupnに1行設定を追加するだけです。
aaa server-group "your-radius-server-group"
auth-server your-radius-server
set role condition Filter-id value-of
5. Aruba User Role
ClearPassなど、Aruba VSA の Aruba-User-Role をサポートしているRADIUSサーバであれば、Aruba User Roleを使うのが最も楽です。
RADIUSサーバから認証応答時にAruba-User-Roleが返ってくれば、そのRoleがユーザに適用されます。
コントローラ側に特別な設定は不要です。
どのユーザにどのRoleを適用するかのポリシーをRADIUSサーバ側に設定しておく事で、Role Base Access Controlが実現できます。