Forum und email

KADM5

導入

このパッケージは、Kerberos V (ケルベロス バージョン 5) 管理サーバへのアクセス機能を提供します。 これにより、Kerberos V のプリンシパルやポリシーの 作成・変更・削除が可能となります。

Kerberos についての詳細な情報は、» https://web.mit.edu/kerberos/www/ で得られます。

Kerberos および KADM5 についてのドキュメントは、» https://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html にあります。

リソース型

この拡張モジュールでは KADM5 ハンドルを定義しています。これは kadm5_init_with_password() が返すものです。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

属性フラグ用の定数

関数 kadm5_create_principal()kadm5_modify_principal() および kadm5_modify_principal() では、ビットを立てることで 特別な属性を指定することができます。以下のような定数が定義されています。

KDC が使用する属性定数
定数
KRB5_KDB_DISALLOW_POSTDATED
KRB5_KDB_DISALLOW_FORWARDABLE
KRB5_KDB_DISALLOW_TGT_BASED
KRB5_KDB_DISALLOW_RENEWABLE
KRB5_KDB_DISALLOW_PROXIABLE
KRB5_KDB_DISALLOW_DUP_SKEY
KRB5_KDB_DISALLOW_ALL_TIX
KRB5_KDB_REQUIRES_PRE_AUTH
KRB5_KDB_REQUIRES_HW_AUTH
KRB5_KDB_REQUIRES_PWCHANGE
KRB5_KDB_DISALLOW_SVR
KRB5_KDB_PWCHANGE_SERVER
KRB5_KDB_SUPPORT_DESMD5
KRB5_KDB_NEW_PRINC

オプション用の定数

関数 kadm5_create_principal()kadm5_modify_principal() および kadm5_get_principal() では、プリンシパルの オプションを連想配列形式で指定したり関数の返り値として 受け取ったりできます。連想配列のキーは、以下で定義されている 文字列定数となります。

プリンシパルを作成/変更/取得する際のオプション
定数 説明
KADM5_PRINCIPAL long プリンシパルの有効期限を Kerberos タイムスタンプで指定します。
KADM5_PRINC_EXPIRE_TIME long プリンシパルの有効期限を Kerberos タイムスタンプで指定します。
KADM5_LAST_PW_CHANGE long プリンシパルのパスワードが最後に変更された時刻。
KADM5_PW_EXPIRATION long プリンシパルの現在のパスワードの有効期限を Kerberos タイムスタンプで指定します。
KADM5_MAX_LIFE long このプリンシパルに発行された Kerberos チケットの最大の生存時間。
KADM5_MAX_RLIFE long このプリンシパルに発行された Kerberos チケットの最大の 更新可能生存時間。
KADM5_MOD_NAME string 最後にこのプリンシパルを変更した Kerberos プリンシパルの名前。
KADM5_MOD_TIME long このプリンシパルの最終更新時刻を Kerberos タイムスタンプ形式で指定します。
KADM5_KVNO long プリンシパルの現在のキーのバージョン。
KADM5_POLICY string このプリンシパルを制御するポリシーの名前。
KADM5_CLEARPOLICY long 新しいプリンシパルの「デフォルトの」ポリシーには 標準手続きが関連付けられます。 KADM5_CLEARPOLICY は、この挙動を抑制します。
KADM5_LAST_SUCCESS long 最後に AS_REQ が成功したときの KDC 時刻。
KADM5_LAST_FAILED long 最後に AS_REQ が失敗したときの KDC 時刻。
KADM5_FAIL_AUTH_COUNT long AS_REQ が連続して失敗した数。
KADM5_RANDKEY long プリンシパルに対してランダムなパスワードを生成します。 パラメータ password は無視されます。
KADM5_ATTRIBUTES long KDC が使用する属性のビットフィールド。

この例では、KADM5 データベースに対して 接続・問い合わせ・結果 principal の表示・切断 を行います。

Example#1 KADM5 拡張モジュールの概要

<?php

  $handle 
kadm5_init_with_password("afs-1""GONICUS.LOCAL""admin/admin""password");

  print 
"<h1>get_principals</h1>\n";
  
$principals kadm5_get_principals($handle);
  for( 
$i=0$i<count($principals); $i++)
      print 
"$principals[$i]<br>\n";

  print 
"<h1>get_policies</h1>\n";
  
$policies kadm5_get_policies($handle);
  for( 
$i=0$i<count($policies); $i++)
      print 
"$policies[$i]<br>\n";

  print 
"<h1>get_principal [email protected]</h1>\n";

  
$options kadm5_get_principal($handle"[email protected]);
  
$keys array_keys($options);
  for( 
$i=0$i<count($keys); $i++) {
    
$value $options[$keys[$i]];
    print 
"$keys[$i]: $value<br>\n";
  }

  
$options = array(KADM5_PRINC_EXPIRE_TIME => 0);
  
kadm5_modify_principal($handle"[email protected]"$options);

  
kadm5_destroy($handle);
?>

問合せ先

この拡張モジュールに対するコメントがあったり、バグフィックスや 機能拡張のパッチを作成された場合、あるいは開発に参加したいなどの 場合は » [email protected] までメールをください。このプロジェクトのホームページは » https://oss.gonicus.de/project/?group_id=7 です。

目次

  • kadm5_chpass_principal — プリンシパルのパスワードを変更する
  • kadm5_create_principal — 指定したパラメータで、kerberos のプリンシパルを作成する
  • kadm5_delete_principal — kerberos プリンシパルを削除する
  • kadm5_destroy — 管理サーバへの接続を閉じ、関連するすべてのリソースを開放する
  • kadm5_flush — Kerberos データベースに対するすべての変更を取り消し、Kerberos 管理サーバとの接続はオープンしたままにする
  • kadm5_get_policies — Kerberos データベースから、すべてのポリシーを取得する
  • kadm5_get_principal — Kerberos データベースから、プリンシパルのエントリを取得する
  • kadm5_get_principals — Kerberos データベースから、すべてのプリンシパルを取得する
  • kadm5_init_with_password — KADM5 ライブラリへの接続をオープンし、必要なステータス情報を初期化する
  • kadm5_modify_principal — kerberos プリンシパルを、指定したパラメータで変更する