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)] 階層レベルで以下のステートメントを含めます。このステートメントの詳細については、 アクセス(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] 階層レベルで以下のステートメントを含めます。このステートメントの詳細については、 セキュリティモデル(グループ)を参照してください。
このトピックでは、次のセクションについて説明します。
セキュリティモデルを設定する
セキュリティモデルを設定するには、[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 (SNMPv3グループのアクセス権限の定義)を参照してください。
例:セキュリティグループの設定
セキュリティ名をグループに割り当てます。
vacm {
security-to-group {
security-model usm {
security-name user1 {
group group1;
}
security-name user2 {
group group2;
}
security-name user3 {
group group3;
}
}
}
}