アンシブルを使用した Windows ユーザー ID エージェントのリモート展開
Resolution
アンシブル は、通常、IT インフラストラクチャ内のサーバーの状態を強制するために使用される構成管理ツールです。これは、サーバーが実際に同じ状態になるようにするために使用されます。適切なパッケージがインストールされ、適切な構成ファイルが配置され、正しいサービスが正しいアクセス許可で実行されていることが保証されます。
管理者は、関するプレイブックの形式で、簡単な言語 (YAML) で一組の規則を書きます。 アンシブルは、ノードに接続し、それらに"アンシブルモジュール"と呼ばれる小さなプログラムを押し出すことによって動作します。アンシブルの作品の詳細についてはここ を見つけることができます
管理者は、Windows アンシブルモジュール(http://docs.ansible.com/ansible/latest/list_of_windows_modules.html) を使用して、リモートでユーザー ID エージェントをインストールおよび管理することができます (パロアルトネットワーク管理者ガイド)
デフォルトではアンシブルは SSH を使用して Linux を管理します。Windows を管理するには、PowerShell リモート処理を使用します。アンシブルで Windows マシンを管理するには、アンシブルサイトに記載されている手順に従う必要があります。
リファレンス:http://docs.ansible.com/ansible/latest/intro_windows.html
次の手順では、ユーザー ID エージェントをリモートで展開するためにアンシブル脚本を記述するために使用した Windows アンシブルモジュールのいくつかを紹介します。
アンシブルは、インフラストラクチャ内の複数のシステムに対して同時に動作します。これは、アンシブルのインベントリに記載されているシステムの一部を選択することによって行われ、デフォルトではロケーションに保存されます /etc/ansible/hosts
たとえば、ユーザー ID エージェントサーバー (uid1 palab) をタグの下に定義しています (windows)
windows
uid1. palab. ローカル
次のモジュールは、Windows サーバーにユーザー ID エージェントをインストールします。win_package モジュールの詳細については 、こちらをご覧ください。
次の例では、ユーザー IDエージェントインストーラー (* .msi) がネットワーク共有でホストされています。
-ホスト: windows の
タスク:
-名前: インストール UID
win_package:
パス: \\DC1\Users\Administrator\Downloads\UaInstall-8.0.7-2.msi
product_id: ユーザー id エージェントの
状態: 現在の
user_name: PALAB\Administrator
user_password: MySuperSecretPass
次のコマンドは、脚本を実行します。
アンシブル-脚本-vvv install_uid
アンシブルは、秘密を暗号化するためにアンシブルボールト (ボールトリンク)と呼ばれるツールが付属しています。これらのシークレットは、タスクで使用できます。
秘密の yaml ファイルを作成します。
---
mysecret: MySuperSecretPass
秘密のファイルを暗号化する
# アンシブル-ボールトの暗号化の秘密。新しい vault のパスワードを EnterASuperSecretPass: 新しいボールトの
パスワードを確認する
: EnterASuperSecretPass
暗号化が成功 しました
シークレットファイルの内容は暗号化され、以下のようになります (内容は環境によって異なります)
猫の秘密
$ANSIBLE _vault; 1.1;AES256
63303662393262633865366536333531383362633838316462313739306431656130383730303036
6433623639316439313565393430333430643930623266350a353533666432613438626331396636
32326366386361363363383335333135386364346466636533353434323261373739363533626238
3635613765383762380a306439383961336261316432376266386338643765313064376264633535
35616534613264353739333564633534353230623630653762373632323766643838
mysecret で定義された変数 (例:) は、次のように関するプレイブックで使用できるようになりました。
-ホスト: windows の
タスク:
-名前: インストール UID
win_package:
パス: \\DC1\Users\Administrator\Downloads\UaInstall-8.0.7-2.msi
product_id: ユーザー id エージェントの
状態: 現在の
user_name: PALAB\Administrator
user_password: "{{mysecret}}"
上記の脚本を実行するには、次コマンドを入力してください:
ルート @ カリ:/etc/ansible# アンシブル-脚本-質問-ボールト-パス install_uid_vault
パスワード: EnterASuperSecretPass
vault の詳細については、 http://docs.ansible.com/ansible/latest/playbooks_vault.html を参照してください。
注:ユーザー id エージェントに専用のサービスアカウントが使用されている場合は、windows server で追加の手順を実行する必要があります (インストールフォルダへのアカウントのアクセス許可の割り当て、ユーザー id エージェントのレジストリのアクセス許可の変更など) 。 適切にアクセス許可を与えるには、管理者ガイドを参照してください。
次のアンシブルモジュールを使用して、リモートユーザー ID エージェントサーバーのアクセス許可を変更できます。次の例では、ユーザー ID エージェントが使用するサービスアカウント (uidagent @ palab) が作成されています。
-ホスト: windows
のタスク:
-名前: フォルダ win_acl のアクセス許可を設定する:
パス: c:\\ プログラムファイル (x86) \Palo アルトネットワークの
権利: FullControl
タイプ: 許可
状態: 現在の
継承: ContainerInherit、ObjectInherit
伝播: ' なし '
ユーザー: uidagent @ PALAB:
レジストリキーを設定する右
win_acl:
パス: HKLM: \ Software\Wow6432Node\Palo アルトネットワーク
ユーザー: uidagent @ PALAB. ローカル
権限: FullControl
タイプ:許可の
状態: 現在の
継承: ContainerInherit、ObjectInherit
伝播: ' なし '
サービスアカウントとサービスとしてログオンを設定するモジュール
-ホスト: windows の
タスク:
-名前: ドメインアカウントにログオンユーザーを設定
win_service:
名前: ユーザー ID エージェントの
状態: 再起動さ
れたユーザ名: uidagent @ PALAB. ローカル
パスワード: MySuperSecretUIDPass
他のユーザー id エージェントを展開する前に、windows サーバーのユーザー id 1 を構成します (これをマスター windows サーバーと呼びましょう)。マスター Windows サーバーから構成をコピーし、他のサーバーに配置します。
手順 (管理者ガイド) に従って、マスター windows サーバー上のユーザー ID エージェントを構成します。構成が完了すると、"UserIDAgentConfig" ファイルがユーザー ID のインストールフォルダに書き込まれます。UserIDAgentConfig ファイルをアンシブルコントローラにコピーします。ファイアウォールを認証するためにユーザー ID エージェントのカスタム証明書を割り当てる場合は、以下の (オプション) を確認してください。これらの手順が完了したら、"UserIDAgentConfig" ファイルをコピーします。
ルート @ アンシブル:/etc/ansible# cd ファイル/
ルート @ カリ:/etc/ansible/files# ls-レター UserIDAgentConfig-
rw の-r を-r を-1 ルートルート 4559 Mar 14 12: 01 UserIDAgentConfig
(オプション):
ファイアウォールとユーザー id エージェントの間の SSL 接続を認証するために、管理者はユーザー id エージェントにカスタム証明書をアップロードできます。
ファイアウォールとユーザー ID エージェント間の相互認証を有効にするには、マスタ Windows サーバーで次の手順を実行し、そのサーバーの構成を使用して、他のサーバーにリモートでプッシュします。
- マスタ Windows サーバーにユーザー ID エージェントをインストールする
- 関連するユーザー ID エージェントの構成を実行する
- そのサーバーにカスタム証明書をアップロードします。
- 設定を保存します。
- 構成をコミットしない
- UserIDAgentConfig を Windows サーバーからアンシブルコントローラーにコピーします。
- この方法で複数のユーザー id エージェントをリモートで構成する必要がある場合は、手順3に進み、関連するユーザー id エージェント証明書をアップロードします。手順4、5、6を実行します。
"UserIDAgentConfig" ファイルをリモートサーバーに コピーするためのモジュールです。
"win_copy" (link) は、リモート・エージェント・サーバー上のユーザー ID エージェント・インストール・フォルダに構成ファイルをコピーするために使用されます。たとえば、次のタスクを実行するには、"アンシブル-脚本-vvv copy_uid_config" コマンドを使用します。
-ホスト: windows の
タスク:
-名前: ファイル名を
win_copy:
src: UserIDAgentConfig
dest: c:\\ プログラムファイル (x86) \Palo アルト Networks\User-ID エージェント \
ユーザー id エージェントは、ユーザー id のインストールに使用したのと同じモジュールを使用してアップグレードできます。インストーラー・ファイルをちょうど変えて下さい
-ホスト: windows の
タスク:
-名前: インストール UID
win_package:
パス: \\DC1\Users\Administrator\Downloads\UaInstall-8.1.0-66.msi
product_id: ユーザー id エージェントの
状態: 現在の
user_name: PALAB\Administrator
user_password: MySuperSecretPass
アップグレードが完了したら、ユーザー ID エージェントサービスを再起動する必要があります。
"win_service" モジュール (リンク) を使用して、我々は、ユーザー ID エージェントサービスを再起動することができます。
-ホスト: windows の
タスク:
-名前: 再起動サービス
win_service:
名前: ユーザー ID エージェントの
状態: 再起動
ファイアウォールでは、接続セキュリティが (デバイス > ユーザー id > 接続セキュリティ) の下で構成されていることに注意してください。この手順では、ファイアウォールは、ユーザー ID エージェントの証明書に署名した CA 証明書を確認します。
その他。
[ユーザーの無視] リストでは、IP アドレスとユーザー名のマッピングを必要としないユーザーアカウント (キオスクアカウントなど) が定義されます。詳細については、管理者ガイド をご覧ください。
アンシブルコントローラに無視リストファイルを作成します (ファイル名を ignore_user_list として指定します)
ルート @ アンシブル:/etc/ansible# cat ファイル/ignore_user_list
palab\administrator
リモートユーザー ID エージェントサーバーに無視リストを送信します。このファイルはインストールフォルダにコピーされます。"win_copy" アンシブル Windows モジュールは、このタスクを達成するために使用されます。
-ホスト: windows の
タスク:
-名前: ファイル名を
win_copy:
src: ignore_user_list
dest: c:\\ プログラムファイル (x86) \Palo アルト Networks\User-ID エージェント \
無視リストを有効にするには、ユーザー ID エージェントサービスを再起動することがあります。先ほど提供したレシピを使用して、ユーザー ID エージェントサービスを再起動します。
無視リストの適用の前に:
無視リストの適用の後:
ご自身の責任で上記のガイドを使用してください: 手順は、我々はラボ環境で実施したセットアップを反映して概説。
結果と構成パラメータは、環境によって異なる場合があり、運用中に展開する前に確認およびテストする必要があります。