Sm_PolicyApi_Variable_t
目次
casso126jjp
目次
ポリシーやレスポンスの変数式で使用可能な変数オブジェクトを定義します。変数オブジェクトは変数関数によって管理されます。
変数は、許可リクエスト中に値に解決される動的なオブジェクトです。変数は、ポリシーまたはレスポンスに対して定義されたアクティブな式の中で使用されます。
変数は以下のように使用されます。
- ポリシーの場合、変数は許可の制約として使用されます。ユーザがリソースへのアクセスを要求し、そのリソースには 1 つ以上の変数が含まれるアクティブな式が含まれる場合、変数はユーザに関連する値に解決されます。それらの値は評価され、ユーザを認可するかどうかについての判断に使用されます。たとえば、銀行のクレジット カード申込を保護するポリシーに、Credit Rating 変数および Salary 変数のアクティブな式が含まれるものとします。ユーザがフォームにアクセスしようとすると、そのユーザの信用格付けと給料がこれらの変数の最小値に一致するかそれ以上の場合にのみ、ユーザが許可されます。
- レスポンスでは、変数は戻り値として使用されます。たとえば、リモート Web サービスから取得したトランザクションの追跡番号を返すようにレスポンス属性を設定するなどです。
構文
typedef struct Sm_PolicyApi_Variable_s{int iStructId;char pszOid[BFSIZE];char pszName[BFSIZE];char pszDesc[BFSIZE];char pszVariableTypeOid[BFSIZE];char pszDefinition[BFSIZE];char pszMetaData[BFSIZE];int nReturnType;bool bPreFetchFlag;char pszDomainOid[BFSIZE];Sm_PolicyApi_Oid_t* pNestedVariableList;struct Sm_PolicyApi_Variable_s* next;} Sm_PolicyApi_Variable_t;
フィールド | Description |
iStructId
| データ構造体 ID、Sm_PolicyApi_Structs_t で定義されています。 |
pszOid
| 可変オブジェクトの一意のオブジェクト ID。 |
pszName
| 可変オブジェクトのユーザ定義の名前。 |
pszDesc
| 可変オブジェクトについて説明するオプションのテキスト。 |
pszVariableTypeOid | 可変タイプの一意のオブジェクト ID。 |
pszDefinition | ランタイムに変数の値を取得する必要がある情報。 |
pszMetaData | オプションの CA TransactionMinder 製品で使用するために予約済みです。 |
nReturnType | 変数値のデータ型: Sm_PolicyApi_VarReturnTypes_Boolean Sm_PolicyApi_VarReturnTypes_Number Sm_PolicyApi_VarReturnTypes_String Sm_PolicyApi_VarReturnTypes_Date |
bPreFetchFlag | 現在は使用されていません。 |
pszDomainOid | 関連するドメインの一意のオブジェクト ID。 |
pNestedVariableList | この変数の定義の一部であるネストされた変数 OID のリンク リスト。 |
next
| 次の可変オブジェクト構造体へのポインタ。 |
変数定義
変数の値の検出が可能な場所を指定することにより変数を定義します。そのためには
pszDefinition
フィールドを使用します。このフィールドの値は、変数タイプに応じて単純な文字列または一連の XML 要素が有効です。
CA Single Sign-on
の変数タイプ、およびタイプごとの pszDefinition
フィールドの説明を以下に示します。- PostpszDefinitionフィールドには、HTML フォーム上のフィールドの名前が含まれます。POST アクションでは、変数値はフィールドに割り当てられた値から引き出されます。
- RequestContextpszDefinitionフィールドには以下の XML コードが含まれます。<RequestContextVariableDef><ItemName></ItemName></RequestContextVariableDef>変数値は、ItemName エレメント内で以下の属性名のどれが使用されるかによって異なります。
- Action。このアイテム名では、可変値は、リクエスト(GET、POST など)で指定されたアクションのタイプです。
- Resource。このアイテム名です、可変値はターゲット リソースです(たとえば、/directory_name/)。
- Server。このアイテム名では、可変値は要求で指定された完全サーバ名です(たとえば、server.company.com)。
- スタティックpszDefinitionフィールドには、実行時にユーザ指定データと比較される実際の値が含まれます。たとえば、戻り型が Sm_PolicyApi_VarReturnTypes_Date の Static 変数は文字列値 2004-01-01 を割り当てられる場合があります。許可時に、この割り当てられた日付は、ユーザ提供の日付と比較されます。
- UserContextpszDefinitionフィールドには、以下の XML コードのいくつかまたはすべてが含まれます。<UserContextVariableDef><ItemName></ItemName><PropertyName></PropertyName><DN></DN><BufferSize></BufferSize></UserContextVariableDef>変数値は、ユーザ ディレクトリ接続の属性(セッション ID など)またはユーザ ディレクトリの内容(ユーザ名など)に基づいています。変数値の基になる属性の名前は、XML エレメント ItemName 内で使用されます。ItemName 要素は、以下のいずれかの値を含むことができます。
- DirectoryEntryProperty
- DirectoryNameSpace
- DirectoryPath
- DirectoryServer
- IsUserContext
- SessionId
- UserPath
- UserProperty
- ユーザ名
エレメント PropertyName、DN、および BufferSize は、以下の方法のみで使用されます。- ItemName に DirectoryEntryProperty が含まれる場合、エレメント PropertyName、DN、および BufferSize が使用されます。
- ItemName に UserProperty が含まれる場合、エレメント PropertyName および BufferSize が使用されます。
- WebServicepszDefinitionフィールドには以下の基本的な XML 構造が含まれます。<WebServiceVariableDefn xmlns:NeteWS="http://www.netegrity.com/2003/SM6.0";><NeteWS:RemoteURL></NeteWS:RemoteURL><NeteWS:SSL/><NeteWS:RemoteMethod></NeteWS:RemoteMethod><NeteWS:ResultQuery></NeteWS:ResultQuery><NeteWS:AuthCredentials><NeteWS:Username></NeteWS:Username><NeteWS:Password></NeteWS:Password><NeteWS:Hash></NeteWS:Hash></NeteWS:AuthCredentials><NeteWS:Document><SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/";><SOAP:Header></SOAP:Header><SOAP:Body></SOAP:Body></SOAP:Envelope></NeteWS:Document></WebServiceVariableDefn>Web サービスから変数値を取得するため、ポリシー サーバは、Webサービスに、pszDefinition引数で指定されているとおりの SOAP 要求ドキュメントを送信し、変数値を SOAPレスポンスから抽出します。以下の表には、WebService 変数の設定に使用される XML エレメントの説明を示します。
エレメント | Description |
RemoteURL | WebService 変数を解決する Web サービスの URL。 |
SSL | ポリシー サーバと Web サービスの間の接続に SSL を使用するよう指定します。 |
RemoteMethod | このエレメントを POST に設定します。 |
ResultQuery | XPath 形式でのリターン クエリ。ポリシー サーバは、SOAP レスポンス ドキュメントで変数値を検索するためにこの情報を使用します。 |
AuthCredentials | 必要に応じて、以下の要素によってユーザの Web サービス クレデンシャルを指定します。 Username パスワード(SHA-1 パスワード要約またはクリア テキスト パスワードのいずれかを使用) 必要に応じて、Hash エレメントを使用して、パスワードのハッシュが WS セキュリティ パスワードに含まれることを指定します。 |
Document | オプションで、以下のエレメントによって SOAP ヘッダまたは SOAP 本文(またはその両方)を定義するためにこのエレメントを使用します。 Envelope。SOAP ネームスペースは http://schemas.xmlsoap.org/soap/envelope です。 Header。ユーザ定義の SOAP ヘッダ。ユーザの Web サービス認証情報が指定されている場合は、WS-Security ヘッダが自動的に追加されます。 Body。ユーザ定義の SOAP 本文。 RequestContext、UserContext、Post、および Static タイプのネストされた変数をヘッダと本文内で使用できます。それらの値は、要求ドキュメントがリモート Web サービスに送信される前に、解決および代入されます。 ネストされた変数は、以下のように指定します。 $variable-name$ |
注:
上に表示された XML エレメント構造は、読みやすさいようにフォーマットされます。pszDefinition
フィールドによって提供された XML文字列は、スペース、タブ、リターン文字でフォーマットしません。たとえば、Resource 属性の RequestContext 変数は、次のように pszDefinition
で渡されます。<RequestContextVariableDef><ItemName>Resource</ItemName></RequestContextVariableDef>