Ansible制御ノードのセットアップ
Ansible制御ノードをセットアップするには、SUSE Manager Web UIから次のステップを実行します。
-
SUSE Manager Web UIで、
に移動し、SUSE Linux Enterprise Server 15 SP5 x86_64
およびSUSE Manager Client Tools for SLE 15 x86_64
が選択および同期されていることを確認します。 -
SUSE Linux Enterprise Server 15 SP5クライアントを配備します。
-
SUSE Manager Web UIで、クライアントの
ページに移動します。 を選択し、クライアントをSUSE Linux Enterprise Server 15 SP5 x86_64
とSUSE Manager Client Tools for SLE 15 x86_64
チャンネルにサブスクライブします。SUSE Managerクライアントツールには、
ansible
パッケージが含まれています。 -
クライアントの
を選択します。 [付属エンタイトルメント
]リストで[Ansible制御ノード
]を有効にして、プロパティの更新をクリックします。 -
クライアントの概要ページに移動し、
を選択して、highstateの適用をクリックします。 -
イベントタブを選択して、highstateの状態を確認します。
1. SCAPセキュリティガイドパッケージのインストール
修復を実行するには、Ansible制御ノードにSCAPセキュリティガイドパッケージをインストールする必要があります。
-
から、クライアントを選択します。 次に、 をクリックします。
-
scap-security-guide
を検索し、ご使用のシステムに適したパッケージをインストールします。 パッケージ配布の要件については、次の表を参照してください。Table 1. SCAPセキュリティガイドパッケージの要件 パッケージ名 サポートされているシステム scap-security-guide
openSUSE, SLES12, SLES15
scap-security-guide-redhat
CentOS 7, CentOS 8, Fedora, Oracle Linux 7, Oracle Linux 8, RHEL7, RHEL8, RHEL9, Red Hat OpenStack Platform 10, Red Hat OpenStack Platform 13, Red Hat Virtualization 4, Scientific Linux
scap-security-guide-debian
Debian 9, Debian 10
scap-security-guide-ubuntu
Ubuntu 16.04. Ubuntu 18.04, Ubuntu 20.04
2. Ansibleインベントリファイルの作成
Ansible統合ツールは、playbookをインベントリファイルとして配備します。 _Table 1_に一覧表示されている個々のオペレーティングシステムごとに1つのインベントリファイルを作成します。
-
Ansibleが管理するインベントリファイルにホストを作成して追加します。 Ansibleインベントリのデフォルトパスは、
/etc/ansible/hosts
です。Listing 1. インベントリの例client240.mgr.example.org client241.mgr.example.org client242.mgr.example.org client243.mgr.example.org ansible_ssh_private_key_file=/etc/ansible/some_ssh_key [mygroup1] client241.mgr.example.org client242.mgr.example.org [mygroup2] client243.mgr.example.org [all:vars] ansible_ssh_private_key_file=/etc/ansible/my_ansible_private_key
-
SUSE Manager Web UIで、[
Ansible
]タブから に移動して、制御ノードにインベントリファイルを追加します。 -
[
playbookディレクトリ
]セクションで、[Add a Playbook Directories
](playbookディレクトリの追加)フィールドに/usr/share/scap-security-guide/ansible
を追加し、保存をクリックします。 -
[
インベントリファイル
]の下の[インベントリファイルの追加
]フィールドにインベントリファイルの場所を追加し、保存をクリックします。Listing 2. 例/etc/ansible/sles15 /etc/ansible/sles12 /etc/ansible/centos7
その他のplaybookの例については、https://github.com/ansible/ansible-examplesを参照してください。
3. Ansibleノードとの通信を確立する
-
インベントリで使用しているSSHキーを作成します。
ssh-keygen -f /etc/ansible/my_ansible_private_key
-
生成されたSSHキーをAnsible管理対象クライアントにコピーします。 例:
ssh-copy-id -i /etc/ansible/my_ansible_private_key root@client240.mgr.example.org
-
次のように
/etc/ansible/ansible.cfg
で秘密鍵を宣言します。private_key_file = /etc/ansible/my_ansible_private_key
my_ansible_private_key
を、秘密鍵を含むファイルの名前に置き換えます。 -
制御ノードから次のコマンドを実行して、Ansibleが動作していることをテストします。
ansible all -m ping ansible mygroup1 -m ping ansible client240.mgr.example.org -m ping
これで修正を実行できます。
詳細については、コードとしてのコンプライアンスを参照してください。