これは本当に備忘録です
はい、小ネタというか、完全なる備忘録であります。なのでなんの脈絡もなく他だひたすら並べています。予めご了承を。
Windowsモジュール
Windowsモジュールは結構多彩です。自分も全体は把握できてませんので、ここのリファレンス情報とにらめっこしながらPlaybookを書いてみてるところです。
レジストリを用いた環境設定例
管理用RDPを有効にする手段を探したところ、ここの情報が凄く参考になりました。元々グループポリシーなんかもレジストリ設定の塊みたいなもんですからね。そうしたところをキチンと覚えていくというのは、設定自動化において必須事項と言えるのかもしれません。
レジストリを変更したときのAnsible側の詳細ログ
ちゃんとWindows環境に併せて「¥」を「¥¥」に変更してくれるようだ。ありがたい。
changed: [192.168.120.11] => (item={'key': 'HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Remote Assistance', 'value': 'fAllowToGetHelp', 'data': 0}) => {
"ansible_loop_var": "item",
"changed": true,
"data_changed": false,
"data_type_changed": false,
"invocation": {
"module_args": {
"data": "0",
"datatype": "dword",
"delete_key": true,
"hive": null,
"key": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Remote Assistance",
"name": "fAllowToGetHelp",
"path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Remote Assistance",
"state": "present",
"type": "dword",
"value": "fAllowToGetHelp"
}
},
"item": {
"data": 0,
"key": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Remote Assistance",
"value": "fAllowToGetHelp"
}
}
ドメイン参加も出来るようだ
- name: Promote to member
win_domain_membership:
dns_domain_name: example.local
domain_admin_user: adminsitrator@example.local
domain_admin_password: ********
state: domain
register: domain_state
- name: Reboot after joining
win_reboot:
msg: "Joining domain. Rebooting..."
when: domain_state.reboot_required
Kerberos認証を使おう
Windowsに対してドメインアカウントが絡むような操作をする場合、Ansibleサーバ側でKerberos認証に対応させる必要がある模様。Linuxサーバ側としてはクライアント機能の実装が必要そうです。
以下コンポーネントを導入します。
yum -y install krb5-devel krb5-libs krb5-workstation
/etc/krb5.conf を編集します。自身の環境に合わせて以下のように設定します。
# To opt out of the system crypto-policies configuration of krb5, remove the
# symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
includedir /etc/krb5.conf.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_realm = BLUECORE.NET
#default_ccache_name = KEYRING:persistent:%{uid}
[realms]
BLUECORE.NET = {
kdc = sagara.bluecore.net
admin_server = sagara.bluecore.net
default_domain = sagara.bluecore.net
}
[domain_realm]
.bluecore.net = BLUECORE.NET
bluecore.net = BLUECORE.NET
kinitコマンドでKerberosチケットをドメインコントローラに要求します。
パスワードを聞かれますので、ドメインパスワードを入力します。特にエラーメッセージなくプロンプト応答があればKerberosチケットが入手できています。
klistコマンドを実行することにより、現在所有しているKerberosチケットに関する情報を参照することが出来ます。
# kinit administrator@BLUECORE.NET
Password for administrator@BLUECORE.NET:
# klist
Ticket cache: KCM:0
Default principal: administrator@BLUECORE.NET
Valid starting Expires Service principal
2020-11-15T20:59:13 2020-11-16T06:59:13 krbtgt/BLUECORE.NET@BLUECORE.NET
renew until 2020-11-22T20:59:10
多分Ansibleって何が一番嬉しいかというと、その冪等性であり、くり返し実行しても環境に変化が及びにくいことじゃないかなぁと思いました。逆に例外を設定すると引き戻されてしまうんですけどね(´∀`*)ウフフ
Comments are closed