エクスポートされた API 列挙
SmApi.h には、ディレクトリ API によって使用される以下の列挙が含まれます。
casso126jjp
SmApi.h には、ディレクトリ API によって使用される以下の列挙が含まれます。
- Sm_DirApi_Capability_t(ディレクトリ機能)
- Sm_PolicyResolution_t(ポリシー解決)
ディレクトリ機能
Sm_DirApi_Capability_t は、カスタム ディレクトリに対して設定できる機能を列挙します。
以下の表は、Sm_DirApi_Capability_t で列挙されたディレクトリ機能のリストを示しています。表の後に各機能の説明が示されます。
名前 | 値 |
Sm_DirApi_Capability_ForceResetUserPassword | 0x00000001 |
Sm_DirApi_Capability_ChangeUserPassword | 0x00000002 |
Sm_DirApi_Capability_DisableUser | 0x00000004 |
Sm_DirApi_Capability_SetUserAttributes | 0x00000008 |
Sm_DirApi_Capability_Recursive | 0x00000010 |
カスタム ディレクトリが特定の機能を持つためには、その機能に対して必須ユーザ属性を定義する必要があります。たとえば、ユーザ パスワードを変更するように
CA Single Sign-on
を有効にするには、パスワード属性を識別する必要があります。CA Single Sign-on
は、次にその属性を使用してユーザ パスワードを取得および設定します。- Sm_DirApi_Capability_ForceResetUserPassword。カスタム ディレクトリはユーザ パスワード リセットを強制できます。CA Single Sign-onがパスワードのリセットを強制できるようにするには、以下のユーザ属性を定義します。
- パスワード属性。ユーザ パスワードを取得および設定するためにCA Single Sign-onが使用できる属性。CA Single Sign-on管理 UI で、[ユーザ ディレクトリ]ダイアログ ボックス上の[ユーザ属性]タブの[パスワード属性]フィールドにこの属性名を入力します。サンプル内では、属性名は password です。
- 無効フラグ。ユーザの無効状態を取得および設定するためにCA Single Sign-onが使用できる属性。CA Single Sign-on管理 UI で、[ユーザ ディレクトリ]ダイアログ ボックス上の[ユーザ属性]タブの[無効フラグ]フィールドにこの属性名を入力します。サンプル内では、属性名は Disabled です。
ユーザがパスワードの変更を強制される場合、ポリシー サーバは SmDirSetUserDisabledState() を呼び出します。サンプル コードで、ユーザの[無効フラグ]は Sm_Api_Disabled_PWMustChange(無効の理由)に設定されます。 - Sm_DirApi_Capability_ChangeUserPassword。カスタム ディレクトリはユーザ パスワードを変更できます。パスワードを変更するには、パスワード属性を識別する必要があります。これは、ユーザ パスワードを取得および設定するためにCA Single Sign-onが使用できる属性です。CA Single Sign-on管理 UI で、[ユーザ ディレクトリ]ダイアログ ボックス上の[ユーザ属性]タブの[パスワード属性]フィールドにこの属性名を入力します。CA Single Sign-onポリシー サーバは、SmDirChangeUserPassword() を呼び出して、カスタム ディレクトリ内の[パスワード]フィールドの値を変更できるようにします。
- Sm_DirApi_Capability_DisableUser。カスタム ディレクトリはユーザ アカウントを無効にできます。ユーザを無効にするには、無効フラグを識別する必要があります。これは、ユーザの無効状態を取得および設定するためにCA Single Sign-onが使用できる属性です。CA Single Sign-on管理 UI で、[ユーザ ディレクトリ]ダイアログ ボックス上の[ユーザ属性]タブの[無効フラグ]フィールドにこの属性名を入力します。管理者がユーザ アカウントを無効または有効にするためにCA Single Sign-on管理 UI を使用する場合、またはパスワード サービスがユーザ アカウントを無効にする場合、CA Single Sign-onポリシー サーバは SmDirSetUserDisabledState() を呼び出します。CA Single Sign-onで、ユーザ アカウントは多くの理由で無効になり、これらの理由はデータ構造 Sm_Api_DisabledReason_t のメンバによって表されます。
- Sm_DirApi_Capability_SetUserAttributes。CA Single Sign-onはカスタム ディレクトリでユーザ属性を設定できます。CA Single Sign-onポリシー サーバは、SmDirSetUserAttr() を呼び出して、ユーザがCA Single Sign-onを使用してカスタム ディレクトリでユーザ属性を設定できるようにします。
- Sm_DirApi_Capability_Recursive。カスタム ディレクトリには再帰をサポートする機能があります。たとえば、カスタム ディレクトリはネストされたグループをサポートする場合があります。ディレクトリ API 内の以下の関数が、再帰的なフラグを保持するためのパラメータを持っています。
- SmDirGetUserGroups()
- SmDirValidateUserPolicyRelationship()
CA Single Sign-on
ポリシー サーバ にディレクトリ機能に関する情報を送信するには、関数 SmDirQueryVersion() を実装します。Sm_DirApi_Capability_t に列挙された 1 つ以上の値を渡すには、機能パラメータ(pnCapabilites
)を使用します。CA Single Sign-on
は次にこれらの機能をチェックします。たとえば、ユーザがパスワードの変更を試みる場合、
CA Single Sign-on
ポリシー サーバは、SmDirQueryVersion() を呼び出して機能 Sm_DirApi_Capability_ChangeUserPassword を確認します。カスタム ディレクトリにその機能がない場合、ユーザはエラー メッセージを受信します。ディレクトリ機能を設定する例は、サンプル コードに示されています。まず、
*pnCapabilities
をゼロに 初期化し、次に、以下のように *pnCapabilities
を設定します。*pnCapabilities =*pnCapabilities | Sm_DirApi_Capability_<supported_capability>;
例:
*pnCapabilities =*pnCapabilities | Sm_DirApi_Capability_ChangeUserPassword;*pnCapabilities =*pnCapabilities | Sm_DirApi_Capability_DisableUser;
CA Single Sign-on
による使用を対象としたフィールドで他のアプリケーションがデータを変更することがないようにしてください。たとえば、CA Single Sign-on
の無効な状態を保持するフィールドのデータを他のアプリケーションが変更することがないようにしてください。ポリシー解決
Sm_PolicyResolution_t は、SmApi.h で定義され、2 つのポリシー オブジェクト間の関係を説明する値を列挙します。以下のディレクトリ API 関数が Sm_PolicyResolution_t を使用します。
- SmDirAddEntry()
- SmDirGetDirObjInfo()
- SmDirRemoveEntry()
- SmDirValidateUserPolicyRelationship()