SNMPグループのアクセス権限
SNMP バージョン 3(SNMPv3)は、VACM(ビューベースアクセス制御モデル)を使用し、グループに付与されたアクセス権限を設定できます。定義済みのビューを介して、特定の操作で利用可能なMIBオブジェクトをフィルタリングすることで、アクセスを制御することができます。ビューを割り当てて、特定のコンテキスト、セキュリティ モデル(v1、v2c、または usm)、セキュリティ レベル(認証、プライバシー、またはなし)を使用して、特定のグループの読み取り、書き込み、および通知操作に対して可視化されるオブジェクトを決定します。ビューを設定する方法については、次を参照してください: MIB ビューを設定する。
階[edit snmp v3 vacm]
層レベルで管理情報へのユーザー アクセスを定義します。VACM 内のすべてのアクセス制御は、グループ上で動作します。これは USM によって定義されたユーザーのコレクション、SNMPv1 および SNMPv2c セキュリティ モデルで定義されたコミュニティ文字列です。
用語 は、これらの一般的なエンド ユーザーをsecurity-name
指します。特定のセキュリティ名が属すグループは、 階[edit snmp v3 vacm security-to-group]
層レベルで設定されます。そのセキュリティ名は、 階[edit snmp v3 vacm security-to-group]
層レベルで定義されたグループに関連付けることができます。グループは、同じポリシーを共有する SNMP ユーザーの集合を識別します。その後、 [edit snmp v3 vacm access]
階層レベルでグループに関連するアクセス権限を定義します。ビューを使用してアクセスを定義することができます。グループごとに、SNMP操作に応じて異なるビューを適用できます。例えば、読み取り(get
、getNext
、、 または getBulk
)書き込み(set
)、通知、使用するセキュリティレベル(認証、プライバシー、またはなし)、SNMPリクエスト内で使用されるセキュリティモデル(v1、v2c、または usm)などです。
security-name
ステートメントでグループのメンバーを設定します。USM を使用する v3 パケットの場合、セキュリティ名はユーザー名と同じです。SNMPv1 または SNMPv2c パケットの場合、セキュリティ名はコミュニティ文字列に基づいて決定されます。セキュリティ名はセキュリティ モデルに固有です。SNMPv1 または SNMPv2c パケットの VACM アクセス ポリシーも設定する場合、 階[edit snmp v3 vacm security-to-group]
層レベルでセキュリティ モデル(SNMPv1 または SNMPv2c)ごとにセキュリティ名をグループに割り当てる必要があります。また、 [edit snmp v3 snmp-community community-index]
階層レベルでセキュリティ名をSNMPコミュニティに関連付ける必要があります。
SNMP グループのアクセス権限を設定するには、 [edit snmp v3 vacm]
階層レベルでステートメントを含めます。このステートメントの詳細については、vacmを参照してください。
グループに付与されるアクセス権限を設定する
このトピックは、以下のセクションで構成されています。
グループを設定する
グループに付与されたアクセス権限を設定するには、階[edit snmp v3 vacm access]
層レベルでステートgroup
メントを含めます。
[edit snmp v3 vacm access] group group-name;
group-name
はアクセス ポリシーを定義する共通の SNMP リストに属す SNMP ユーザーの集合です。特定の SNMP グループに属すユーザーは、そのグループに付与されたすべてのアクセス権限を継承します。
セキュリティモデルを設定する
セキュリティモデルを設定するには、階[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix)]
層レベルでステートsecurity-model
メントを含めます。
[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix)] security-model (any | usm | v1 | v2c);
any
—セキュリティ モデルusm
—SNMPv3セキュリティモデルv1
—SNMPv1セキュリティモデルv2c
—SNMPv2c セキュリティモデル
セキュリティレベルを設定する
特定のセキュリティ レベルでパケットに付与されたアクセス権限を設定するには、 階[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c)]
層レベルに ステートsecurity-level
メントを含めます。
[edit snmp v3 vacm access group group-name default-context-prefix security-model (any | usm | v1 | v2c)] security-level (authentication | none | privacy);
-
none
—認証も暗号化も行いません。 -
authentication
—認証は行うが、暗号化は行わない。 -
privacy
—認証と暗号化を行う。
設定されたと同等またはそれ以上のセキュリティレベルを持つすべてのパケットにアクセス権限を付与できます。SNMPv1 または SNMPv2c セキュリティ モデルを設定している場合、セキュリティ レベルnone
として を使用します。SNMPv3 セキュリティ モデル(USM)を設定している場合、セキュリティ レベルauthentication
、none
、 または privacy
セキュリティ レベルを使用します。
SNMPユーザーグループとMIBビューを関連付ける
MIB ビューは、グループのメンバーのアクセス権限を定義します。SNMP が対応している各セキュリティ モデル(usm、v1、および v2c)内の各 SNMP 操作(読み取り、書き込み、通知)と各セキュリティ レベル(認証、なし、プライバシー)には、別々のビューを割り当てることができます。
MIB ビューを SNMP ユーザー グループに関連付けるには、 階[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]
層レベルで以下のステートメントを記述します。このステートメントの詳細については、access (SNMP)を参照してください。
階[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]
層レベルの少なくとも 1 つのビュー(通知、読み取り、または書き込み)に関連付ける必要があります。
階[edit snmp view view-name]
層レベルで MIB ビューを設定する必要があります。MIBビューを設定する方法については、MIBビューを設定するを参照してください。
このセクションでは、この設定に関連する以下のトピックを説明します。
通知ビューを設定する
SNMP ユーザー グループと通知アクセスを関連付けるには、 階[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]
層レベルにステートnotify-view
メントを記述します。このステートメントの詳細については、notify-viewを参照してください。
view-name
は、SNMP グループの各ユーザーに送信できる通知のリストである通知アクセスを指定します。ビュー名は、32 文字を超えることはできません。
読み取りビューを設定する
読み取りビューを SNMP グループに関連付けるには、 階[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]
層レベルにステートread-view
メントを記述します。このステートメントの詳細については、read-viewを参照してください。
view-name
は、SNMP ユーザー グループの読み取りアクセスを指定します。ビュー名は、32 文字を超えることはできません。
書き込みビューを設定する
書き込みビューを SNMP ユーザー グループに関連付けるには、 階[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix) security-model (any | usm | v1 | v2c) security-level (authentication | none | privacy)]
層レベルにステーとwrite-view
メントを記述します。このステートメントの詳細については、write-viewを参照してください。
view-name
は、SNMP ユーザー グループの書き込みアクセスを指定します。ビュー名は、32 文字を超えることはできません。
例:グループに付与されるアクセス権限を設定する
アクセス権限を定義します。
[edit snmp v3 vacm] access { group group1 { default-context-prefix { security-model usm { #Define an SNMPv3 security model security-level privacy { notify-view nv1; read-view rv1; write-view wv1; } } } context-prefix lr1/ri1{ # routing instance ri1 in logical system lr1 security-model usm { security-level privacy { notify-view nv1; read-view rv1; write-view wv1; } } } } group group2 { default-context-prefix { security-model usm { #Define an SNMPv3 security model security-level authentication { read-view rv2; write-view wv2; } } } } group group3 { default-context-prefix { security-model v1 { #Define an SNMPv3 security model security-level none { read-view rv3; write-view wv3; } } } } }
セキュリティモデルとセキュリティ名をグループに割り当てる
セキュリティ名をグループに割り当てるには、[edit snmp v3 vacm security-to-group]
階層レベルで次のステートメントを記述します。このステートメントの詳細については、security-model (Group)を参照してください。
このトピックは、以下のセクションで構成されています。
セキュリティモデルを設定する
セキュリティモデルを設定するには、階[edit snmp v3 vacm security-to-group]
層レベルでステートsecurity-model
メントを含めます。
[edit snmp v3 vacm security-to-group] security-model (usm | v1 | v2c);
-
usm
—SNMPv3セキュリティモデル -
v1
—SNMPv1セキュリティモデル -
v2c
—SNMPv2セキュリティモデル
セキュリティ名をグループに割り当てる
セキュリティ名をSNMPv3ユーザー、またはv1やv2コミュニティ文字列に関連付けるには、階[edit snmp v3 vacm security-to-group security-model (usm | v1 | v2c)]
層レベルでステートsecurity-name
メントを含めます。
[edit snmp v3 vacm security-to-group security-model (usm | v1 | v2c)] security-name security-name;
SNMPv3では、security-name
は[edit snmp v3 usm local-engine user username]
階層レベルで設定されたユーザー名です。SNMPv1およびSNMPv2cでは、セキュリティ名は[edit snmp v3 snmp-community community-index]
階層レベルで設定されたコミュニティ文字列です。ユーザー名を設定する方法については、SNMPv3ユーザーを作成するを参照してください。コミュニティ文字列を設定する方法については、SNMPv3コミュニティを設定するを参照してください。
USMセキュリティ名は、SNMPv1およびSNMPv2cセキュリティ名から独立しています。SNMPv3のほかにSNMPv1およびSNMPv2cをサポートする場合、[edit snmp v3 vacm access]
階層レベルでグループへのセキュリティ設定内に個別のセキュリティ名を設定する必要があります。
グループを設定する
SNMPv3ユーザー、またはv1やv2セキュリティ名を作成した後、それらをグループに関連付けます。グループは特定のセキュリティモデルに属するセキュリティ名のセットです。グループはそれに属するすべてのユーザーのアクセス権を定義します。アクセス権は、SNMPオブジェクトが読み取る、書き取る、または作成できるものを定義します。グループは、ユーザーが受信できる通知も定義します。
ユーザーに与えるすべてのビューとアクセス権限が設定されているグループがすでに存在する場合は、そのグループにユーザーを追加することができます。他のグループが持っていないビューとアクセス権限をユーザーの付与したい場合、またはグループが設定されていない場合は、グループを作成し、それにユーザーを追加します。
グループに付与されたアクセス権限を設定するには、 階[edit snmp v3 vacm security-to-group security-model (usm | v1 | v2c) security-name security-name]
層レベルに ステートgroup
メントを記述します。このステートメントの詳細については、group (Defining Access Privileges for an SNMPv3 Group)を参照してください。
例:セキュリティ グループの設定
セキュリティ名をグループに割り当てます。
vacm { security-to-group { security-model usm { security-name user1 { group group1; } security-name user2 { group group2; } security-name user3 { group group3; } } } }