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() では、ビットを立てることで 特別な属性を指定することができます。以下のような定数が定義されています。
定数 |
---|
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 burbach@GONICUS.LOCAL</h1>\n";
$options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );
$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, "burbach@GONICUS.LOCAL", $options);
kadm5_destroy($handle);
?>
問合せ先
この拡張モジュールに対するコメントがあったり、バグフィックスや 機能拡張のパッチを作成された場合、あるいは開発に参加したいなどの 場合は » holger.burbach@gonicus.de までメールをください。このプロジェクトのホームページは » 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 プリンシパルを、指定したパラメータで変更する