Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Python 自動化スクリプトを実行するデバイスで Python 自動化スクリプトを実行するためのJunos OS

Python スクリプト実行の要件

Python を使用して、コミット、イベントJunos OS、SNMP 自動化スクリプトの作成に使用できます。デフォルトでは、Python コードの不正実行を防止するために、デフォルトで python Junos OS を実行するデバイスは使用できません。変更されていない Python スクリプトを実行するには、オンボックス自動化スクリプトの通常の要件に加えて、以下の要件を満たす必要があります。

  • ファイルの所有者は、ユーザー ログイン クラスの root または super-user Junos OSのいずれかです。

  • ファイルの所有者だけが、そのファイルに対する書き込み権限を持つ。

  • 階層レベルで or ステートメントを設定すると、変更した Python スクリプトlanguage pythonlanguage python3を実行[edit system scripts]できます。

    メモ:

    language python3このステートメントを設定した場合、デバイスは Python 3 を使用してこの Python バージョンをサポートするスクリプトを実行し、Python 2.7 を使用して、特定のバージョンの Python 3 をサポートしていないスクリプトをJunos OSします。詳細については、「 ネットワークで稼働しているデバイスの Python 自動化スクリプトについて 」をJunos OS

    メモ:

    Evolved Release 21.2R1 language python Junos OS、ステートメントは設定グループでデフォルトで junos-defaults 設定されています。

    メモ:

    ファイルのユーザーまたはグループ クラスに属していないユーザーが、読み込んだ Python 自動化スクリプトを実行するには、スクリプトのファイル権限に、他のユーザーに対する読み取り権限を含める必要があります。

SLAX および XSLT 自動化スクリプトと同様、Python 自動化スクリプトはデバイスの適切なディレクトリに保存する必要があります。また、設定のスクリプト タイプに適した階層レベルの下でスクリプト ファイル名を設定して、個々のスクリプトを有効にする必要があります。自動化スクリプトの保存と有効化の詳細については、「 自動化スクリプト の保存と有効化 」Junos参照してください

Python スクリプトの完全性を検証するためにチェックサムを設定することをお勧めします。ローカル スクリプトのチェックサムを指定するにはchecksum[file filename]、特定のタイプのスクリプトに階層内の ステートメントを設定します。リモート op スクリプトのチェックサムを指定するには、 key コマンドを使用してスクリプトを実行する際に引数を含op urlめる必要があります。Junos OS リリース 18.2R2 および 18.3R1 から、チェックサムが設定されていない、読み込み済みの Python スクリプトを実行した場合、Junos OS はシステム ログ ファイルに CSCRIPT_SECURITY_WARNING メッセージをログに記録します。例えば:

Python スクリプトのアクセス権限の設定

Junos OS Release 16.1R3 から、コミットスクリプトや op スクリプトなどのインタラクティブな Python スクリプトは、スクリプトを呼び出すコマンドまたは操作を実行するユーザーのアクセス権限を使用して実行します。デフォルトでは、イベントや SNMP スクリプトなどの非インタラクティブ Python スクリプトは、ユーザーとグループの権限を使用して実行されます nobody。特定のユーザーのアクセス権限を使用してイベントまたは SNMP python-script-user username [edit event-options event-script file filename] [edit system scripts snmp file filename] スクリプトを実行するには、イベント スクリプト用に階層レベルで ステートメントを設定し、SNMP [edit system login] スクリプトの階層レベルで設定したユーザーを指定する必要があります。

例えば:

メモ:

Python イベントおよび SNMP スクリプトは、root アクセス権限を使用して実行する設定することはできません。

要件の変更の概要(リリース別)

最初のリリース Junos OS、16.1R3使用されていない Python スクリプトの所有およびアクセス権限の要件が変更されます。Junos OS リリース 16.1R2 以前のリリースでは、Python コミット、イベント、op、SNMP のスクリプトは権限を持つ必要があります。Junos OS は、root ユーザーが所有する必要があります。Junos OS は、一般的で恵まれない汎用システム アカウントである *nix nobodyユーザーおよびグループのアクセス権限を使用してスクリプトを実行します。Junos OS リリース 16.1R3 から、変更した Python 自動化スクリプトはルート ユーザーまたは Junos OS super-user ログイン クラスのユーザーのいずれかによって所有する必要があります。ファイルの書き込み権限を持つのはファイルの所有者のみです。さらに、Python 自動化スクリプトは、承認されたユーザーのアクセス権限を使用して実行できます。

表 1 は 、Veriexec 対応のさまざまなバージョンの Python 自動化スクリプトを実行するための要件Junos OS。

表 1:Python 自動化スクリプトの要件

要件/制限

Junos OS リリース 16.1R2以前のリリース

Junos OS リリース 16.1R3以降のリリース

ファイルの所有者

Root ユーザー

ログイン クラス内の root ユーザー Junos OS super-user ユーザー。

ファイル書き込み権限

任意

ファイルの所有者のみ

language python または language python3 ステートメントを階層レベルで設定する [edit system scripts] 必要があります。

メモ:

Python 3 は、Python リリース Junos OS以降19.4R1でサポートされています。

はい

はい

スクリプトは、そのスクリプト タイプに対応する階層の下の設定で有効にする必要があります。

はい

はい

アクセス権限

すべての Python 自動化スクリプトは、ユーザーとグループのアクセス権限を使用して実行されます。 nobody

Python コミットおよび op スクリプトは、スクリプトを呼び出すユーザーのアクセス権限を使用して実行されます。

Python イベントおよび SNMP スクリプトは、ステートメントで設定されたユーザーのアクセス権限を使用して実行 python-script-user されます。ステートメントが python-script-user 設定されていない場合、スクリプトはユーザーとグループのアクセス権限を使用して実行されます nobody

リリース履歴テーブル
リリース
説明
21.2R1-EVO
Evolved Release 21.2R1 Junos OSから、pythonステートメント言語はデフォルトで junos-defaults 設定グループで設定されています。
16.1R3
最初のリリース Junos OS、16.1R3使用されていない Python スクリプトの所有およびアクセス権限の要件が変更されます。