41.2. IdM ステージユーザーアカウントの自動アクティブ化の設定
ステージユーザーをアクティブ化するスクリプトを作成できます。システムは、指定した間隔でスクリプトを自動的に実行します。これにより、新しいユーザーアカウントが作成後すぐに自動的にアクティブ化され、使用できるようになります。
ここでは、外部プロビジョニングシステムの所有者がすでにユーザーを検証しており、スクリプトによってユーザーを IdM に追加する前に、IdM 側で追加の検証を行う必要がないことを前提としています。
アクティブ化のプロセスは、いずれかの IdM サーバーで有効にするだけで十分です。
前提条件
- provisionator アカウントおよび activator アカウントが IdM に存在している。詳細は ステージユーザーアカウントの自動アクティブ化用 IdM アカウントの準備 を参照してください。
- この手順を実行する IdM サーバーで root 権限がある。
- IdM 管理者としてログインしている。
- 外部プロビジョニングシステムを信頼している。
手順
アクティブ化用アカウントのキータブファイルを生成します。
# ipa-getkeytab -s server.idm.example.com -p "activator" -k /etc/krb5.ipa-activation.keytab複数の IdM サーバーでアクティブ化プロセスを有効にする場合は、1 つのサーバーでのみキータブファイルを生成します。その後、そのキータブファイルを他のサーバーにコピーします。
すべてのユーザーをアクティブ化するために、次の内容のスクリプト
/usr/local/sbin/ipa-activate-allを作成します。#!/bin/bash kinit -k -i activator ipa stageuser-find --all --raw | grep " uid:" | cut -d ":" -f 2 | while read uid; do ipa stageuser-activate ${uid}; doneipa-activate-allスクリプトのパーミッションおよび所有権を編集して、実行可能なファイルに変更します。# chmod 755 /usr/local/sbin/ipa-activate-all # chown root:root /usr/local/sbin/ipa-activate-allsystemd ユニットファイル
/etc/systemd/system/ipa-activate-all.serviceを作成して、以下の内容を追加します。[Unit] Description=Scan IdM every minute for any stage users that must be activated [Service] Environment=KRB5_CLIENT_KTNAME=/etc/krb5.ipa-activation.keytab Environment=KRB5CCNAME=FILE:/tmp/krb5cc_ipa-activate-all ExecStart=/usr/local/sbin/ipa-activate-allsystemd タイマー
/etc/systemd/system/ipa-activate-all.timerを作成して、以下の内容を追加します。[Unit] Description=Scan IdM every minute for any stage users that must be activated [Timer] OnBootSec=15min OnUnitActiveSec=1min [Install] WantedBy=multi-user.target新しい設定を再読み込みします。
# systemctl daemon-reloadipa-activate-all.timerを有効にします。# systemctl enable ipa-activate-all.timeripa-activate-all.timerを起動します。# systemctl start ipa-activate-all.timerオプション:
ipa-activate-all.timerデーモンが実行されていることを確認します。# systemctl status ipa-activate-all.timer ● ipa-activate-all.timer - Scan IdM every minute for any stage users that must be activated Loaded: loaded (/etc/systemd/system/ipa-activate-all.timer; enabled; vendor preset: disabled) Active: active (waiting) since Wed 2020-06-10 16:34:55 CEST; 15s ago Trigger: Wed 2020-06-10 16:35:55 CEST; 44s left Jun 10 16:34:55 server.idm.example.com systemd[1]: Started Scan IdM every minute for any stage users that must be activated.