11.6. ユーザーおよびグループへの外部プロビジョニングシステムの使用
Identity Management は、環境の設定をサポートしているため、ID 管理用の外部ソリューションを使用して IdM でユーザーおよびグループ ID をプロビジョニングできます。本セクションでは、このような設定の例を説明します。この例には以下が含まれます。
11.6.1. 外部プロビジョニングシステムが使用するユーザーアカウントの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この手順では、外部プロビジョニングシステムが使用する 2 つの IdM ユーザーアカウントを設定する方法を説明します。適切なパスワードポリシーが指定されたグループにアカウントを追加すると、外部プロビジョニングシステムが IdM でユーザーのプロビジョニングを管理できるようになります。
- stage ユーザーを追加する権限を持つ
provisionator
という名前のユーザーを作成します。ユーザーアカウントは、新規ステージユーザーを追加するために外部プロビジョニングシステムによって使用されます。provisionator
ユーザーアカウントを追加します。ipa user-add provisionator --first=provisioning --last=account --password
$ ipa user-add provisionator --first=provisioning --last=account --password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow provisionator
ユーザーに必要な権限を割り当てます。stage ユーザーの追加を管理するSystem Provisioning
というカスタムロールを作成します。ipa role-add --desc "Responsible for provisioning stage users" "System Provisioning"
$ ipa role-add --desc "Responsible for provisioning stage users" "System Provisioning"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Stage User Provisioning
の権限をロールに追加します。この特権により、ステージユーザーを追加できます。ipa role-add-privilege "System Provisioning" --privileges="Stage User Provisioning"
$ ipa role-add-privilege "System Provisioning" --privileges="Stage User Provisioning"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow provisionator
ユーザーをロールに追加します。ipa role-add-member --users=provisionator "System Provisioning"
$ ipa role-add-member --users=provisionator "System Provisioning"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- ユーザーアカウントを管理する権限を持つ
activator
ユーザーを作成します。ユーザーアカウントは、外部プロビジョニングシステムによって追加されるステージユーザーを自動的にアクティベートするために使用されます。activator
ユーザーアカウントを追加します。ipa user-add activator --first=activation --last=account --password
$ ipa user-add activator --first=activation --last=account --password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow activator
ユーザーに必要な特権を付与します。ユーザーをデフォルトのUser Administrator
ロールに追加します。ipa role-add-member --users=activator "User Administrator"
$ ipa role-add-member --users=activator "User Administrator"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- サービスおよびアプリケーションアカウントのユーザーグループを作成します。
ipa group-add service-accounts
$ ipa group-add service-accounts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - グループのパスワードポリシーを更新します。以下のポリシーは、アカウントのパスワードの有効期限やロックアウトを防ぎますが、複雑なパスワードを必要とすることでリスクの可能性を低減します。
ipa pwpolicy-add service-accounts --maxlife=10000 --minlife=0 --history=0 --minclasses=4 --minlength=20 --priority=1 --maxfail=0 --failinterval=1 --lockouttime=0
$ ipa pwpolicy-add service-accounts --maxlife=10000 --minlife=0 --history=0 --minclasses=4 --minlength=20 --priority=1 --maxfail=0 --failinterval=1 --lockouttime=0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - サービスおよびアプリケーションアカウントのグループにプロビジョニングアカウントおよびアクティベーションアカウントを追加します。
ipa group-add-member service-accounts --users={provisionator,activator}
$ ipa group-add-member service-accounts --users={provisionator,activator}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ユーザーアカウントのパスワードを変更します。
kpasswd provisionator kpasswd activator
$ kpasswd provisionator $ kpasswd activator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい IdM ユーザーのパスワードはすぐに失効するため、パスワードの変更が必要になります。
関連情報:
- 新規ユーザーの追加の詳細は、「stage または Active ユーザーの追加」 を参照してください。
- 他のユーザーアカウントの管理に必要な特権をユーザーに付与する方法は、「管理者以外のユーザーによるユーザーエントリー管理の許可」 を参照してください。
- IdM パスワードポリシーの管理の詳細は、28章パスワードポリシーの定義 を参照してください。
11.6.2. ステージユーザーアカウントを自動的にアクティベートするための IdM の設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この手順では、ステージユーザーをアクティベートするスクリプトを作成する方法を説明します。システムは、指定した間隔でスクリプトを自動的に実行します。これにより、新規ユーザーアカウントが自動的にアクティベートされ、作成直後に使用できます。
重要
この手順では、スクリプトが IdM に追加する前に、新しいユーザーアカウントを検証する必要がないことを前提としています。たとえば、ユーザーが外部プロビジョニングシステムの所有者によってすでに検証されている場合は、検証は必要ありません。
IdM サーバーの 1 つでのみアクティベーションプロセスを有効にするだけで十分です。
- アカウントのアクティベーション用に keytab ファイルを生成します。
ipa-getkeytab -s example.com -p "activator" -k /etc/krb5.ipa-activation.keytab
# ipa-getkeytab -s example.com -p "activator" -k /etc/krb5.ipa-activation.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 複数の IdM サーバーでアクティベーションプロセスを有効にする場合は、1 つのサーバーだけで keytab ファイルを生成します。次に、keytab ファイルを他のサーバーにコピーします。 - 以下の内容を含む
/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}; done
#!/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}; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa-activate-all
スクリプトのパーミッションおよび所有権を編集して、実行可能なファイルに変更します。chmod 755 /usr/local/sbin/ipa-activate-all chown root:root /usr/local/sbin/ipa-activate-all
# chmod 755 /usr/local/sbin/ipa-activate-all # chown root:root /usr/local/sbin/ipa-activate-all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemd
ユニットファイル/etc/systemd/system/ipa-activate-all.service
を作成して、以下の内容を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemd
タイマー/etc/systemd/system/ipa-activate-all.timer
を作成して、以下の内容を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa-activate-all.timer
を有効にします。systemctl enable ipa-activate-all.timer
# systemctl enable ipa-activate-all.timer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報:
11.6.3. IdM アイデンティティーを管理するための外部プロビジョニングシステムの LDAP プロバイダーの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、さまざまなユーザーおよびグループ管理操作のテンプレートを説明します。テンプレートを使用して、プロビジョニングシステムの LDAP プロバイダーを設定して、IdM ユーザーアカウントを管理できます。たとえば、従業員が退職した後にユーザーアカウントを非アクティブにするようにシステムを設定できます。
LDAP を使用したユーザーアカウントの管理
基盤の Directory Server データベースを編集して、新しいユーザーエントリーの追加、既存のエントリーの変更、ライフサイクルの異なる状態間でのユーザーの移動、またはユーザーの削除を行うことができます。データベースを編集するには、
ldapmodify
ユーティリティーを使用します。
以下の LDIF 形式のテンプレートは、
ldapmodify
を使用して変更する属性に関する情報を提供します。詳細な手順例は、例11.2「ldapmodify
を使用したステージユーザーの追加」 および 例11.3「ldapmodify
でのユーザーの保存」 を参照してください。
- 新規ステージユーザーの追加
- UID と GID が自動的に割り当てられるユーザーの追加
Copy to Clipboard Copied! Toggle word wrap Toggle overflow UID と GID が静的に割り当てられるユーザーの追加Copy to Clipboard Copied! Toggle word wrap Toggle overflow ステージユーザーの追加時に IdM オブジェクトクラスを指定する必要はありません。IdM は、ユーザーのアクティベート後にこれらのクラスを自動的に追加します。作成したエントリーの識別名 (DN) はuid=user_login
で開始する必要があります。 - 既存ユーザーの変更
- ユーザーを変更する前に、ユーザーのログインを検索してユーザーの識別名 (DN) を取得します。以下の例では、user_allowed_to_readユーザーは、ユーザーやグループ情報の読み取りが許可されるユーザーで、password はこのユーザーのパスワードになります。
ldapsearch -LLL -x -D "uid=user_allowed_to_read,cn=users,cn=accounts,dc=example, dc=com" -w "password" -H ldap://server.example.com -b "cn=users, cn=accounts, dc=example, dc=com" uid=user_login
# ldapsearch -LLL -x -D "uid=user_allowed_to_read,cn=users,cn=accounts,dc=example, dc=com" -w "password" -H ldap://server.example.com -b "cn=users, cn=accounts, dc=example, dc=com" uid=user_login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーの属性を変更するには、以下を実行します。dn: distinguished_name changetype: modify replace: attribute_to_modify attribute_to_modify: new_value
dn: distinguished_name changetype: modify replace: attribute_to_modify attribute_to_modify: new_value
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーを無効にするには、以下を実行します。dn: distinguished_name changetype: modify replace: nsAccountLock nsAccountLock: TRUE
dn: distinguished_name changetype: modify replace: nsAccountLock nsAccountLock: TRUE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーを有効にするには、以下を実行します。dn: distinguished_name changetype: modify replace: nsAccountLock nsAccountLock: FALSE
dn: distinguished_name changetype: modify replace: nsAccountLock nsAccountLock: FALSE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーを保存するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow nssAccountLock
属性の更新は、ステージユーザーおよび保存済みユーザーには影響を与えません。更新操作が正常に完了しても、属性値はnssAccountLock: TRUE
のままになります。 - 新規グループの作成
- 新規グループを作成するには、以下を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - グループの変更
- グループを変更する前に、グループ名を使用して検索してグループの識別名 (DN) を取得します。
ldapsearch -YGSSAPI -H ldap://server.example.com -b "cn=groups,cn=accounts,dc=example,dc=com" "cn=group_name"
# ldapsearch -YGSSAPI -H ldap://server.example.com -b "cn=groups,cn=accounts,dc=example,dc=com" "cn=group_name"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 既存グループを削除するには、以下を実行します。dn: group_distinguished_name changetype: delete
dn: group_distinguished_name changetype: delete
Copy to Clipboard Copied! Toggle word wrap Toggle overflow グループにメンバーを追加するには、以下を実行します。dn: group_distinguished_name changetype: modify add: member member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
dn: group_distinguished_name changetype: modify add: member member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow グループからメンバーを削除するには、以下を実行します。dn: distinguished_name changetype: modify delete: member member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
dn: distinguished_name changetype: modify delete: member member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ステージまたは保存済みユーザーをグループに追加しないでください。更新操作が正常に完了しても、ユーザーはグループのメンバーとしては更新されません。アクティブなユーザーのみがグループに所属できます。
例11.2 ldapmodify
を使用したステージユーザーの追加
標準の
interorgperson
オブジェクトクラスを使用して新規 stageuser
ユーザーを追加するには、以下を実行します。
ldapmodify
を使用してユーザーを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - stage エントリーの内容を検証して、プロビジョニングシステムが必要なすべての POSIX 属性を追加し、stage エントリーをアクティブ化する準備ができていることを確認することを検討してください。新規 stage ユーザーの LDAP 属性を表示するには、ipa stageuser-show --all --raw コマンドを実行します。ユーザーは、
nsaccountlock
属性により明示的に無効になっていることに注意してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
例11.3 ldapmodify
でのユーザーの保存
LDAP の
modrdn
操作を使用して ユーザー
を保存するには、以下を実行します。
ldapmodify
ユーティリティーを使用してユーザーエントリーを変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必要に応じて、保存済みユーザーをリスト表示して、ユーザーが保持されていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow