この章では、主体とそれに関連するポリシーを管理する手順について説明します。また、ホストのキータブファイルの管理方法についても説明します。
この章は、主体とポリシーを管理する必要のあるユーザーを対象にしています。主体とポリシーを計画するときの考慮事項など、主体とポリシーについて理解している必要があります。第 7 章「SEAM について」および 第 8 章「SEAM の計画」を参照してください。
この章で説明する情報は次のとおりです。
マスター KDC の Kerberos データベースには、使用するレルムの Kerberos 主体、そのパスワード、ポリシーなどの管理情報がすべて含まれています。主体を作成または削除したり、主体の属性を変更したりするには、kadmin または gkadmin コマンドを使用します。
kadmin コマンドには、対話型のコマンド行インタフェースが用意されています。このインタフェースを使用して、Kerberos 主体、ポリシー、およびキータブファイルを管理することができます。kadmin コマンドには、次の 2 つの種類があります。
kadmin - Kerberos 認証を使用して、ネットワーク上の任意の場所から安全に操作できる
kadmin.local - マスター KDC 上で直接実行する必要がある
SEAM には、SEAM 管理ツール (gkadmin) も用意されています。このツールは対話型のグラフィカルユーザーインタフェース (GUI) で、基本的に kadmin コマンドと同じ機能を持ちます。詳細は、SEAM 管理ツール を参照してください。
SEAM 管理ツールは、対話型グラフィカルユーザーインタフェース (GUI) で、Kerberos 主体とポリシーを管理することができます。このツールは、kadmin コマンドと同じ機能を持ちます。ただし、キータブファイルの管理はサポートしません。キータブファイルを管理するには、kadmin コマンドを使用する必要があります (キータブファイルの管理 を参照)。
kadmin コマンドと同様に、SEAM ツールは、Kerberos 認証と暗号化された RPC を使用して、ネットワーク上の任意の場所から安全に操作することができます。SEAM ツールでは、次の操作を行うことができます。
デフォルト値または既存の主体をベースに新しい主体を作成する
既存のポリシーをベースに新しいポリシーを作成する
主体のコメントを追加する
新しい主体を作成するときのデフォルト値を設定する
ツールを終了しないで別の主体としてログインする
主体一覧とポリシー一覧を印刷または保存する
主体一覧とポリシー一覧を表示および検索する
SEAM ツールでは、コンテキストヘルプと一般的なオンラインヘルプも利用できます。
SEAM ツールを使用して実行できる操作について、次の作業マップで説明します。
また、SEAM ツールで指定または表示できる主体属性とポリシー属性については、SEAM ツールパネルの説明 を参照してください。
この節では、SEAM ツールと同じ機能を提供する kadmin コマンドを示します。これらのコマンドは、X Window System で実行しなくても使用できます。この章のほとんどの手順では、SEAM ツールを使用します。ただし、多くの手順では、対応するコマンド行の使用例も挙げています。
表 11–1 SEAM ツールに対応するコマンド行
SEAM ツールの手順 |
対応する kadmin コマンド |
---|---|
主体の一覧の表示 |
list_principals または get_principals |
主体の属性の表示 |
get_principal |
新しい主体の作成 |
add_principal |
主体の複製 |
対応するコマンド行なし |
主体の変更 |
modify_principal または change_password |
主体の削除 |
delete_principal |
新しい主体を作成するときのデフォルトの設定 |
対応するコマンド行なし |
ポリシーの一覧の表示 |
list_policies または get_policies |
ポリシーの属性の表示 |
get_policy |
新しいポリシーの作成 |
add_policy |
ポリシーの複製 |
対応するコマンド行なし |
ポリシーの変更 |
modify_policy |
ポリシーの削除 |
delete_policy |
SEAM ツールが変更するファイルは、$HOME/.gkadmin ファイルだけです。このファイルには、新しい主体を作成するときのデフォルト値が含まれます。このファイルを更新するには、「Edit」メニューから「Properties」を選択します。
SEAM ツールには、印刷機能とオンラインヘルプ機能が用意されています。「Print」メニューから、次の要素をプリンタまたはファイルに送信できます。
指定したマスター KDC で使用できる主体の一覧
指定したマスター KDC で使用できるポリシーの一覧
現在選択されている主体または読み込まれている主体
現在選択されているポリシーまたは読み込まれているポリシー
「Help」メニューから、コンテキストヘルプと通常のヘルプを使用できます。「Help」メニューから「Context-Sensitive Help」を選択すると、「Context-Sensitive Help」ウィンドウが表示され、ツールがヘルプモードに切り替わります。ヘルプモードのウィンドウで、任意のフィールド、ラベル、またはボタンをクリックすると、「Help」ウィンドウにその項目のヘルプが表示されます。ツールの通常モードに戻るには、「Help」ウィンドウで「Dismiss」をクリックします。
「Help Contents」を選択すると、HTML ブラウザが開き、この章で説明している概要や操作情報が表示されます。
登録した主体とポリシーが増加するにつれて、SEAM ツールが主体とポリシーを読み込んでそれらの一覧を表示する時間が長くなります。このため、ツールによる作業効率が低下します。この問題には、いくつかの対応方法があります。
まず、一覧を読み込む時間を完全になくすために、SEAM ツールに一覧を読み込まないようにします。この方法を設定するには、「Edit」メニューから「Properties」を選択し、「Show Lists」フィールドのチェックマークをはずします。一覧を読み込まない場合、一覧は表示されないため、一覧を使用して主体またはポリシーを選択できなくなります。代わりに、表示された新しい「Name」フィールドに主体またはポリシー名を入力し、その主体またはポリシーに適用する操作を選択する必要があります。名前を入力する操作は、一覧から項目を選択する操作と同じ効果を持ちます。
大規模な一覧を使用するときは、キャッシュを利用することもできます。SEAM ツールのデフォルトの動作として、一定量の一覧がキャッシュに格納されるように設定されています。SEAM ツールは、最初に一覧をキャッシュに読み込む必要がありますが、そのあとは一覧を再度読み込まずにキャッシュを使用できます。この方法では、サーバーから時間をかけて何回も一覧を読み込む必要がありません。
一覧がキャッシュに格納されるように設定するには、「Edit」メニューから「Properties」を選択します。キャッシュの設定には、次の 2 つの方法があります。一覧をキャッシュに永続的に格納するか、制限時間を指定します。制限時間を指定した場合は、その時間が経過すると、ツールはサーバーの一覧をキャッシュに再度読み込みます。
一覧をキャッシュに格納しても、一覧から主体とポリシーを選択することができます。このため、一覧を読み込まない最初の方法と異なり、SEAM ツールの利用には影響しません。また、キャッシュを利用した場合でも、ほかの主体とポリシーの変更を確認できなくなることがあります。ただし、使用している主体とポリシーを変更したときは最新の一覧が表示されます。主体とポリシーを変更すると、サーバーとキャッシュの一覧が更新されるためです。キャッシュを更新して、ほかの主体とポリシーの変更を確認し、最新の一覧を取得するには、任意のタイミングで「Refresh」メニューを使用します。サーバーから一覧が読み込まれ、キャッシュを更新することができます。
gkadmin コマンドを使用して SEAM ツールを起動します。
$ /usr/sbin/gkadmin |
デフォルト値を使用しない場合は、新しいデフォルト値を指定します。
ウィンドウには、デフォルト値が自動的に表示されます。デフォルトの主体名は、USER 環境変数の現在の ID に /admin が付加されて作成されます (username/admin)。デフォルトの「Realm」フィールドおよび「Master KDC」フィールドは、/etc/krb5/krb5.conf ファイルから選択されます。デフォルト値を再度取得する場合は、「Start Over」をクリックします。
各「Principal Name」が実行できる管理操作は、Kerberos ACL ファイルの /etc/krb5/kadm5.acl で規定されます。権限の制限については、Kerberos 管理権限を制限して SEAM ツールを使用する を参照してください
指定した主体名のパスワードを入力します。
「OK」 をクリックします。
次のウィンドウが表示されます。
この節では、SEAM ツールを使用して主体を管理する手順について説明します。また、対応するコマンド行がある場合は、その例も示します。
作業 |
説明 |
参照先 |
---|---|---|
主体の一覧の表示 |
「Principals」タブをクリックして、主体の一覧を表示する | |
主体の属性の表示 |
「Principal List」の「Principal」を選択し、「Modify」ボタンをクリックして、主体の属性を表示する | |
新しい主体の作成 |
「Principal List」パネルの「Create New」ボタンをクリックして、新しい主体を作成する | |
主体の複製 |
「Principal List」から複製する主体を選択し、「Duplicate」ボタンをクリックして、主体を複製する | |
主体の変更 |
「Principal List」から変更する主体を選択し、「Modify」ボタンをクリックして、主体を変更する 主体名は変更できない。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要がある。 | |
主体の削除 |
「Principal List」から削除する主体を選択し、「Delete」ボタンをクリックして、主体を削除する | |
新しい主体を作成するときのデフォルトの設定 |
「Edit」メニューから「Properties」を選択して、新しい主体を作成するときのデフォルトを設定する | |
Kerberos 管理権限の変更 (kadm5.acl ファイル) |
コマンド行のみ。 Kerberos 管理権限により、主体が Kerberos データベースに対して実行できる操作 (追加、変更など) が決定される。各主体の Kerberos 管理権限を変更するときは、/etc/krb5/kadm5.acl ファイルを編集する必要がある |
SEAM ツールは簡単に使用できますが、新しい主体を自動作成することができません。10 個または 100 個などの新しい主体を短時間で作成する場合は、自動作成を利用すると便利です。Bourne シェルスクリプトで kadmin.local コマンドを使用すると、主体を自動作成できます。
次のシェルスクリプト行は、新しい主体を自動作成する方法の例を示します。
sed -e 's/^\(.*\)$/ank +needchange -pw \1 \1/' < princnames | time /usr/sbin/kadmin.local> /dev/null
この例は、見やすいように 2 行に分割しています。このスクリプトは、princnames というファイルを読み込んで、そこに含まれている主体名とそのパスワードを Kerberos データベースに追加します。princnames ファイルをあらかじめ作成する必要があります。このファイルの各行には、主体とそのパスワードを 1 つ以上の空白で区切って指定します。主体に +needchange オプションを指定すると、ユーザーがその主体を使用して初めてログインしたときに、新しいパスワードを要求するプロンプトが表示されます。この方法を使用すると、princnames ファイル内のパスワードのセキュリティが向上します。
より複雑なスクリプトも作成できます。たとえば、ネームサービスの情報を使用して、主体名に対応するユーザー名の一覧を取得できます。必要な作業とその方法は、使用環境要件とスクリプト使用技術によって決まります。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Principals」タブをクリックします。
主体の一覧が表示されます。
特定の主体を表示するか、主体の部分リストを表示します。
「Filter」フィールドにフィルタ文字列を入力して、Return キーを押します。フィルタが正常終了すると、フィルタに一致する主体の一覧が表示されます。
フィルタ文字列は、1 文字以上の文字列である必要があります。フィルタメカニズムでは大文字と小文字が区別されるため、大文字と小文字を正しく指定する必要があります。たとえば、フィルタ文字列に ge と入力すると、主体名に文字列 ge を含む主体 (george、edge など) だけが表示されます。
すべての主体を表示するには、「Clear Filter」をクリックします。
次の例では、kadmin の list_principals コマンドを使用して、 test* と一致するすべての主体を表示します。list_principals コマンドでは、ワイルドカードを使用できます。
kadmin: list_principals test* test1@EXAMPLE.COM test2@EXAMPLE.COM kadmin: quit |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Principals」タブをクリックします。
表示する主体を一覧から選択して、「Modify」をクリックします。
「Principal Basic」パネルが表示され、主体の属性の一部が示されます。
「Next」をクリックして、主体のすべての属性を表示します。
属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、SEAM ツールパネルの説明 を参照してください。
表示を終了する場合は、「Cancel」をクリックします。
次の例は、jdb/admin 主体を表示したときの最初のウィンドウです。
次の例では、kadmin の get_principal コマンドを使用して、jdb/admin 主体の属性を表示します。
kadmin: getprinc jdb/admin Principal: jdb/admin@EXAMPLE.COM Expiration date: Fri Aug 25 17:19:05 PDT 2000 Last password change: [never] Password expiration date: Wed Apr 14 11:53:10 PDT 1999 Maximum ticket life: 1 day 16:00:00 Maximum renewable life: 1 day 16:00:00 Last modified: Thu Jan 14 11:54:09 PST 1999 (admin/admin@EXAMPLE.COM) Last successful authentication: [never] Last failed authentication: [never] Failed password attempts: 0 Number of keys: 1 Key: vno 1, DES cbc mode with CRC-32, no salt Attributes: REQUIRES_HW_AUTH Policy: [none] kadmin: quit |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
新しい主体を作成するときに、新しいポリシーが必要な場合は、新しいポリシーを作成してから新しい主体を作成する必要があります。 新しいポリシーを作成する方法 を参照してください。
「Principals」タブをクリックします。
「New」をクリックします。
「Principal Basics」パネルが表示され、主体の属性の一部が示されます。
主体名とパスワードを指定します。
主体名とパスワードは必須です。
主体の属性に値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。
属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、SEAM ツールパネルの説明 を参照してください。
主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。
必要に応じて、新しい主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。
詳細は、Kerberos 管理権限を変更する方法 を参照してください。
次の例は、pak という新しい主体を作成するときの「Principal Basics」パネルです。ポリシーには、testuser が設定されています。
次の例では、kadmin の add_principal コマンドを使用して、 pak という新しい主体を作成しますこの主体のポリシーには、testuser が設定されています
kadmin: add_principal -policy testuser pak Enter password for principal "pak@EXAMPLE.COM": <パスワードを入力する> Re-enter password for principal "pak@EXAMPLE.COM": <パスワードを再入力する> Principal "pak@EXAMPLE.COM" created. kadmin: quit |
この手順では、既存の主体の一部またはすべてを使用して、新しい主体を作成する方法について説明します。この手順に対応するコマンド行はありません。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Principals」タブをクリックします。
複製する主体を一覧から選択して、「Duplicate」をクリックします。
「Principal Basics」パネルが表示されます。選択した主体のすべての属性が複製されます。ただし、「Principal Name」と「Password」フィールドは複製されず、空で表示されます。
主体名とパスワードを指定します。
主体名とパスワードは必須です。選択した主体をそのまま複製するときは、「Save」をクリックして、手順 7 に進みます
主体の属性に別の値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。
属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、SEAM ツールパネルの説明 を参照してください。
主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。
必要に応じて、主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。
詳細は、Kerberos 管理権限を変更する方法 を参照してください。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Principals」タブをクリックします。
変更する主体を一覧から選択して、「Modify」をクリックします。
「Principal Basic」パネルが表示され、主体の属性の一部が示されます。
主体の属性を変更します。「Next」をクリックして、必要に応じて属性を変更します。
属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、SEAM ツールパネルの説明 を参照してください。
主体名は変更できません。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要があります。
主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。
/etc/krb5/kadm5.acl ファイルで、主体の Kerberos 管理権限を変更します。
詳細は、Kerberos 管理権限を変更する方法 を参照してください。
次の例では、kadmin の change_password コマンドを使用して、jdb 主体のパスワードを変更します。change_password コマンドでは、主体のパスワード履歴に存在するパスワードには変更できません。
kadmin: change_password jdb Enter password for principal "jdb": <新しいパスワードを入力する> Re-enter password for principal "jdb": <パスワードを再度入力する> Password for "jdb@EXAMPLE.COM" changed. kadmin: quit |
主体のその他の属性を変更するには、kadmin の modify_principal コマンドを使用する必要があります。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Principals」タブをクリックします。
削除する主体を一覧から選択して、「Delete」をクリックします。
削除を確定すると、主体が削除されます。
Kerberos アクセス制御リスト (ACL) ファイル /etc/krb5/kadm5.acl から主体を削除します。
詳細は、Kerberos 管理権限を変更する方法 を参照してください。
次の例では、kadminの delete_principal コマンドを使用して、jdb 主体を削除します。
kadmin: delete_principal pak Are you sure you want to delete the principal "pak@EXAMPLE.COM"? (yes/no): yes Principal "pak@EXAMPLE.COM" deleted. Make sure that you have removed this principal from all ACLs before reusing. kadmin: quit |
この手順に対応するコマンド行はありません。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Edit」メニューから「Properties」を選択します。
「Properties」ウィンドウが表示されます。
新しい主体を作成するときのデフォルトを選択します。
「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。
「Save」をクリックします。
使用する環境には、多くのユーザー主体が登録されていると思われます。しかし、Kerberos データベースの管理者は通常、少数のユーザーだけに割り当てます。Kerberos データベースを管理する権限は、Kerberos アクセス制御リスト (ACL) ファイル (kadm5.acl) によって判断されますkadm5.acl ファイルを使用すると、主体ごとに権限を設定できます。主体名にワイルドカード (*) を使用すると、複数の主体に権限を指定できます。
マスター KDC 上でスーパーユーザーになります。
/etc/krb5/kadm5.acl ファイルを編集します。
kadm5.acl ファイルのエントリは、次の書式で記述してください。
principal privileges [principal-target] |
principal |
権限を与える主体を指定する。主体名の任意の場所にワイルドカード (*) を使用できる。複数の主体グループに同じ権限を与えるときに使用する。たとえば、admin インスタンスを持つすべての主体を指定する場合は、 */admin@realm を使用する admin インスタンスは通常、個別の権限 (Kerberos データベースへの管理アクセス権など) を個別の Kerberos 主体に許可するときに使用する。たとえば、ユーザー jdb が、jdb/admin という管理目的の主体を持つとする。この場合、ユーザー jdb は、この権限を実際に使用するときにだけ、jdb/admin チケットを取得する |
|
privileges |
主体が実行できる操作または実行できない操作を指定する。このフィールドは、次に示す 1 つまたは複数の文字列 (またはその大文字) の組み合わせから構成される。大文字の指定、または指定なしは許可されない。小文字の指定は許可される |
|
|
a |
主体またはポリシーの追加を許可する/しない |
|
d |
主体またはポリシーの削除を許可する/しない |
|
m |
主体またはポリシーの変更を許可する/しない |
|
c |
主体のパスワードの変更を許可する/しない |
|
i |
Kerberos データベースの照会を許可する/しない |
|
l |
Kerberos データベース内の主体またはポリシーの一覧表示を許可する/しない |
|
x または * |
すべての権限 (admcil) を許可する |
principal-target |
このフィールドに主体を指定すると、principal の操作が principal_target の場合にだけ、privileges が principal に適用される。主体名の任意の場所にワイルドカード (*) を使用できる。主体をグループ化するときに使用する |
kadm5.acl ファイル内の次のエントリは、EXAMPLE.COM レルム内で admin インスタンスを持つ すべての主体に対して、Kerberos データベース上のすべての権限を与えます。
*/admin@EXAMPLE.COM * |
kadm5.acl ファイル内の次のエントリは、jdb@EXAMPLE.COM 主体に対して、root インスタンスを持つすべての主体に関する追加、一覧表示、および照会の権限を与えます。
jdb@EXAMPLE.COM ali */root@EXAMPLE.COM |
この節では、SEAM ツールを使用してポリシーを管理する手順について説明します。対応するコマンド行がある場合は、その例も示します。
作業 |
説明 |
参照先 |
---|---|---|
ポリシーの一覧の表示 |
「Policies」タブをクリックして、ポリシーの一覧を表示する | |
ポリシーの属性の表示 |
「Policy List」からポリシーを選択し、「Modify」ボタンをクリックして、ポリシーの属性を表示する | |
新しいポリシーの作成 |
「Policy List」パネルの「Create New」ボタンをクリックして、新しいポリシーを作成する | |
ポリシーの複製 |
複製するポリシーを「Policy List」ポリシーから選択し、「Duplicate」ボタンをクリックして、ポリシーを複製する | |
ポリシーの変更 |
変更するポリシーを「Policy List」ポリシーから選択し、「Modify」ボタンをクリックして、ポリシーを変更する ポリシー名は変更できない。ポリシー名を変更するときは、ポリシーを複製し、新しい名前を指定して保存してから、古いポリシーを削除する必要がある | |
ポリシーの削除 |
削除するポリシーを「Policy List」ポリシーから選択し、「Delete」ボタンをクリックして、ポリシーを削除する |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Policies」タブをクリックします。
ポリシーの一覧が表示されます。
特定のポリシーを表示するか、ポリシーの部分リストを表示します。
「Filter」フィールドにフィルタ文字列を入力して、Return キーを押します。フィルタが正常終了すると、フィルタに一致するポリシーの一覧が表示されます。
フィルタ文字列は、1 文字以上の文字列である必要があります。フィルタメカニズムでは大文字と小文字が区別されるため、大文字と小文字を正しく指定する必要があります。たとえば、フィルタ文字列に ge と入力すると、ポリシー名に文字列 ge を含むポリシー (george、edge など) だけが表示されます。
すべてのポリシーを表示するには、「Clear Filter」をクリックします。
次の例では、kadmin の list_policies コマンドを使用して、*user* と一致するすべてのポリシーを表示します。list_policies コマンドでは、ワイルドカードを使用できます。
kadmin: list_policies *user* testuser enguser kadmin: quit |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Policies」タブをクリックします。
表示するポリシーを一覧から選択して、「Modify」をクリックします。
「Policy Details」パネルが表示されます。
表示を終了する場合は、「Cancel」をクリックします。
次の例は、test ポリシーを表示したときの「Policy Details」パネルです。
次の例では、kadmin の get_policy コマンドを使用して、enguser ポリシーの属性を表示します。
kadmin: get_policy enguser Policy: enguser Maximum password life: 2592000 Minimum password life: 0 Minimum password length: 8 Minimum number of password character classes: 2 Number of old keys kept: 3 Reference count: 0 kadmin: quit |
参照数は、このポリシーを使用する主体の数です。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Policies」タブをクリックします。
「New」をクリックします。
「Policy Details」パネルが表示されます。
「Policy Name」フィールドにポリシー名を指定します。
ポリシー名は必須です。
ポリシーの属性の値を指定します。
「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 11–5 を参照してください。
「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。
次の例では、build11 という新しいポリシーを作成します。「Minimum Password Classes」は、3 に設定されています。
次の例では、kadminの add_policy コマンドを使用して、build11 ポリシーを作成します。このポリシーのパスワードには、3 種類以上の文字クラスが必要です。
$ kadmin kadmin: add_policy -minclasses 3 build11 kadmin: quit |
この手順では、既存のポリシーの一部またはすべてを使用して、新しいポリシーを作成する方法について説明します。この手順に対応するコマンド行はありません。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Policies」タブをクリックします。
複製するポリシーを一覧から選択して、 「Duplicate」をクリックします。
「Policy Details」パネルが表示されます。選択したフィールドのすべての属性が複製されます。ただし、「Policy Name」フィールドは空で表示されます。
複製するポリシー名を「Policy Name」フィールドに指定します。
ポリシー名は必須です。選択したポリシーをそのまま複製するには、「Save」をクリックして 手順 6 に進みます
ポリシーの属性に別の値を指定します。
「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 11–5 を参照してください。
「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Policies」タブをクリックします。
変更するポリシーを一覧から選択して「Modify」をクリックします。
「Policy Details」パネルが表示されます。
ポリシーの属性を変更します。
「Help」メニューから「Context-Sensitive Help」を選択すると、このウィンドウの属性に関する情報が表示されます。ポリシーのすべての属性の説明については、表 11–5 を参照してください。
ポリシー名は変更できません。ポリシー名を変更するときは、ポリシーを複製し、新しい名前を指定して保存してから、古いポリシーを削除する必要があります。
「Save」をクリックしてポリシーを保存するか、「Done」をクリックします。
次の例では、kadmin の modify_policy コマンドを使用して、build11 ポリシーの最小パスワード長を 5 文字に変更します。
$ kadmin kadmin: modify_policy -minlength 5 build11 kadmin: quit |
対応するコマンド行の例は、この手順のあとに示します。
必要に応じて、SEAM ツールを起動します。
詳細は、SEAM ツールを起動する方法を参照してください。
「Policies」タブをクリックします。
ポリシーを削除する前に、現在使用しているすべての主体からそのポリシーを取り消す必要があります。ポリシーを取り消すには、その主体の「Policy」属性を変更する必要があります。任意の主体が使用しているポリシーは、削除できません。
削除するポリシーを一覧から選択して、 「Delete」をクリックします。
削除を確定すると、ポリシーが削除されます。
次の例では、kadmin の delete_policy コマンドを使用して、build11 ポリシーを削除します。
kadmin: delete_policy build11 Are you sure you want to delete the policy "build11"? (yes/no): yes kadmin: quit |
ポリシーを削除する前に、現在使用しているすべての主体からそのポリシーを取り消す必要があります。ポリシーを取り消すには、関係する主体に対して kadmin の modify_principal -policy コマンドを使用する必要があります。そのポリシーが主体に使用されている場合は、delete_policy コマンドは失敗します。
この節では、SEAM ツールの参照情報について説明します。
この節では、SEAM ツールで指定または表示できる主体とポリシーの属性について説明します。属性は、表示されるパネルごとに分類されています。
表 11–2 「Principal Basics」パネルの属性
属性 |
説明 |
---|---|
Principal Name |
主体名 (完全指定形式の主体名の primary/instance 部分)主体は、KDC がチケットを割り当てることができる一意の ID 主体を変更しようとしても、主体名は編集できない |
Password |
主体のパスワード。「Generate Random Password」ボタンを使用して、主体のランダムパスワードを作成できる |
Policy |
主体に使用できるポリシーのメニュー |
Account Expires |
主体のアカウントが期限切れになる日時。アカウントが期限切れになると、主体はチケット認可チケット (TGT) を取得できず、ログインできなくなる |
Last Principal Change |
主体の情報が最後に変更された日付 (読み取り専用) |
Last Changed By |
この主体のアカウントを最後に変更した主体名 (読み取り専用) |
Comments |
主体に関連するコメント (「一時アカウント」など) |
表 11–3 「Principal Details」パネルの属性
属性 |
説明 |
---|---|
Last Success |
主体が最後に正常にログインした日時 (読み取り専用) |
Last Failure |
主体が最後にログインに失敗した日時 (読み取り専用) |
Failure Count |
主体のログインが失敗した回数 (読み取り専用) |
Last Password Change |
主体のパスワードが最後に変更された日時 (読み取り専用) |
Password Expires |
主体の現在のパスワードが期限切れになる日時 |
Key Version |
主体の鍵のバージョン番号。この属性は通常、パスワードが危険にさらされた場合にだけ変更される |
Maximum Lifetime (seconds) |
チケットを主体が使用できる最大期間 (更新しない場合) |
Maximum Renewal (seconds) |
既存のチケットを主体が更新できる最大期間 |
表 11–4 「Principal Flags」パネルの属性
属性 (ラジオボタン) |
説明 |
---|---|
Disable Account |
チェックすると、その主体はログインできなくなる。この属性は、主体のアカウントを一時的に凍結するときに使用する |
Require Password Change |
チェックすると、主体の現在のパスワードが期限切れとなり、ユーザーは kpasswd コマンドを使用して新しいパスワードを作成しなければならない。この属性は、セキュリティ違反が発生し、古いパスワードを置換する必要があるときに使用する |
Allow Postdated Tickets |
チェックすると、主体は遅延チケットを取得できる たとえば、cron ジョブを数時間後に実行する場合は、遅延チケットを使用する必要がある。ただし、チケットの有効期限が短い場合は、事前にチケットを取得できない |
Allow Forwardable Tickets |
チェックすると、主体は転送可能チケットを取得できる 転送可能チケットは、リモートホストに転送されて、シングルサインオンセッションを実現する。たとえば、転送可能チケットを使用して、ユーザー自身の ftp 認証または rsh 認証が完了すると、NFS サービスなどのほかのサービスを利用するときに、新たにパスワードを要求されない |
Allow Renewable Tickets |
チェックすると、主体が更新可能チケットを取得できる 主体は、チケットが更新可能な場合、有効期限日時を自動的に延長することができる。つまり、最初のチケットの期限が切れても、新しいチケットを取得する必要がない。現在の NFS サービスは、チケットを新しくするチケットサービスである |
Allow Proxiable Tickets |
チェックすると、主体は代理可能チケットを取得できる 代理可能チケットを使用すると、クライアントの代わりにサービスがクライアントの操作を実行できる。サービスは、代理可能チケットを使用すると、クライアントの ID を使用して別のサービスのチケットを取得できる。ただし、チケット認可チケットを取得することはできない |
Allow Service Tickets |
チェックすると、サービスチケットを特定の主体に発行できる サービスチケットの発行は、kadmin/hostname および changepw/hostname 主体に許可してはならない。これらの主体は、KDC データベース以外は更新してはならない |
Allow TGT-Based Authentication |
チェックすると、このサービス主体は別の主体にサービスを提供できる。つまり、KDC は、サービス主体にサービスチケットを発行できる この属性は、サービス主体にだけ使用できる。チェックを解除すると、サービスチケットをサービス主体に対して発行できない |
Allow Duplicate Authentication |
チェックすると、このユーザー主体はほかのユーザー主体のサービスチケットを取得できる この属性は、ユーザー主体にだけ使用できる。チェックを解除すると、ユーザー主体はサービス主体のサービスチケットを取得できるが、ほかのユーザー主体のサービスチケットは取得できない |
Required Preauthentication |
チェックすると、KDC が要求されたチケット認可チケット (TGT) を主体に送信する前に、その主体が TGT を要求している主体であることを KDC のソフトウェアが認証する。この事前認証は通常、DES カードなどの特別のパスワードを使用して行われる チェックを解除すると、KDC は要求された TGT を主体に送信する前に、主体の事前認証を必要としない |
Required Hardware Authentication |
チェックすると、KDC が要求されたチケット認可チケット (TGT) を主体に送信する前に、その主体が TGT を要求している主体であることを KDC のハードウェアが認証する。ハードウェア事前認証は、たとえば Java リングのリーダー上で行われる チェックを解除すると、KDC は要求された TGT を主体に送信する前に、主体の事前認証を必要としない |
表 11–5 「Policy Basics」区画の属性
属性 |
説明 |
---|---|
Policy Name |
ポリシー名。ポリシーとは、主体のパスワードとチケットを管理する一連のルールのことである ポリシーを変更しようとしても、ポリシー名は編集できない |
Minimum Password Length |
主体の最小パスワード長 |
Minimum Password Classes |
主体のパスワードに必要な異なる文字タイプの数 たとえば、最小クラス値が 2 の場合は、パスワードに 2 種類以上の文字タイプを使用する必要がある。たとえば、英字と数字を使用して "hi2mom" と入力する必要がある。値が 3 の場合は、パスワードに 3 種類以上の文字タイプを使用する必要がある。たとえば、英字、数字、および句読点を使用して "hi2mom!" と入力する必要がある 値が 1 の場合は、パスワード文字タイプの数に制限が設定されない |
Saved Password History |
主体に使用された過去のパスワードの数と、過去のパスワードの一覧。これらのパスワードは再使用できない |
Minimum Password Lifetime (seconds) |
パスワードの最小使用期間。この期間が経過しないとパスワードを変更できない |
Maximum Password Lifetime (seconds) |
パスワードの最大使用期間。この期間が経過したらパスワードを変更する必要がある |
Principals Using This Policy |
このポリシーが現在適用されている主体の数 (読み取り専用) |
admin 主体が Kerberos データベースの管理権限をすべて持っている場合は、SEAM 管理ツールの機能をすべて使用できます。ただし、Kerberos 管理権限は、制限することもできます。たとえば、主体の一覧だけを表示できるようにしたり、主体のパスワードを変更できるようにしたりできます。Kerberos 管理権限を制限した場合でも、SEAM ツールを使用できます。ただし、許可された Kerberos 管理権限によって、SEAM ツールの使い方が異なります。表 11–6 は、Kerberos 管理権限に基づいた SEAM ツールの変更の一覧です。
一覧表示権限がない場合、SEAM ツールの使い方が最も大きく変わります。この場合、操作する主体とポリシーの一覧が「List」パネルに表示されません。代わりに、「List」パネルの「Name」フィールドを使用して、操作する主体またはポリシーを指定する必要があります。
SEAM ツールにログインしても、必要な権限がない場合は、次のメッセージが表示されて 「SEAM Administration Login」ウィンドウに戻ります。
Insufficient privileges to use gkadmin: ADMCIL. Please try using another principal. |
主体が Kerberos データベースを管理する権限を変更する方法については、Kerberos 管理権限を変更する方法 を参照してください。
表 11–6 Kerberos 管理権限を制限して SEAM を使用する
許可しない権限 |
SEAM ツールの変更 |
---|---|
a (追加) |
「Principal List」および「Policy List」パネルの「Create New」と「Duplicate」ボタンを使用できない。追加権限がない場合は、新しい主体またはポリシーを作成または複製できない |
d (削除) |
「Principal List」および「Policy List」パネルの「Delete」ボタンを使用できない。削除権限がない場合は、主体またはポリシーを削除できない |
m (変更) |
「Principal List」および「Policy List」パネルの「Modify」ボタンを使用できない。変更権限がない場合は、主体またはポリシーを変更できない また、「Modify」ボタンを使用できない場合、パスワードの変更権限を持っていても、主体のパスワードを変更できない |
c (パスワードの変更) |
「Principal Basics」パネルの「Password」フィールドが読み取り専用になり、変更できない。パスワードの変更権限がない場合、主体のパスワードを変更できない パスワードの変更権限を持っている場合でも、主体のパスワードを変更するときは、さらに変更権限が必要になる |
i (データベースの照会) |
「Principal List」および「Policy List」パネルの 「Modify」と「Duplicate」ボタンを使用できない。照会権限がない場合は、主体またはポリシーを変更または複製できない また、「Modify」ボタンを使用できない場合、パスワードの変更権限を持っていても、主体のパスワードを変更できない |
l (一覧) |
「List」パネルで主体とポリシーの一覧を表示できない。一覧権限がない場合は、「List」パネルの「Name」フィールドを使用して、操作する主体またはポリシーを指定する必要がある |
サービスを提供するすべてのホストには、「キータブ」 (鍵テーブルの短縮名) と呼ばれるローカルファイルが必要です。キータブには、「サービス鍵」と呼ばれる該当するサービスの主体が格納されます。サービス鍵は、KDC に対してサービス自身を認証するときに使用され、Kerberos とそのサービスだけが認識します。たとえば、Kerberos NFS サーバーを使用する場合、このサーバーには nfs サービス主体を含むキータブが必要です。
キータブファイルにサービス鍵を追加するには、kadmin の ktadd コマンドを使用して、ホストのキータブファイルに該当するサービス主体を追加します。サービス主体をキータブファイルに追加するときは、Kerberos データベースにあらかじめ主体を登録し、kadmin が主体の存在を確認できるようにする必要があります。マスター KDC では、キータブファイルのデフォルトの位置は /etc/krb5/kadm5.keytab です。Kerberos サービスを提供するアプリケーションサーバーでは、キータブファイルのデフォルトの位置は /etc/krb5/krb5.keytab です。
キータブはユーザーのパスワードに似ています。ユーザーの場合は、自分のパスワードを保護することが重要ですが、アプリケーションサーバーの場合は、キータブファイルを保護することが重要です。キータブファイルは常時ローカルディスクに格納し、root ユーザー以外は読み取れないようにしてください。また、キータブファイルは、セキュリティ保護されていないネットワークを介して送信しないでください。
root 主体をホストのキータブファイルに追加することがあります。SEAM クライアント上のユーザーが Kerberos NFS ファイルシステムを自動的にマウントして Kerberos 認証を使用する場合は、クライアントの root 主体をクライアントのキータブファイルに追加する必要があります。追加しなかった場合、Kerberos NFS ファイルシステムをマウントするたびに、ユーザーは kinit コマンドをスーパーユーザーとして使用して、クライアントの root 主体の資格を取得する必要があります。これは、オートマウンタを使用している場合でも同様です。詳細は、NFS ファイルシステムをマウントするように root 認証を設定する を参照してください。
マスター KDC を設定するときは、kadmind および changepw 主体を kadm5.keytab ファイルに追加する必要があります。この手順によって、KDC は管理者の Kerberos チケットを復号化して、管理者にデータベースへのアクセス権を与えるかどうかを決定することができます。
キータブファイルを管理するときに、ktutil コマンドも使用できます。ktutil は対話型のコマンドで、Kerberos 管理権限がなくても、ローカルホストのキータブファイルを管理できます。これは、kadmin は Kerberos データベースと対話しますが、ktutil は対話しないためです。つまり、主体をキータブファイルに追加したあとに ktutil を使用すると、キータブファイル内のキー一覧を表示したり、サービスの認証を一時的に無効にしたりできます。
作業 |
説明 |
参照先 |
---|---|---|
サービス主体をキータブファイルに追加する |
kadmin の ktadd コマンドを使用して、サービス主体をキータブファイルに追加する | |
キータブファイルからサービス主体を削除する |
kadmin の ktremove コマンドを使用して、キータブファイルからサービスを削除する | |
キータブファイル内のキー一覧 (主体) を表示する |
ktutil コマンドを使用して、キータブファイル内のキー一覧を表示する | |
ホスト上でのサービスの認証を一時的に無効にする |
この手順を行うと、kadmin 権限がなくても、ホスト上でのサービスの認証を一時的に無効にできる ktutil を使用してサーバーのキータブファイルからサービス主体を削除する前に、元のキータブファイルを一時的な位置にコピーする必要がある。サービスを再度有効にする場合は、元のキータブファイルを適切な場所に戻す必要がある |
主体がすでに Kerberos データベースに登録されていることを確認します。
詳細は、主体の一覧を表示する方法 を参照してください。
キータブファイルに主体を追加するホスト上でスーパーユーザーになります。
kadmin コマンドを起動します。
# /usr/sbin/kadmin |
ktadd コマンドを使用して、キータブファイルに主体を追加します。
kadmin: ktadd [-k keytab] [-q] [principal | -glob principal-exp] |
-k keytab |
キータブファイルを指定する。デフォルトでは、/etc/krb5/krb5.keytab が使用される |
-q |
冗長な情報を表示しない |
principal |
キータブファイルに追加する主体を指定する。 host、root、nfs、および ftp のサービス主体を追加できる |
-glob principal-exp |
主体表現を指定する。主体表現に一致するすべての主体が、キータブファイルに追加される。主体表現の規則は、kadmin の list_principals コマンドと同じである |
kadmin コマンドを終了します。
kadmin: quit |
次の例では、kadmin/admin および kadmin/changepw 主体をマスター KDC のキータブファイルに追加します。この例のキータブファイルは、kdc.conf ファイルで指定されている必要があります。
kdc1 # /usr/sbin/kadmin.local kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/admin kadmin/changepw Entry for principal kadmin/admin@EXAMPLE.COM with kvno 3, encryption type DES-CBC-CRC added to keytab WRFILE:/etc/krb5/kadm5.keytab. Entry for principal kadmin/changepw@EXAMPLE.COM with kvno 3, encryption type DES-CBC-CRC added to keytab WRFILE:/etc/krb5/kadm5.keytab. kadmin.local: quit |
次の例では、denver の host 主体を denver のキータブファイルに追加し、KDC が denver のネットワークサービスを認証できるようにします。
denver # /usr/sbin/kadmin kadmin: ktadd host/denver@example.com@EXAMPLE.COM kadmin: Entry for principal host/denver@example.com@EXAMPLE.COM with kvno 2, encryption type DES-CBC-CRC added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin: quit |
キータブファイルから削除するサービス主体が登録されているホスト上でスーパーユーザーになります。
kadmin コマンドを起動します。
# /usr/sbin/kadmin |
(省略可能) キータブファイル内の現在の主体 (鍵) の一覧を表示するには、ktutil コマンドを使用します。
詳細は、キータブファイル内のキー一覧 (主体) を表示する方法 を参照してください。
ktremove コマンドを使用して、キータブファイルから主体を削除します。
kadmin: ktremove [-k keytab] [-q] principal [kvno | all | old ] |
-k keytab |
キータブファイルを指定する。デフォルトでは、/etc/krb5/krb5.keytab が使用される |
-q |
冗長な情報を表示しない |
principal |
キータブファイルから削除する主体を指定する |
kvno |
指定された主体のうち、鍵のバージョン番号が kvno と一致する主体のすべてのエントリを削除する |
all |
指定された主体のすべてのエントリを削除する |
old |
指定した主体のすべてのエントリを削除する。ただし、鍵のバージョン番号が最上位の主体は削除しない |
kadmin コマンドを終了します。
kadmin: quit |
次の例では、denver の host 主体を denver のキータブファイルから削除します。
denver # /usr/sbin/kadmin kadmin: ktremove host/denver.example.com@EXAMPLE.COM kadmin: Entry for principal host/denver.example.com@EXAMPLE.COM with kvno 3 removed from keytab WRFILE:/etc/krb5/krb5.keytab. kadmin: quit |
キータブファイルが存在するホスト上でスーパーユーザーになります。
ほかのユーザーが所有するキータブファイルを作成することもできますが、キータブファイルのデフォルトの位置には root 所有権が必要です。
ktutil コマンドを起動します。
# /usr/bin/ktutil |
read_kt コマンドを使用して、キータブファイルをキー一覧バッファーに読み込みます。
ktutil: read_kt keytab |
list コマンドを使用して、キー一覧バッファーを表示します。
ktutil: list |
現在のキー一覧バッファーが表示されます。
ktutil コマンドを終了します。
ktutil: quit |
次の例では、denver ホストの /etc/krb5/krb5.keytab ファイル内のキー一覧を表示します。
denver # /usr/bin/ktutil ktutil: read_kt /etc/krb5/krb5.keytab ktutil: list slot KVNO Principal ---- ---- --------------------------------------- 1 5 host/denver@EXAMPLE.COM ktutil: quit |
ネットワークアプリケーションサーバー上の rlogin や ftp など、サービスの認証メカニズムを一時的に無効にしなければならない場合があります。たとえば、保守作業中は、ユーザーがシステムにログインできないようにする必要があります。ktutil コマンドを使用してサーバーのキータブファイルからサービス主体を削除することにより、サービスの認証を一時的に無効にすることができます。このとき、kadmin 権限は必要ありません。認証を再度有効にするには、保存した元のキータブファイルを元の位置にコピーするだけです。
デフォルトでは、ほとんどのサービスが認証を要求するように設定されています。そのように設定されていないときは、サービスの認証を無効にした場合でもサービスは動作します。
キータブファイルが存在するホスト上でスーパーユーザーになります。
ほかのユーザーが所有するキータブファイルを作成することもできますが、キータブファイルのデフォルトの位置には root 所有権が必要です。
現在のキータブファイルを一時ファイルに保存します。
ktutil コマンドを起動します。
# /usr/bin/ktutil |
read_kt コマンドを使用して、キータブファイルをキー一覧バッファーに読み込みます。
ktutil: read_kt keytab |
list コマンドを使用して、キー一覧バッファーを表示します。
ktutil: list |
現在のキー一覧バッファーが表示されます。無効にするサービスのスロット番号を記録します。
ホストのサービスを一時的に無効にするには、delete_entry コマンドを使用して、キー一覧バッファーから目的のサービス主体を削除します。
ktutil: delete_entry slot-number |
この例では、slot-number に、削除するサービス主体のスロット番号を指定します。スロット番号は、list コマンドで表示できます。
write_kt コマンドを使用して、キー一覧バッファーをキータブファイルに書き込みます。
ktutil: write_kt keytab |
ktutil コマンドを終了します。
ktutil: quit |
サービスを再度有効にする場合は、一時的な (元の) キータブファイルを元の場所にコピーします。
次の例では、denver ホスト上の host サービスを一時的に無効にします。denver 上のホストサービスを再度有効にするには、krb5.keytab.temp ファイルを /etc/krb5/krb5.keytab ファイルにコピーします。
denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp denver # /usr/bin/ktutil ktutil:read_kt /etc/krb5/krb5.keytab ktutil:list slot KVNO Principal ---- ---- --------------------------------------- 1 8 root/denver@EXAMPLE.COM 2 5 host/denver@EXAMPLE.COM ktutil:delete_entry 2 ktutil:list slot KVNO Principal ---- ---- -------------------------------------- 1 8 root/denver@EXAMPLE.COM ktutil:write_kt /etc/krb5/krb5.keytab ktutil: quit |