Solaris のシステム管理 (セキュリティサービス)

主体の管理

この節では、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 ファイルを編集する必要がある

Kerberos 管理権限を変更する方法

新しい主体の自動作成

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 ファイル内のパスワードのセキュリティが向上します。

より複雑なスクリプトも作成できます。たとえば、ネームサービスの情報を使用して、主体名に対応するユーザー名の一覧を取得できます。必要な作業とその方法は、使用環境要件とスクリプト使用技術によって決まります。

主体の一覧を表示する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、SEAM ツールを起動する方法を参照してください。

  2. 「Principals」タブをクリックします。

    主体の一覧が表示されます。

    「SEAM Administration Tool」ウィンドウに、主体の一覧、一覧用フィルタ、「Modify」「Create New」「Delete」「Duplicate」のボタンが表示されています。
  3. 特定の主体を表示するか、主体の部分リストを表示します。

    「Filter」フィールドにフィルタ文字列を入力して、Return キーを押します。フィルタが正常終了すると、フィルタに一致する主体の一覧が表示されます。

    フィルタ文字列は、1 文字以上の文字列である必要があります。フィルタメカニズムでは大文字と小文字が区別されるため、大文字と小文字を正しく指定する必要があります。たとえば、フィルタ文字列に ge と入力すると、主体名に文字列 ge を含む主体 (georgeedge など) だけが表示されます。

    すべての主体を表示するには、「Clear Filter」をクリックします。

例 — 主体の一覧の表示 (コマンド行)

次の例では、kadminlist_principals コマンドを使用して、 test* と一致するすべての主体を表示します。list_principals コマンドでは、ワイルドカードを使用できます。


kadmin: list_principals test*
test1@EXAMPLE.COM
test2@EXAMPLE.COM
kadmin: quit

主体の属性を表示する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、SEAM ツールを起動する方法を参照してください。

  2. 「Principals」タブをクリックします。

  3. 表示する主体を一覧から選択して、「Modify」をクリックします。

    「Principal Basic」パネルが表示され、主体の属性の一部が示されます。

  4. 「Next」をクリックして、主体のすべての属性を表示します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、SEAM ツールパネルの説明 を参照してください。

  5. 表示を終了する場合は、「Cancel」をクリックします。

例 — 主体の属性の表示

次の例は、jdb/admin 主体を表示したときの最初のウィンドウです。

「SEAM Administration Tool」ウィンドウに、jdb/admin 主体のアカウントデータが表示されています。アカウントの期限とコメントが含まれています。

例 — 主体の属性の表示 (コマンド行)

次の例では、kadminget_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

新しい主体を作成する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、SEAM ツールを起動する方法を参照してください。


    注 –

    新しい主体を作成するときに、新しいポリシーが必要な場合は、新しいポリシーを作成してから新しい主体を作成する必要があります。 新しいポリシーを作成する方法 を参照してください。


  2. 「Principals」タブをクリックします。

  3. 「New」をクリックします。

    「Principal Basics」パネルが表示され、主体の属性の一部が示されます。

  4. 主体名とパスワードを指定します。

    主体名とパスワードは必須です。

  5. 主体の属性に値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、SEAM ツールパネルの説明 を参照してください。

  6. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  7. 必要に応じて、新しい主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。

    詳細は、Kerberos 管理権限を変更する方法 を参照してください。

例 — 新しい主体の作成

次の例は、pak という新しい主体を作成するときの「Principal Basics」パネルです。ポリシーには、testuser が設定されています。

「SEAM Administration Tool」ウィンドウに、pak 主体のアカウントデータが表示されています。パスワード、アカウントの期限、「testuser」ポリシーなどです。

例 — 新しい主体の作成 (コマンド行)

次の例では、kadminadd_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

主体を複製する方法

