ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Entitlements Server管理者ガイド
11g リリース2 (11.1.2)
B71695-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

C WLSTによる拡張ポリシーの管理

WebLogic Scripting Tool(WLST)は、システム管理者とオペレータがWebLogic Serverのインスタンスとドメインの監視と管理に使用するコマンドライン・スクリプト・インタフェースです。この付録では、WSLTを使用してOracle Entitlements Serverで拡張ポリシーを管理するためのコマンドについて説明します。この章には次の項目があります。

C.1 Oracle Entitlements ServerでのWebLogic Scripting Toolの使用

WLSTスクリプト環境は、Javaのスクリプト・インタプリタであるJythonに基づいています。Oracle Entitlements Serverは、拡張ポリシーを管理できるように、Jython言語の構文に従ってスクリプト言語を拡張しています。新しいスクリプトは、WebLogic Application Server、WebSphere Application ServerおよびJBossApplication Serverのオフラインとオンラインの両方のモードでサポートされています。WLSTおよび関連するテーマの詳細は、次のリンクを参照してください。

このマニュアルの次の各項では、単純なポリシーを作成し、拡張要素を追加する一般的なプロセスについて説明します。

C.2 WLSTコマンドの使用

この項では、両方のオンライン・モードのWLSTコマンドについて説明します。オフライン・モードはサポートされていません。

C.2.1 createApplicationPolicy

指定された名前のアプリケーション(アプリケーション・ポリシーとも呼ばれます)を作成します。

対話モード

createApplicationPolicy(appStripe="<appStripeName>")

スクリプト・モード

./wlst.sh createAdvancedPolicy.py -appStripe <appStripeName>

引数

  • appStripeName – 作成するアプリケーション・ポリシーの名前。

C.2.2 updateResourceType

指定されたリソース・タイプを新しいプロパティで更新します。

対話モード

updateResourceType(appStripe="<appStripeName>", 
  resourceTypeName="<resourceTypeName>",
  displayName="<displayName>", description="<description>',
  allowedActions="<actions>', delimiter="<delimiter>', 
  attributes="<attributes>', provider="<resTypeProvider>',
  matcher="<matcherClass>', hierarchicalResource="<hierarchicalResource>", 
  resourceNameDelimiter="<resourceNameDelimiter>")

スクリプト・モード

