C 用のポリシー管理 API
ポリシー管理 API を使用すると、カスタムの管理 UI アプリケーションを開発したり、選択したポリシー オブジェクト コンポーネント(アプリケーション内のルール、ポリシー、レスポンスなど)をカスタマイズしたりすることができます。 管理 UI によって提供されるデータ操作のほとんどを実行できます。stmndr への独自のインターフェースを開発することもできます。
sm1252sp1jjp
ポリシー管理 API を使用すると、カスタムの管理 UI アプリケーションを開発したり、選択したポリシー オブジェクト コンポーネント(アプリケーション内のルール、ポリシー、レスポンスなど)をカスタマイズしたりすることができます。 管理 UI によって提供されるデータ操作のほとんどを実行できます。
CA Single Sign-on
への独自のインターフェースを開発することもできます。たとえば、管理者が以下のようなタスクを実行することを可能にするクライアント アプリケーションを記述することができます。
- ポリシー ドメインの作成
- エージェント オブジェクトの作成
- エージェント設定オブジェクトの作成
- ホスト設定オブジェクトの作成
- トラステッド ホストの登録
- CA Single Sign-onユーザ ディレクトリ オブジェクトの作成
- 認証方式オブジェクトの作成
- 管理者の作成
- レルムの作成
- ポリシー ドメインへのレルムの追加
- ルールの作成
- レスポンスの作成
- ポリシーの作成
- ユーザまたはグループのポリシーへの追加
- ポリシーへのルールの追加
- ポリシー内のルールに対するレスポンスの設定
- ポリシー ストア全体または個別のポリシー ドメインのリモート移行
注:
ポリシー管理 API を実際に使用する前に、CA Single Sign-on
の概念を理解しておいてください。ポリシー管理 API には、ポリシー サーバへのローカル アクセス タイプがあります。
ポリシー管理のセットアップ
以下の手順に従います。
- ポリシー サーバと SDK を同じマシンにインストールします。Windows 環境では、ポリシー管理アプリケーションの実行にポリシー サーバが必要です。UNIX 環境では、ポリシー管理アプリケーションの構築と実行の両方にポリシー サーバが必要です。注:ポリシー サーバ サービスを実行しなくても、ポリシー管理アプリケーションを構築できます。
- ポリシー サーバ管理コンソールを使用して、アクセスするポリシー ストアをポリシー サーバが指すように、ポリシー サーバを設定します。
- ポリシー サーバがインストールされ、ポリシー ストアを指すように設定されたマシンでポリシー サーバ管理アプリケーションを実行します。ポリシー ストアは、ポリシー サーバとは異なるマシン上に配置することもできます。
ポリシー管理アプリケーションを実行するには、以下のファイルが必要です
。
Windows プラットフォーム
: SmPolicyApi45.dllUNIX プラットフォーム:
<installation_location
>\Netegrity\SiteMinder\lib にある libsmpolicyapi45.so および libsmutilities.so注
: UNIX ビルドを実行する前に、makefile
のサンプルを参照してください。ポリシー アプリケーションを構築するには、SmPolicyAPI45.h を含め、必要な共有ライブラリへのリンクを設定してください。
- Windows プラットフォーム:<installation_path>\sdk\lib\win32\ にある SmPolicyAPI45.lib へのリンク
- UNIX プラットフォーム: libsmpolicyapi45.so ライブラリおよび libsmutilities.so ライブラリへのリンク(場所は上述のとおり)。
注
: UNIX 向けのポリシー管理アプリケーションを構築する前に、SDK をポリシー サーバと同じマシンにインストールする必要があります。オブジェクト取得関数
これらの関数は、オブジェクトに関する情報をポリシー ストアから取得します。
リターン コードが成功を示す場合、要求に一致するオブジェクトのリンクの一覧が返されます。ほとんどの場合、API は、一意のオブジェクト識別子に一致する単一のアイテムを返します。一致するオブジェクトが見つからない場合、リターン コードは失敗示し、返されたリンク一覧のポインタは Null を指します。
オブジェクト取得関数には、Sm_PolicyApi_Get が前に付けられています。特定のオブジェクトの情報を取得する関数を検索するには、そのオブジェクトに対応する関数の表を調べてください。
オブジェクト作成関数
CA Single Sign-on
のオブジェクトを作成するには、適切なデータ構造体にデータを入力し、正しく初期化されたハンドルを使用して適切な関数をコールする必要があります。呼び出しが成功した場合:- 関数が Sm_PolicyApi_Success を返します。
- オブジェクトがポリシー ストアに追加されます。
- 対応するオブジェクト構造体内のpszOidフィールドが、オブジェクトのオブジェクト識別子に設定されます。
オブジェクト作成関数には、Sm_PolicyApi_Add または Sm_PolicyApi_Create のいずれかが前に付けられています。
オブジェクト削除関数
これらの関数は、オブジェクトをポリシー ストアから削除します。一度に 1 つのオブジェクトのみを削除できます。
オブジェクト削除関数には、Sm_PolicyApi_Delete または Sm_PolicyApi_Remove が前に付けられています。
オブジェクトの関連付け
いくつかのオブジェクトは、相互に関連付けたり関連付けを解除することができます。たとえば Sm_PolicyApi_AddAdminToDomain() は、管理者オブジェクトをドメインへの追加し、Sm_PolicyApi_RemoveAdminFromDomain() は、管理者オブジェクトをドメインから削除します。
「add-to」操作では、両方のオブジェクトがコールより前に存在し、関連付けが確立されていることが必要となります。「remove-from」操作の後、両方のオブジェクトは引き続き存在しますが、これら相互の関連付けは解除されています。
2 つのオブジェクトの関連付けを設定または解除する関数を検索するときは、追加または削除するメソッドのカテゴリを調べてください。たとえば、関数 Sm_PolicyApi_AddAdminToDomain() および Sm_PolicyApi_RemoveAdminFromDomain() はいずれも管理者関数で検索できます。
オブジェクト識別子
ネストされたレルムの導入により、オブジェクトの一意の識別は、レルム名に依存できなくなりました。
CA Single Sign-on
のオブジェクトが作成されると、そのオブジェクトを定義する構造体の pszOid フィールドに一意のオブジェクト識別子
(OID)が書き込まれます。これらの関数は、
CA Single Sign-on
のオブジェクトを返すことはありません。代わりに、文字列ポインタの配列を返します。この中に、CA Single Sign-on
のオブジェクトの OID が格納されています。オブジェクトを取得するときは、どのオブジェクトを取得するかを指定するために OID を CA Single Sign-on
オブジェクト取得関数(Sm_PolicyApi_Get...)に渡します。OID の配列を返す関数は以下のとおりです。
- Sm_PolicyApi_GetDomainObjects()
- Sm_PolicyApi_GetGlobalObjects()
- Sm_PolicyApi_GetUserDirSearchOrder()
このグループ関数によって割り当てられたメモリは、Sm_PolicyApi_FreeMemoryEx() をコールすることにより解放してください。
ディレクトリ検索順序関数
以下の関数は、ユーザ ディレクトリの検索順序の設定および取得に役立ちます。
- Sm_PolicyApi_GetUserDirSearchOrder() は、指定されたドメインに関連付けられたユーザ ディレクトリ オブジェクトのオブジェクト識別子(OID)を取得します。
- Sm_PolicyApi_SetUserDirSearchOrder() は、ドメイン内のユーザ ディレクトリの検索順序を設定します。OID の順序リストは、pszArray文字列配列で指定されます。この配列内のユーザ ディレクトリは、Sm_PolicyApi_GetUserDirSearchOrder() のコールによって取得されたユーザ ディレクトリ OID のリストと OID および数(順序ではない)が一致する必要があります。
パフォーマンス拡張
以下のアクションのいずれかを実行することにより、カスタム ポリシー管理アプリケーションがポリシー ストア オブジェクトを更新するために必要な時間を短縮できます。
- Sm_PolicyApi_Init() のコールで Sm_PolicyApi_InitFlags_PreLoadCache フラグを省略します。
- 終了前のキャッシュ処理のための適切な時間を保証するために、カスタム アプリケーションにごく微小の時間遅延を導入します。
メモリ、キャッシュ、エージェント キーの管理
以下の関数は、ポリシー管理 API によって割り当てられたメモリを解放します。
- Sm_PolicyApi_FreeMemory() および Sm_PolicyApi_FreeMemoryEx() は、API によって返されたすべてのリンク リスト ポインタを解放します。
- Sm_AgentApi_FreeServers() は、Sm_AgentApi_GetConfig() によって割り当てられたサーバ構造体の配列を解放します。
- Sm_PolicyApi_FreeString() は、1 つの文字列(pszUseMsg や pszErrMsg などの文字列)に割り当てられたメモリを解放します。
- Sm_PolicyApi_FreeStringArray() は、返された文字列の配列を解放します。
また、管理コマンド Sm_PolicyApi_ManagementCommand() では、以下のようなキャッシュおよびエージェント暗号化キーの管理を実行します。
- すべてのキャッシュのクリア
- ユーザ キャッシュのクリア
- リソース キャッシュからのレルムのクリア
- ダイナミック キーの変更
- 永続キーの変更
実行する管理操作のタイプは、Sm_PolicyApi_ManagementCommand() に渡す管理コマンドによって決定されます。
オブジェクト スコープ
CA Single Sign-on
のオブジェクトは、スコープに従って分類できます。- ドメイン オブジェクトはドメイン内のみで表示されます。これらをドメイン間で共有することはできません。
- グローバル オブジェクトは、すべてのドメインで表示されます。グローバル オブジェクトはシステム オブジェクトと呼ばれる場合もあります。
CA Single Sign-on
のオブジェクトのスコープは、以下のとおりです。- グローバル オブジェクトには以下のものが含まれます。
- 管理者
- エージェント タイプ
- エージェントおよびエージェント グループ
- 認証方式
- 認証/認可マップ
- 証明書マップ
- ドメイン
- ODBC クエリ方式
- パスワード ポリシー
- ポリシー
- 登録方式
- [Responses]
- ルール
- ユーザ ディレクトリ
- ドメイン オブジェクトには以下が含まれます。
- ポリシー
- レルム
- レスポンスおよびレスポンス グループ
- レスポンス属性
- ルールおよびルール グループ
- ユーザ ポリシー