この手順では、既存の主体の一部またはすべてを使用して、新しい主体を作成する方法について説明します。この手順に対応するコマンド行はありません。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、SEAM ツールを起動する方法を参照してください。

  2. 「Principals」タブをクリックします。

  3. 複製する主体を一覧から選択して、「Duplicate」をクリックします。

    「Principal Basics」パネルが表示されます。選択した主体のすべての属性が複製されます。ただし、「Principal Name」と「Password」フィールドは複製されず、空で表示されます。

  4. 主体名とパスワードを指定します。

    主体名とパスワードは必須です。選択した主体をそのまま複製するときは、「Save」をクリックして、手順 7 に進みます

  5. 主体の属性に別の値を指定します。「Next」をクリックして、属性の値を必要に応じて指定します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、SEAM ツールパネルの説明 を参照してください。

  6. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  7. 必要に応じて、主体の Kerberos 管理権限を /etc/krb5/kadm5.acl ファイルに設定します。

    詳細は、Kerberos 管理権限を変更する方法 を参照してください。

主体を変更する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、SEAM ツールを起動する方法を参照してください。

  2. 「Principals」タブをクリックします。

  3. 変更する主体を一覧から選択して、「Modify」をクリックします。

    「Principal Basic」パネルが表示され、主体の属性の一部が示されます。

  4. 主体の属性を変更します。「Next」をクリックして、必要に応じて属性を変更します。

    属性情報は、3 つのウィンドウに表示されます。「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。主体のすべての属性の説明については、SEAM ツールパネルの説明 を参照してください。


    注 –

    主体名は変更できません。主体名を変更するときは、主体を複製し、新しい名前を指定して保存してから、古い主体を削除する必要があります。


  5. 主体を保存する場合は、「Save」をクリックします。または、最後のパネルで「Done」をクリックします。

  6. /etc/krb5/kadm5.acl ファイルで、主体の Kerberos 管理権限を変更します。

    詳細は、Kerberos 管理権限を変更する方法 を参照してください。

例 — 主体のパスワードの変更 (コマンド行)

次の例では、kadminchange_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

主体のその他の属性を変更するには、kadminmodify_principal コマンドを使用する必要があります。

主体を削除する方法

対応するコマンド行の例は、この手順のあとに示します。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、SEAM ツールを起動する方法を参照してください。

  2. 「Principals」タブをクリックします。

  3. 削除する主体を一覧から選択して、「Delete」をクリックします。

    削除を確定すると、主体が削除されます。

  4. Kerberos アクセス制御リスト (ACL) ファイル /etc/krb5/kadm5.acl から主体を削除します。

    詳細は、Kerberos 管理権限を変更する方法 を参照してください。

例 — 主体を削除する (コマンド行)

次の例では、kadmindelete_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

新しい主体を作成するときのデフォルトを設定する方法

この手順に対応するコマンド行はありません。

  1. 必要に応じて、SEAM ツールを起動します。

    詳細は、SEAM ツールを起動する方法を参照してください。

  2. 「Edit」メニューから「Properties」を選択します。

    「Properties」ウィンドウが表示されます。

    「Properties」ウィンドウには、新しい主体を作成するときのデフォルトの値と、リストコントロールがあります。セキュリティなどのデフォルト値を選択できます。
  3. 新しい主体を作成するときのデフォルトを選択します。

    「Help」メニューから「Context-Sensitive Help」を選択すると、各ウィンドウの属性に関する情報が表示されます。

  4. 「Save」をクリックします。

Kerberos 管理権限を変更する方法

使用する環境には、多くのユーザー主体が登録されていると思われます。しかし、Kerberos データベースの管理者は通常、少数のユーザーだけに割り当てます。Kerberos データベースを管理する権限は、Kerberos アクセス制御リスト (ACL) ファイル (kadm5.acl) によって判断されますkadm5.acl ファイルを使用すると、主体ごとに権限を設定できます。主体名にワイルドカード (*) を使用すると、複数の主体に権限を指定できます。

  1. マスター KDC 上でスーパーユーザーになります。

  2. /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 の場合にだけ、privilegesprincipal に適用される。主体名の任意の場所にワイルドカード (*) を使用できる。主体をグループ化するときに使用する

例 — Kerberos 管理権限の変更

kadm5.acl ファイル内の次のエントリは、EXAMPLE.COM レルム内で admin インスタンスを持つ すべての主体に対して、Kerberos データベース上のすべての権限を与えます。


*/admin@EXAMPLE.COM *

kadm5.acl ファイル内の次のエントリは、jdb@EXAMPLE.COM 主体に対して、root インスタンスを持つすべての主体に関する追加、一覧表示、および照会の権限を与えます。


jdb@EXAMPLE.COM ali */root@EXAMPLE.COM