./wlst.sh updateResourceType.py -appStripe <appStripeName> 
 -resourceTypeName <resourceTypeName> [-displayName <displayName>] 
 [-description <description>] [-allowedActions <actions>]
 [-delimiter <delimiter>]
 [-attributes <attributes>] [-provider <resTypeProvider>] 
 [-matcher <matcherClass>]
 [-hierarchicalResource <hierarchicalResource> 
 [-resourceNameDelimiter <resourceNameDelimiter>]

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • resourceTypeName – 更新するリソース・タイプの名前。必須。

  • displayName – リソース・タイプの表示名。オプション。

  • description – リソース・タイプの簡単な説明。オプション。

  • actions - リソース・タイプに対する追加または削除を許可されたアクションのカンマ区切りリスト。接頭辞としてダッシュ(-)の付いているアクションはリストから削除され、接頭辞のないアクションはリストに追加されます。オプション。

  • delimiter – アクション・リストで使用されるデリミタ。指定しない場合、カンマ(,)がデフォルトです。オプション。

  • attributes – リソース・タイプの属性セットに対して追加または削除する属性名のカンマ区切りリスト。接頭辞としてダッシュ(-)の付いている属性はリストから削除され、接頭辞のない属性はリストに追加されます。オプション。nullを指定できます。

  • resTypeProvider – このリソース・タイプのプロバイダ・クラス名。オプション。nullを指定できます。

  • matcherClass – このリソース・タイプのマッチャ・クラス名。指定しない場合、使用されるデフォルト・マッチャ・クラスはoracle.security.jps.ResourcePermissionです。オプション。nullを指定できます。

  • hierarchicalResource - リソース・タイプが階層型リソースをサポートしているかどうかを示すフラグ。これはオプション・パラメータであり、デフォルト値はfalseです。nullを指定できます。

  • resourceNameDelimiter - このリソース・タイプの階層型リソースの名前でデリミタとして使用する文字。これはオプション・パラメータであり、デフォルト値はフォワード・スラッシュ(/)です。hierarchicalResourceパラメータに値trueが指定されていない場合は、値を指定してはいけません。

C.2.3 updateResource

指定されたリソースを新しいプロパティで更新します。

対話モード

updateResource (appStripe="<appStripeName>", resourceName="<resourceName>",
 type="<resourceType>", displayName="<displayName>", description="<description>",
 attributes="<attributes>")

スクリプト・モード

./wlst.sh updateResource.py -appStripe <appStripeName> 
 -resourceName <resourceName> -type <resourceType> [-displayName <displayName>]
 [-description <description>] [-attributes <attributes>]

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • resourceName – 更新するリソースの名前。必須。

  • type – リソースに関連付けられているリソース・タイプの名前。必須。

  • displayName – リソース・タイプの表示名。オプション。

  • description – リソース・タイプの簡単な説明。オプション。

  • attributes – リソースの属性セットに対して追加または削除する属性のセミコロン区切りリスト。オプション。属性値の記述方法は次のルールに従います。

    1. 単一値の属性を追加するには、<attribute name>:<value>という形式を使用します。

    2. 複数値の属性を追加するには、<attribute name>:<value 1>,<value 2>,...,<value n>という形式を使用します。

    3. 属性を削除するには、-<attribute name>という形式を使用します。

C.2.4 createPolicy

指定されたアプリケーション内に新しいポリシーを作成します。

対話モード

createPolicy (appStripe="<appStripeName>", policyName="<policyName>", 
 [displayName="<displayName>"], [description="<description>"], 
 ruleExpression="<ruleExpression> {entitlements="<entitlements>"| 
 resourceActions="<resActions>"}, 
 {principals="<principals>"|-codeSource="<codeSource>"}", 
 [obligations="<obligations>"], [semantic="<semantic>"]

スクリプト・モード

./wlst.sh createPolicy.py -appStripe <appStripeName> 
 -policyName <policyName> [-displayName <displayName>] 
 [-description <description>] -ruleExpression <ruleExpression> 
 {-entitlements <entitlements>|-resourceActions <resActions>} 
 {-principals <principals>|-codeSource <codeSource>} 
 [-obligations <obligations>] [-semantic <semantic>] 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • policyName – 作成するポリシーの名前。必須。

  • displayName – ポリシーの表示名。オプション。

  • description – ポリシーの簡単な説明。オプション。

  • ruleExpression – ルール式はポリシー決定のために評価されます。必須。式の記述方法は次のルールに従います。

    1. ruleExpressionは名前で始まります。名前の後に、コロン(:)、影響(GRANT/DENY)が続きます。影響の後に、2つめのコロン(:)、式が続きます。式は関数と属性で構成されます。ruleExpressionに評価する条件が存在しない場合、2つめのコロン(:)と式は必要ありません。

    2. 組込み関数を含むすべての関数は、有効な関数名の後にカッコ[()]で囲まれたパラメータのリストが続きます。

    3. 属性と関数名は有効なJava識別子である必要があります。

    4. 整数リテラル・パラメータは1-9の数字で始まり、0-9の数字が続きます。オプションで接頭辞としてダッシュ(-)を付けて負の整数を表すことができます。

    5. 文字列リテラルは二重引用符("")で囲まれます。

    6. 日付リテラルと時刻リテラルはGMT文字列の後にそれぞれ文字dtが続きます。大/小文字は区別されません。

    7. サポートされる標準のデータ型は、stringintbooleandateおよびtimeです。

    8. サポートされる演算子: &&||は2つのブール式を組み合わせるために使用します。!はブール式に使用します。==は2つの文字列、整数、日付または時刻が等しいかどうかを確認するために使用します。><>=および<=は2つの整数、日付または時刻を比較するために使用します。

    9. &&、||および!を除くすべての演算子と関数は、パラメータとして値と属性のみ使用します。それら以外はパラメータとブール式を使用できます。

  • entitlements – 権限セット・エントリ名のカンマ区切りリスト。指定するのは、resActions(リソース・アクション)が指定されていない場合のみにする必要があります。

  • resActions – リソース・アクションのカンマ区切りリスト。指定するのは、entitlementsが指定されていない場合のみにする必要があります。リソース・アクションは、既存のリソース・タイプの後にコロン(:)を続けて指定します。その後に既存のリソース名、さらにそのリソースの有効なアクションの(カッコで囲まれた)カンマ区切りリストを続けます。たとえば、次のように入力します。

    resType1:res1(act1, act2),resType2:res2(act1),resType2:res3(act2)
    
  • principals – プリンシパルのカンマ区切りリスト。指定するのは、codeSourceが指定されていない場合のみにする必要があります。プリンシパルは、名前の後にコロン(:)と完全修飾クラス名を続けて指定します。たとえば、次のように入力します。

    admin:com.example.myPrincipal, manager:com.example.myPrincipal
    
  • codeSource – 文字列のコードソース。指定するのは、Principalsが指定されていない場合のみにする必要があります。オプション。

  • obligations – 責任のカンマ区切りリスト。オプション。責任は、責任名の後にカッコで囲まれた責任属性割当てのカンマ区切りリストを続けて指定します。割当てがリテラルの場合、名前とそれに続くコロン(:)を接頭辞として指定する必要があります。割当てが属性の場合、名前はオプションです。たとえば、次のように入力します。

    ob1(attr1,str1:"a String"),ob2(a2:attr2)
    
  • semantic – ポリシー・セマンティクスとしてandまたはorを選択できます。オプション。

C.2.5 updatePolicy

指定されたアプリケーション内の既存のポリシーを更新します。

対話モード

updatePolicy (appStripe="<appStripeName>", policyName="<policyName>", 
 [displayName="<displayName>"], [description="<description>"], 
 [ruleExpression="<ruleExpression>"], [obligations="<obligations>"], 
 [entitlements="<entitlements>"|resourceActions="<resActions>"], 
 [principals="<principals>"|codeSource="<codeSource>"])

スクリプト・モード

./wlst.sh updatePolicy.py -appStripe <appStripeName> 
 -policyName <policyName> [-displayName <displayName>] 
 [-description <description>] [-ruleExpression <ruleExpression>] 
 [-obligations <obligations>] 
 [-entitlements <entitlements>|-resourceActions <resActions>] 
 [-principals <principals>|-codeSource <codeSource>] 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • policyName – 更新するポリシーの名前。必須。

  • displayName – ポリシーの表示名。オプション。

  • description – ポリシーの簡単な説明。オプション。

  • ruleExpression – ルール式はポリシー決定のために評価されます。必須。式の記述方法は次のルールに従います。

    1. ruleExpressionは名前で始まります。名前の後に、コロン(:)、影響(GRANT/DENY)が続きます。影響の後に、2つめのコロン(:)、式が続きます。式は関数と属性で構成されます。ruleExpressionに評価する条件が存在しない場合、2つめのコロン(:)と式は必要ありません。

    2. 組込み関数を含むすべての関数は、有効な関数名の後にカッコ[()]で囲まれたパラメータのリストが続きます。

    3. 属性と関数名は有効なJava識別子である必要があります。

    4. 整数リテラル・パラメータは1-9の数字で始まり、0-9の数字が続きます。オプションで接頭辞としてダッシュ(-)を付けて負の整数を表すことができます。

    5. 文字列リテラルは二重引用符("")で囲まれます。

    6. 日付リテラルと時刻リテラルはGMT文字列の後にそれぞれ文字dtが続きます。大/小文字は区別されません。

    7. サポートされる標準のデータ型は、stringintbooleandateおよびtimeです。

    8. サポートされる演算子: &&||は2つのブール式を組み合わせるために使用します。!はブール式に使用します。==は2つの文字列、整数、日付または時刻が等しいかどうかを確認するために使用します。><>=および<=は2つの整数、日付または時刻を比較するために使用します。

    9. &&、||および!を除くすべての演算子と関数は、パラメータとして値と属性のみ使用します。それら以外はパラメータとブール式を使用できます。

  • entitlements – 権限セット・エントリ名のカンマ区切りリスト。指定するのは、resActions(リソース・アクション)が指定されていない場合のみにする必要があります。

  • resActions – リソース・アクションのカンマ区切りリスト。指定するのは、entitlementsが指定されていない場合のみにする必要があります。リソース・アクションは、既存のリソース・タイプの後にコロン(:)を続けて指定します。その後に既存のリソース名、さらにそのリソースの有効なアクションの(カッコで囲まれた)カンマ区切りリストを続けます。たとえば、次のように入力します。

    resType1:res1(act1, act2),resType2:res2(act1),resType2:res3(act2)
    
  • principals – プリンシパルのカンマ区切りリスト。指定するのは、codeSourceが指定されていない場合のみにする必要があります。プリンシパルは、名前の後にコロン(:)と完全修飾クラス名を続けて指定します。たとえば、次のように入力します。

    admin:com.example.myPrincipal, manager:com.example.myPrincipal
    
  • codeSource – 文字列のコードソース。指定するのは、Principalsが指定されていない場合のみにする必要があります。オプション。

  • obligations – 責任のカンマ区切りリスト。オプション。責任は、責任名の後にカッコで囲まれた責任属性割当てのカンマ区切りリストを続けて指定します。割当てがリテラルの場合、名前とそれに続くコロン(:)を接頭辞として指定する必要があります。割当てが属性の場合、名前はオプションです。たとえば、次のように入力します。

    ob1(attr1,str1:"a String"),ob2(a2:attr2)
    

C.2.6 deletePolicy

指定されたアプリケーション内の既存のポリシーを削除します。

対話モード

deletePolicy (appStripe="<appStripeName>", policyName="<policyName>") 

スクリプト・モード

./wlst.sh deletePolicy.py -appStripe <appStripeName> -policyName <policyName> 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • policyName – 更新するポリシーの名前。必須。

C.2.7 listPolicies

指定されたアプリケーション内のポリシーをリストします。

対話モード

listPolicies (appStripe="<appStripeName>") 

スクリプト・モード

./wlst.sh listPolicies.py -appStripe <appStripeName> 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

C.2.8 createAttribute

アプリケーションに新しい属性を作成します。デフォルト属性はサポートされていません。

対話モード

createAttribute (appStripe="<appStripeName>", attributeName="<attributeName>",
 [displayName="<displayName>"], [description="<description>"], type="<type>",
 category="<category>", [isSingle="<true/false>'], [values="<values>"])

スクリプト・モード

./wlst.sh createAttribute.py -appStripe <appStripeName> 
 -attributeName <attributeName> [-displayName <displayName>] 
 [-description <description>] -type <type> -category  <category> 
 [-isSingle <true/false>][-values <values>]

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • attributeName – 作成する属性の名前。必須。

  • displayName – 属性の表示名。オプション。

  • description – 属性の簡単な説明。オプション。

  • type - タイプの完全修飾クラス名。必須。

  • category - 属性カテゴリ。DynamicまたはResource。必須。

  • isSingle – 属性が単一値または複数値のどちらであるかを示します。デフォルト値はtrueです。オプション。

  • values – 属性の初期値。オプション。

C.2.9 updateAttribute

アプリケーションで定義済の属性の値を更新します。デフォルト属性はサポートされていません。

対話モード

updateAttribute (-appStripe="<appStripeName>", attributeName="<attributeName>",
 [displayName="<displayName>"], [description="<description>"],
 [values="<values>"])

スクリプト・モード

./wlst.sh updateAttribute.py -appStripe <appStripeName> 
 -attributeName <attributeName> [-displayName <displayName>] 
 [-description <description>] [-values <values>] 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • attributeName – 作成する属性の名前。必須。

  • displayName – 属性の表示名。オプション。

  • description – 属性の簡単な説明。オプション。

  • values – 属性値のカンマ区切りリスト。この値が空の文字列の場合、属性は値が未割当ての状態に更新されます。オプション。

C.2.10 deleteAttribute

指定されたアプリケーションの指定された属性を削除します。デフォルト属性はサポートされていません。

対話モード

deleteAttribute (appStripe="<appStripeName>", attributeName="<attributeName>",
 [cascade="<true/false>"])

スクリプト・モード

./wlst.sh deleteAttribute.py -appStripe <appStripeName>
 -attributeName <attributeName>
 [-cascade <true/false>] 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • attributeName – 作成する属性の名前。必須。

  • cascade – 削除がカスケードされているかどうかを示すブール値。指定しない場合、値はデフォルトでfalseに設定されます。オプション。

C.2.11 listAttributes

指定されたアプリケーションで定義されているすべての属性をリストします。

オンライン・モード

listAttributes (appStripe="<appStripeName>", [hideBuiltIn="<hideBuiltIn>"])

オフライン・モード

./wlst.sh listAttributes.py -appStripe <appStripeName> 
  [-hideBuiltIn <hideBuiltIn>] 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • hideBuiltIn – 組込み属性を非表示にするかどうかを示すブール値。値のデフォルトはtrueです。オプション。

C.2.12 createFunction

指定されたアプリケーション内に関数を作成します。

対話モード

createFunction (appStripe="<appStripeName>", functionName="<functionName>",
 [displayName="<displayName>"], [description="<description>"], 
 className="<className>", returnType="<returnType>", 
 [paramTypes="<paramTypes>"])

スクリプト・モード

./wlst.sh createFunction.py -appStripe <appStripeName> 
 -functionName <functionName> [-displayName <displayName>] 
 [-description <description>] –className <className> 
 -returnType <returnType> [-paramTypes <paramTypes>]

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • functionName – 作成する関数の名前。必須。

  • displayName – 関数の表示名。オプション。

  • description – 関数の簡単な説明。オプション。

  • className - 関数が属するクラスの名前。必須。

  • returnType - 関数の戻り型。必須。

  • paramTypes – カンマ(,)で連結されたパラメータのタイプのリスト。指定しない場合、関数は入力としてパラメータを使用しません。オプション。

C.2.13 updateFunction

関数を指定された値で更新します。

対話モード

updateFunction (appStripe="<appStripeName>", functionName="<functionName>"
 [displayName="<displayName>"], [description="<description>"], 
 [className="<className>"], [returnType="<returnType>"], 
 [paramTypes="<paramTypes>"])

スクリプト・モード

./wlst.sh updateFunction.py -appStripe <appStripeName> 
 -functionName <functionName> [-displayName <displayName>] 
 [-description <description>] [–className <className>] 
 [-returnType <returnType>] [-paramTypes <paramTypes>] 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • functionName – 更新する関数の名前。必須。

  • displayName – 関数の表示名。オプション。

  • description – 関数の簡単な説明。オプション。

  • className - 関数が属するクラスの名前。必須。

  • returnType - 関数の戻り型。必須。

  • paramTypes – カンマ(,)で連結されたパラメータのタイプのリスト。指定しない場合、関数のパラメータ・タイプは変更されません。この値が空の文字列の場合、関数は入力パラメータを使用しないように更新されます。オプション。

C.2.14 deleteFunction

指定されたアプリケーションの関数を削除します。

対話モード

deleteFunction (appStripe="<appStripeName>", functionName="<functionName>",
 [cascade="<true/false>"])

スクリプト・モード

./wlst.sh deleteFunction.py -appStripe <appStripeName> 
 -functionName <functionName> [-cascade <true/false>] 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • functionName – 更新する関数の名前。必須。

  • cascade – 削除がカスケードされているかどうかを示すブール値。指定しない場合、値はデフォルトでfalseに設定されます。オプション。

C.2.15 listFunctions

指定されたアプリケーション内のすべての関数をリストします。

対話モード

listFunctions (appStripe="<appStripeName>", [hideBuiltIn="<hideBuiltIn>"]

スクリプト・モード

./wlst.sh listFunctions.py -appStripe <appStripeName> 
 [-hideBuiltIn <hideBuiltIn>]

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • hideBuiltIn – 組込み関数を非表示にするかどうかを示すブール値。値のデフォルトはtrueです。オプション。

C.2.16 getFunction

指定されたアプリケーションの指定された関数の詳細を取得します。

対話モード

getFunction (appStripe="<appStripeName>", functionName="<functionName>")

スクリプト・モード

./wlst.sh getFunction.py -appStripe <appStripeName> 
 -functionName <functionName> 

引数

  • appStripeName – アプリケーション(アプリケーション・ポリシーとも呼ばれます)名。必須。

  • functionName – 取得する関数の名前。

C.3 スクリプトを使用したポリシーの作成

例C-1は、ルール(1つの属性比較と1つの関数起動が行われます)と責任(2つの責任属性が含まれます)を使用する単一ポリシーを作成する方法を示します。

例C-1 ポリシー作成のためのサンプル・スクリプト

createApplicationPolicy(appStripe="jpsWebApp_wlst_test")
createResourceType(appStripe="jpsWebApp_wlst_test", resourceTypeName="resType1",
  provider="myProvider", matcher="myMatcher",
  allowedActions="action1,action2", delimiter=",")
createResourceType(appStripe="jpsWebApp_wlst_test", resourceTypeName="resType2",
  provider="myProvider", matcher="myMatcher",
  allowedActions="action1,action2", delimiter=",")
createResource(appStripe="jpsWebApp_wlst_test",name="res1",type="resType1")
createResource(appStripe="jpsWebApp_wlst_test",name="res2",type="resType2")
createResource(appStripe="jpsWebApp_wlst_test",name="res3",type="resType2")
createAttribute(appStripe="jpsWebApp_wlst_test", attributeName="attr1",
  type="date", category="dynamic")
createAttribute(appStripe="jpsWebApp_wlst_test", attributeName="attr2",
  type="time", category="dynamic")
createAttribute(appStripe="jpsWebApp_wlst_test", attributeName="abc",
  type="int", category="dynamic")
createAttribute(appStripe="jpsWebApp_wlst_test", attributeName="c",
  type="int", category="dynamic")
createAttribute(appStripe="jpsWebApp_wlst_test", attributeName="aString",
  type="string", category="dynamic")
createFunction(appStripe="jpsWebApp_wlst_test", functionName="boolFunction",
  className="com.example.myClassName",
  returnType="oracle.security.jps.service.policystore.info.OpssBoolean")
  paramTypes="oracle.security.jps.service.policystore.infoOpssString,
  oracle.security.jps.service.policystore.info.OpssInteger")
createPolicy(appStripe="jpsWebApp_wlst_test", policyName="policy1",
  ruleExpression="rule1:grant: !(abc > -1162) && (c==2)&& (\"a String\" ==
  aString)", resourceActions="resType1:res1(act1,
  act2),resType2:res2(act1),resType2:res3(act2)",
  principals="admin:com.example.MyPrincipal", obligations="ob3(attr1,str1:\"a 
  String\"),ob4(a2:attr2)", semantic="or"
updatePolicy(appStripe="jpsWebApp_wlst_test", policyName="policy1",
  ruleExpression="rule3:deny:boolFunction(\"abc\",c)",
  resourceActions="-resType2:res3(act2),resType2:res3(act1)",
  obligations="-ob1,email(addr:\"me@mycompany.com\")")
listPolicies(appStripe="jpsWebApp_wlst_test")
deletePolicy(appStripe="jpsWebApp_wlst_test", policyName="policy1")