5. Attributes (属性)
5. Attributes (属性)
RADIUS Attributes (属性) は、リクエストとレスポンスの特定の認証、認可、情報、および構成の詳細を伝えます。
Attributes リストの終わりは、RADIUS パケットの Length フィールドによって示されます。
一部の Attributes は複数回含まれる可能性があります。これの効果は Attribute 固有であり、各 Attribute の説明で指定されています。"Attributes" セクションの最後に要約表が提供されています。
同じ Type の複数の Attributes が存在する場合、同じ Type の Attributes の順序はすべてのプロキシによって保持されなければなりません。異なる Type の Attributes の順序を保持する必要はありません。RADIUS サーバーまたはクライアントは、異なるタイプの属性の順序に依存してはなりません。RADIUS サーバーまたはクライアントは、同じタイプの属性が連続していることを要求してはなりません。
Attribute の説明が、それを含めることができるパケットの種類を制限している場合、これはこの文書で定義されているパケットタイプ、すなわち Access-Request, Access-Accept, Access-Reject, Access-Challenge (コード 1, 2, 3, 11) にのみ適用されます。他のパケットタイプを定義する他の文書も、ここで説明されている Attributes を使用する場合があります。Accounting-Request および Accounting-Response パケット (コード 4 および 5) でどの Attributes が許可されているかを判断するには、RADIUS Accounting ドキュメント [5] を参照してください。
同様に、ここで定義されているパケットタイプが特定の Attributes のみが許可されていると述べている場合、新しい Attributes を定義する将来のメモは、新しい Attributes がどのパケットタイプに存在できるかを示す必要があります。
Attribute 形式の要約を以下に示します。フィールドは左から右に送信されます。
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Type | Length | Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Type
Type フィールドは 1 オクテットです。RADIUS Type フィールドの最新の値は、最新の "Assigned Numbers" RFC [6] で指定されています。値 192-223 は実験的使用のために予約されており、値 224-240 は実装固有の使用のために予約されており、値 241-255 は予約されており使用すべきではありません。
RADIUS サーバーは、未知の Type の Attributes を無視してもよい。
RADIUS クライアントは、未知の Type の Attributes を無視してもよい。
この仕様は以下の値に関係します:
1 User-Name
2 User-Password
3 CHAP-Password
4 NAS-IP-Address
5 NAS-Port
6 Service-Type
7 Framed-Protocol
8 Framed-IP-Address
9 Framed-IP-Netmask
10 Framed-Routing
11 Filter-Id
12 Framed-MTU
13 Framed-Compression
14 Login-IP-Host
15 Login-Service
16 Login-TCP-Port
17 (unassigned)
18 Reply-Message
19 Callback-Number
20 Callback-Id
21 (unassigned)
22 Framed-Route
23 Framed-IPX-Network
24 State
25 Class
26 Vendor-Specific
27 Session-Timeout
28 Idle-Timeout
29 Termination-Action
30 Called-Station-Id
31 Calling-Station-Id
32 NAS-Identifier
33 Proxy-State
34 Login-LAT-Service
35 Login-LAT-Node
36 Login-LAT-Group
37 Framed-AppleTalk-Link
38 Framed-AppleTalk-Network
39 Framed-AppleTalk-Zone
40-59 (reserved for accounting)
60 CHAP-Challenge
61 NAS-Port-Type
62 Port-Limit
63 Login-LAT-Port
Length
Length フィールドは 1 オクテットで、Type, Length, Value フィールドを含むこの Attribute の長度を示します。Access-Request で無効な Length の Attribute を受信した場合、Access-Reject を送信すべきです。Access-Accept, Access-Reject, または Access-Challenge パケットで無効な長さの Attribute を受信した場合、そのパケットは Access-Reject として扱われるか、静かに破棄されなければなりません。
Value
Value フィールドは 0 個以上のオクテットであり、Attribute に固有の情報を含みます。Value フィールドの形式と長さは、Type および Length フィールドによって決定されます。
RADIUS の型はいずれも NUL (16 進数 00) で終端しないことに注意してください。特に、RADIUS の "text" および "string" 型は NUL (16 進数 00) で終端しません。Attribute には長さフィールドがあり、終端記号を使用しません。Text には UTF-8 エンコードされた 10646 [7] 文字が含まれ、String には 8 ビットのバイナリデータが含まれます。サーバーとクライアントは、埋め込まれた null を処理できなければなりません。C を使用する RADIUS 実装者は、文字列を処理する際に strcpy() を使用しないように注意する必要があります。
value フィールドの形式は、5 つのデータ型のいずれかです。"text" 型は "string" 型のサブセットであることに注意してください。
-
text: UTF-8 エンコードされた 10646 [7] 文字を含む 1-253 オクテット。長さゼロ (0) の Text を送信してはなりません; 代わりに属性全体を省略してください。
-
string: バイナリデータ (値 0 から 255 の 10 進数、両端を含む) を含む 1-253 オクテット。長さゼロ (0) の Strings を送信してはなりません; 代わりに属性全体を省略してください。
-
address: 32 ビット値、最上位オクテットが先頭。
-
integer: 32 ビット符号なし値、最上位オクテットが先頭。
-
time: 32 ビット符号なし値、最上位オクテットが先頭 -- 1970 年 1 月 1 日 00:00:00 UTC からの秒数。標準 Attributes はこのデータ型を使用しませんが、将来の属性で使用される可能性があるためここに示されています。
属性の説明
- 5.1 User-Name
- 5.2 User-Password
- 5.3 CHAP-Password
- 5.4 NAS-IP-Address
- 5.5 NAS-Port
- 5.6 Service-Type
- 5.7 Framed-Protocol
- 5.8 Framed-IP-Address
- 5.9 Framed-IP-Netmask
- 5.10 Framed-Routing
- 5.11 Filter-Id
- 5.12 Framed-MTU
- 5.13 Framed-Compression
- 5.14 Login-IP-Host
- 5.15 Login-Service
- 5.16 Login-TCP-Port
- 5.17 (unassigned)
- 5.18 Reply-Message
- 5.19 Callback-Number
- 5.20 Callback-Id
- 5.21 (unassigned)
- 5.22 Framed-Route
- 5.23 Framed-IPX-Network
- 5.24 State
- 5.25 Class
- 5.26 Vendor-Specific
- 5.27 Session-Timeout
- 5.28 Idle-Timeout
- 5.29 Termination-Action
- 5.30 Called-Station-Id
- 5.31 Calling-Station-Id
- 5.32 NAS-Identifier
- 5.33 Proxy-State
- 5.34 Login-LAT-Service
- 5.35 Login-LAT-Node
- 5.36 Login-LAT-Group
- 5.37 Framed-AppleTalk-Link
- 5.38 Framed-AppleTalk-Network
- 5.39 Framed-AppleTalk-Zone
- 5.40 CHAP-Challenge
- 5.41 NAS-Port-Type
- 5.42 Port-Limit
- 5.43 Login-LAT-Port
- 5.44 Table of Attributes