8.2. IdM クライアントツールの概要
IdM は、汎用的に適用される認証ソースおよび共通のポリシーを使用して認識済みのサービス、ホストマシン、ユーザーのドメインを作成します。クライアントマシンと IdM ユーザーの視点からすると、初期設定が済むとドメイン自体は非常に透過的になります。ユーザーはすべて Kerberos を使用してドメインにログインするだけです。
ただし、管理者は継続して、IdM の Kerberos ドメインにプリンシパルを追加するタスク、ドメインの対話と統制するドメインポリシーとサーバー設定を設定するタスクの 2 つのタスクを実行する必要があります。Identity Management には、管理者がドメイン、サービス、および IdM エントリーの管理に使用するコマンドラインおよび Web ベースのインターフェースの両方があります。
コマンドラインツールを使用するのがドメイン管理の最も一般的な方法です。Identity Management には、管理者が利用できる幅広いスクリプトとコマンドのセットがあります。ドメインのエントリー管理機能は、1 つのスクリプト (ipa) で実行されます 。このスクリプトは、関連付けられたサブコマンドの親または制御スクリプトです。各サブコマンドは、特定のエントリータイプに関連します。
コマンドラインスクリプトには、以下のような複数の利点があります。
- スクリプトを使用すると、手動による介入なしに一貫した方法で管理タスクを自動化して実行できます。
- エントリーには、1 回の手順で設定可能な属性 (または任意の属性のサブセット) を追加できます。Web UI では、エントリーを完全に設定するには、最初にエントリーを作成して次にオプション属性を追加するという 2 つの手順が必要になります。
- コマンドラインスクリプトでは、別の属性の追加 (UI では対応していない場合あり) や、スキーマが設定されている場合にはエントリーへのカスタム属性の追加にも対応します。
8.2.1. ipa コマンドの構造
基本的には、ipa コマンドは、大きいプラグインコンテナーです。ipa は多くのサブコマンドをサポートします。これらのサブコマンドは、実際には Identity Management で特定のオブジェクトタイプを管理するプラグインです。
最初のタイプのサブコマンドは、オブジェクトタイプ (user、sudo、group、host、dns など) を識別し、2 つ目はそのオブジェクトで実行される操作を特定します。
ipa objectType-operation objectName --option=value
たとえば、ユーザーの追加は、user-add サブコマンドを使用します。
ipa user-add entryName options
関連するサブコマンドは plug-in モジュール にグループ化されます。dnszone-add および dnsrecord-add のような DNS エントリーの管理コマンドはすべて、dns モジュールまたは topic に属します。特定のエリアを管理する全情報、サポート対象の全コマンド、それぞれの例は、対象のトピックのヘルプを表示すると確認できます。
ipa help topic
ヒント
利用可能なトピックをすべて表示するには以下を実行します。
ipa help topics
トピックやコマンドのエリアではすべて、エントリーの管理方法には一貫したパターンがあります。
8.2.1.1. ipa でのエントリーの追加、編集、および削除
新しいエントリーは *-add コマンドを使用して追加します。たとえば、以下のようになります。
$ ipa user-add jsmith
add の操作では、コマンドで通常、必要な設定属性を入力するようにプロンプトを表示し、コマンドラインオプションとして、または
--set/addattr
オプション (「--setattr、--addattr、および --delattr を使用したエントリー属性の管理」) を使用してその内容を渡します。
$ ipa user-add First name: John Last name: Smith User login [jsmith]: jsmith -------------------- Added user "jsmith" -------------------- ...
同様に、エントリーは通常 *-mod コマンドを使用して編集します。編集後には、新規または編集した属性がオプションとして一覧表示されます。
$ ipa user-mod jsmith --title="Editor III"
最後に、*-del コマンドおよびエントリー名を使用してエントリーを削除できます。
$ ipa user-del jsmith
8.2.1.2. ipa でのエントリーの検索および表示
*-find コマンドおよび任意の検索条件を使用して、全タイプのエントリーを検索できます。検索条件は、完全に一致する文字列または検索属性値のサブ文字列のいずれかで指定します。たとえば、smith の文字列に完全一致するもの (Smith の
sn
の値など) と、jsmith のユーザー名や Smithson といった長い名前などの値の一部に一致するものを検索します。
ipa user-find smith
検索はすべて自動的に文字列の部分検索を行うので、ワイルドカードを指定する必要はありません。
検索条件がないと、対象のタイプの全エントリーが表示されます。
検索 (*-find コマンド) 時には、返されるエントリー数 (サイズ制限) および検索時間 (時間制限) など、サーバー設定の一部に制限が課されます。詳細は、「IdM 検索制限の設定」を参照してください。サーバー設定では、検索時のサイズや時間制限に関するグローバル初期設定を指定するものもあります。これらの制限は常に Web UI で適用されますが、*-find コマンドに
--sizelimit
および --timelimit
オプションを指定して上書きできます。たとえば、デフォルトの時間制限が 60 秒で検索にかかる時間が長くなる場合に、時間制限を 120 秒に増やすことができます。
[jsmith@ipaserver ~]$ ipa user-find smith --timelimit=120
エントリータイプの属性すべてを検索できるわけではありません。特定の属性サブセットは検索用に事前定義され、インデックス化されています。(このリストはユーザーおよびグループに対して設定可能ですが、他のタイプのエントリーには対応していません)。
エントリーが返されると、そのエントリーとともに特定のデフォルト属性のみが表示されます。エントリーに現在設定されている属性をすべて返すには、
--all
オプションを使用します。
特定のエントリーを表示するには、*-show コマンドとエントリー名を使用します。検索と同様に、
--all
オプションが使用されない限り、エントリーとともに属性のサブセットのみが表示されます。
8.2.1.3. ipa でのグループおよびコンテナーへのメンバーの追加
グループメンバーは、単にエントリーを変更する以外に、別のコマンドを使用して追加、削除します。メンバーコマンドでは基本的に、さまざまな IdM エントリーの間で関係が作成されます。従来の group-member ロールではこれは明確ですが、エントリーが別のエントリーに関連付けられているポリシーエントリー (SELinux ポリシーや sudo ポリシーなど) にも該当します。
最も一般的に、メンバーエントリーの追加のコマンド形式は、*-add-member ですが、このコマンドで *-add-user など、エントリータイプを指定できます。
同様に、メンバーのエントリーは、 (エントリー自体を削除するのではなく) *-remove-member または *-remove-type コマンドを使用して削除します。