Oracle Identity Federationサーバーの基礎となる構成は複数のMBeanにより管理されています。構成データは次の3つのファイルに格納されています。
config.xml
: サーバー全体の構成が格納されます。
cot.xml
: プロバイダ固有の構成が格納されます。
datastore.xml
: バックエンドのデータ・ストアの構成が格納されます。
この付録では、各MBeanの機能および対応する構成ファイルの要素について説明します。内容は次のとおりです。
FederationConfig
、Config
、PropertiesMap
およびPropertiesList
MBeanが、config.xml
内でサーバー全体の構成を管理します。
この項では、FederationConfigMXBean
および対応するFederationConfig
要素について説明します。
FederationConfigMXBean
は、Config
要素のシーケンスおよび対応するConfigMXBean
のライフサイクルを管理します。次の操作を公開します。
createEmptyConfig: 名前が指定されると、新しいConfig
要素および対応するConfigMXBean
を作成します。名前にはnullまたは空の文字列は指定できません。また、名前はこのFederationConfig
内のすべてのConfig
要素で一意である必要があります。
destroyConfig: 名前が指定されると、指定された名前のConfig
要素を破棄し、対応するConfigMXBean
を登録解除します。
hasConfig: 名前が指定されると、このFederationConfig
に指定された名前のConfig
要素が存在する場合にのみ、true
を返します。
retrieveConfig: 名前が指定されると、指定されたConfig
要素に対応するConfigMXBean
の、MBeanサーバーに登録されているObjectName
を返します。
retrieveConfigs: 名前が指定されると、すべての子Config
要素に対応するConfigMXBean
の、MBeanサーバーに登録されているObjectName
を返します。
FederationConfig
は、config.xml
ファイルの最上位要素です。Config
要素のシーケンスを含みます。
<fed:FederationConfig xmlns:fed="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd"> <fed:Config name="serverconfig"> … </fed:Config> <fed:Config name="idpglobal"> … </fed:Config> … </fed:FederationConfig>
この項では、ConfigMXBean
および対応するConfig
要素について説明します。
ConfigMXBean
は、プロパティの追加、削除および取得を管理し、対応するPropertiesListMXBean
およびPropertiesMapMXBean
のライフサイクルを管理することにより、その子PropertiesList
およびPropertiesMap
を管理します。次の操作を公開します。
要素名の取得
プロパティの取得、追加および削除
PropertiesListMXBean
のライフサイクル管理
PropertiesMapMXBean
のライフサイクル管理
要素名の取得
getName
は対応するConfig
要素の名前を取得します。
プロパティの取得、追加および削除
プロパティの追加、削除および取得を管理する操作は次のとおりです。
hasProperty: 名前が指定されると、このConfig
に指定された名前のProperty
が存在する場合にのみ、true
を返します。
putProperty: 名前、値およびタイプが指定されると、指定された名前、値およびタイプでProperty
をこのConfig
に追加します。
指定された名前のProperty
がすでに存在する場合は、既存のプロパティの値とタイプを指定された値とタイプに設定します。ただし、指定された名前のProperty
がすでに存在する場合は、指定されたタイプは、既存のプロパティのタイプと一致する必要があります。
どちらの場合も、タイプはstring
、boolean
またはlong
のいずれかであり、値は指定したタイプのものでなければなりません。名前はnull
または空の文字列にはできません。
removeAllProperties: このConfig
内のすべてのProperty
要素を削除します。
removeProperty: 名前が指定されると、このConfig
から指定された名前のProperty
を削除します。
retrievePropertyType: 名前が指定されると、このConfig
内の指定された名前のProperty
のタイプを返します。
retrievePropertyValue: 名前が指定されると、このConfig
内の指定された名前のProperty
の値を返します。
PropertiesListMXBeanのライフサイクルの管理
PropertiesListMXBean
のライフサイクルを管理する操作は次のとおりです。
createPropertiesList: 名前が指定されると、新しいPropertiesList
要素と対応するPropertiesListMXBean
を作成します。名前にはnull
または空の文字列は指定できず、また名前はこのConfig
内のすべてのPropertiesList
要素にわたって一意である必要があります。
destroyAllPropertiesLists: すべてのPropertiesList
要素を破棄し、対応するPropertiesListMXBean
を登録解除します。
destroyPropertiesList: 名前が指定されると、このConfig
内の指定された名前のPropertiesList
要素を破棄し、対応するPropertiesListMXBean
を登録解除します。
hasPropertiesList: 名前が指定されると、このConfig
に指定された名前のPropertiesList
が存在する場合にのみ、true
を返します。
retrieveAllPropertiesLists: すべての子PropertiesList
要素に対応するPropertiesListMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
retrievePropertiesList: 名前が指定されると、このConfig
内の指定された名前のPropertiesList
要素に対応するPropertiesListMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
PropertiesMapMXBeanのライフサイクル管理
PropertiesMapMXBean
のライフサイクルを管理する操作は、子PropertiesListMXBean
のライフサイクルを管理する操作と同じです。
Config要素は、名前属性と、Property
、PropertiesList
およびPropertiesMap
子要素を持ちます。
<fed:FederationConfig xmlns:fed="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd"> <fed:Config name="serverconfig"> … </fed:Config> <fed:Config name="idpglobal"> <fed:Property name="providerid" type="string"> http://node1.us.example.com:1234/fed/idp</fed:Property> <fed:Property name="lib11enabled" type="boolean">true</fed:Property> <fed:PropertiesList name="sendattributefornameid"> … </fed:PropertiesList> <fed:PropertiesMap name="attr-value-filters"> … </fed:PropertiesMap> <fed:PropertiesMap name="attr-value-mappings"> … </fed:PropertiesMap> </fed:Config> … </fed:FederationConfig>
この項では、PropertiesListMXBean
および対応するPropertiesList
要素について説明します。
PropertiesListMXBean
は、指定された索引にあるプロパティの追加、削除および取得を管理します。次の操作を公開します。
addProperty(オーバーロード): 値、タイプおよび索引が指定されると、指定された索引で指定された名前とタイプのProperty
を追加します。タイプはstring、booleanまたはlongのいずれかであり、値は指定したタイプのものでなければなりません。
addProperty(オーバーロード): 値およびタイプが指定されると、このPropertiesList
の最後に、指定された名前とタイプのProperty
を追加します。タイプはstring、booleanまたはlongのいずれかであり、値は指定したタイプのものでなければなりません。
getName: このPropertiesList
の名前を返します。
hasPropertyValue: 値が指定されると、このPropertiesList
に指定された値のProperty
が存在する場合にのみ、true
を返します。
indexOf: 値が指定されると、指定された値を持つ最初のProperty
の索引を、またはこのPropertiesList
内のいずれのProperty
もこの値を持たない場合は-1を返します。
removeAllProperties: このPropertiesList
からすべてのProperty
要素を削除します。
removeProperty(オーバーロード): 索引が指定されると、指定された索引にあるProperty
要素を削除します。
removeProperty(オーバーロード): 値が指定されると、指定された値を持つ最初のProperty
要素を削除します。
retrieveAllPropertyValues: このPropertiesList内のProperty要素の値を含むリストを返します。値は、Property要素の表示順と同じ順序で返されます。
retrieveNumberOfProperties: このPropertiesList内のProperty
の数を返します。
retrievePropertyType: 索引が指定されると、指定された索引にあるProperty
要素のタイプを返します。
retrievePropertyValue: 索引が指定されると、指定された索引にあるProperty
要素の値を返します。
PropertiesList
は、名前属性と、Property
子要素を持ちます。PropertiesList
内のProperty
要素には名前はありません。
<fed:FederationConfig xmlns:fed="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd"> <fed:Config name="serverconfig"> … </fed:Config> <fed:Config name="idpglobal"> … </fed:Config> <fed:Config name="idpliberty11"> <fed:PropertiesList name="ssobindings"> <fed:Property type="string">artifact</fed:Property> <fed:Property type="string">httppost</fed:Property> </fed:PropertiesList> <fed:PropertiesList name="authnreqbindings"> <fed:Property type="string">httppost</fed:Property> <fed:Property type="string">httpredirect</fed:Property> </fed:PropertiesList> … </fed:Config> … </fed:FederationConfig>
この項では、PropertiesMapMXBean
および対応するPropertiesMap
要素について説明します。
PropertiesMapMXBean
は、プロパティの追加、削除および取得を管理し、対応するPropertiesListMXBean
およびPropertiesMapMXBean
のライフサイクルを管理することにより、その子PropertiesList
およびPropertiesMap
を管理します。ConfigMXBean
と同じ操作に加え、次の追加の操作を公開します。
retrieveAllPropertyNames: このPropertiesMap
内のProperty
要素の名前を含むリストを返します。
PropertiesMap
要素は、名前属性と、Property
、PropertiesList
およびPropertiesMap
子要素を持ちます。
<fed:FederationConfig xmlns:fed="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd"> … <fed:Config name="fedusersearch"> <fed:PropertiesMap name="fedldap"> <fed:Property name="includesearchattrs" type="boolean">true</fed:Property> <fed:Property name="defaultsorton" type="string">orclFedOwnerGUID</fed:Property> <fed:PropertiesList name="defaultsearch"> … </fed:PropertiesList> <fed:PropertiesList name="defaultdisplay"> … </fed:PropertiesList> <fed:PropertiesMap name="displaynames"> … </fed:PropertiesMap> </fed:PropertiesMap> … </fed:Config> … </fed:FederationConfig>
CircleOfTrust
およびPeerProvider
MBeanが、cot.xml
内でプロバイダ固有の構成をサポートします。
この項では、CircleOfTrustMXBean
および対応するCircleOfTrust
要素について説明します。
CircleOfTrustMXBean
は、PeerProvider
要素のシーケンスおよび対応するPeerProviderMXBean
のライフサイクルを管理します。次の操作を公開します。
createPeerProvider: 説明、プロバイダID、プロバイダ・タイプおよびバージョンが指定されると、新しいPeerProvider
要素と対応するPeerProviderMXBean
を作成します。いずれのパラメータもnull
にすることはできません。また、プロバイダID、プロバイダ・タイプおよびバージョンに空の文字列は使用できません。指定されたプロバイダIDのPeerProvider
がすでに存在する場合は、既存のプロバイダは破棄され、新しいプロバイダで置き換えられます。
destroyPeerProvider: プロバイダIDが指定されると、このCircleOfTrust
内の指定されたプロバイダIDのPeerProvider
要素を破棄し、対応するPeerProviderMXBean
をMBeanサーバーから登録解除します。
hasPeerProvider: プロバイダIDが指定されると、このCircleOfTrust
に指定されたプロバイダIDのPeerProvider
要素が存在する場合にのみ、true
を返します。
loadMetadata: ピア・プロバイダのメタデータを含む文字列
が指定されると、メタデータ内の情報を使用して新しいPeerProvider
要素を作成し、対応するPeerProviderMXBean
を作成します。メタデータをnull
にすることはできません。またXMLフォーマットである必要があります。さらに、メタデータはSAML 1.x、SAML 2.0またはLiberty 1.x仕様に準拠する必要があります。
retrievePeerProvider: プロバイダIDが指定されると、このCircleOfTrust
内の指定されたプロバイダIDのPeerProvider
要素に対応するPeerProviderMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
retrievePeerProviders: すべての子PeerProvider
要素に対応するPeerProviderMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
CircleOfTrust
は、cot.xml
ファイルの最上位要素です。PeerProvider
要素のシーケンスを含みます。
<CircleOfTrust xmlns="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd"> … <PeerProvider version="SAML1.0" succinctID="Iyrw+aKYfAkLFKROZCE2qe2w0Qk=" providerType="idp" providerID="http://node2.us.example.com:1234/fed/idp" description=""> … </PeerProvider> <PeerProvider version="SAML2.0" succinctID="AZh2wC8biWp6uPwO4KgKLY82EQ8=" providerType="idp" providerID="http://node3.us.example.com:1234/fed/idp" description=""> … </PeerProvider> … </CircleOfTrust>
この項では、PeerProviderMXBean
および対応するPeerProvider
要素について説明します。
PeerProviderMXBean
は、属性およびMetadata
要素のテキスト内容の取得と設定を管理します。また、Config
要素の対応するConfigMXBean
のライフサイクルも管理します。次の操作を公開します。
属性の取得と設定
子Metadata
要素の取得と設定
子ConfigMXBean
のライフサイクル管理
属性の取得と設定
属性を取得および設定する操作は次のとおりです。
get/setDescription: 説明属性の値を取得または設定します。値としてnull
は設定できません。
getProviderID: プロバイダID属性の値を取得します。
get/setProviderType: プロバイダ・タイプ属性の値を取得または設定します。値としてnull
または空の文字列は設定できません。
get/setVersion: バージョン属性の値を取得または設定します。値としてnull
または空の文字列は設定できません。
get/setSuccinctID: 簡潔なID属性の値を取得または設定します。値としてnull
または空の文字列は設定できません。
子Metadata要素の取得と設定
Metadata
要素を取得および設定する操作は次のとおりです。
retrieveMetadata: このピア・プロバイダのメタデータをXMLフォーマットで含む文字列
を返します。
updateMetadata: メタデータを含む文字列
が指定されると、このピア・プロバイダのMetadata
要素のテキスト値を指定されたメタデータに設定します。指定されるメタデータは、XMLフォーマットである必要があります。
子ConfigMXBeanのライフサイクル管理
retrieveConfig
は、このPeerProvider
内のConfig
要素に対応するConfigMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
PeerProvider
要素は次の属性を持ちます。説明、プロバイダID、プロバイダ・タイプ、バージョンおよび簡潔なID。また子要素として、1つのMetadata
要素および1つのConfig
要素も持ちます。
<CircleOfTrust xmlns="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd"> … <PeerProvider version="SAML2.0" succinctID="AZh2wC8biWp6uPwO4KgKLY82EQ8=" providerType="idp" providerID="http://node3.us.example.com:1234/fed/idp" description=""> <Metadata> … <Metadata> <Config name="http://node2.us.example.com:1234/fed/idp"> … </Config> </PeerProvider> … </CircleOfTrust>
Datastore
およびDiscoveryProvider
MBeanが、data-store.xml
内でデータ・ストアの構成を管理します。
この項では、DatastoreMXBean
および対応するdatastore要素について説明します。
DatastoreMXBean
はdefaultPackage
属性の取得を管理し、また対応するDiscoveryProviderMXBean
を制御することによりDiscoveryProvider
要素のシーケンスも管理します。次の操作を公開します。
getDefaultPackage: defaultPackage
属性の値を返します。
createDiscoveryProvider: タイプ、セッター、クラス名および依存先が指定されると、新しいDiscoveryProvider
要素および対応するDiscoveryProviderMXBean
を作成します。いずれのパラメータもnull
にすることはできません。また、クラス名およびセッターに空の文字列は使用できません。タイプは、このdatastore内のすべてのDiscoveryProvider
要素にわたって一意である必要があります。
destroyDiscoveryProvider: タイプが指定されると、指定されたタイプのDiscoveryProvider
要素を破棄し、対応するDiscoveryProviderMXBean
を登録解除します。
hasDiscoveryProvider: タイプが指定されると、このdatastoreに指定されたタイプのDiscoveryProvider
が存在する場合にのみtrue
を返します。
retrieveDiscoveryProvider: タイプが指定されると、このdatastore内の指定されたタイプのDiscoveryProvider
に対応するDiscoveryProviderMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
retrieveDiscoveryProviders: すべての子DiscoveryProvider
要素に対応するDiscoveryProviderMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
datastore
は、data-store.xml
ファイルの最上位要素です。defaultPackage
属性を持ち、DiscoveryProvider
要素のシーケンスを含みます。
<datastore xmlns="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd" defaultPackage="oracle.security.fed.jvt.discovery.model"> <DiscoveryProvider type="ActiveIdentityProviderFederationDiscovery"> … </DiscoveryProvider> <DiscoveryProvider type="ActiveServiceProviderFederationDiscovery"> … </DiscoveryProvider> … <DiscoveryProvider type="ConfigurationDiscovery"> … </DiscoveryProvider> … </datastore>
この項では、DiscoveryProviderMXBean
および対応するDiscoveryProvider
要素について説明します。
DiscoveryProviderMXBean
は、属性およびClassName
要素のテキスト内容の取得と設定を管理します。また、対応するDiscoveryProviderMXBean
を管理することにより、子Dependencies
要素内のDiscoveryProvider
要素のシーケンスも管理します。次の操作を含みます。
属性の取得と設定の管理
子ClassName
要素の取得と設定の管理
孫DiscoveryProviderMXBean
のライフサイクルの管理
属性の取得と設定
属性を取得および設定する操作は次のとおりです。
getDependsOn: dependsOn
属性の値を返します。
getSetter: setter属性の値を返します。
getType: type属性の値を返します。
子ClassName要素の取得と設定
子ClassName
要素を取得および設定する操作は次のとおりです。
changeClassNameTo: クラス名が指定されると、ClassName
要素のテキスト値を指定されたクラス名に設定します。クラス名にはnull
または空の文字列は使用できません。
retrieveClassName: このDiscoveryProvider
のClassName
要素のテキスト値を返します。
孫DiscoveryProviderMXBeanのライフサイクルの管理
DiscoveryProviderMXBean
のライフサイクルを管理する操作は次のとおりです。
createDiscoveryProviderDependency: セッター、クラス名および依存先が指定されると、このDiscoveryProvider
の子Dependencies
要素内に、指定されたセッター、クラス名、依存先およびこのDiscoveryProvider
のタイプで、新しいDiscoveryProvider
要素を作成します。また、対応するDiscoveryProviderMXBean
も作成します。
destroyDiscoveryProviderDependency: セッターが指定されると、このDiscoveryProvider
のDependencies
内の指定されたセッターのDiscoveryProvider
要素を破棄し、対応するMBeanをMBeanサーバーから登録解除します。
hasDiscoveryProviderDependency: セッターが指定されると、このDiscoveryProvider
のDependencies
に指定されたセッターのDiscoveryProvider
が存在する場合にのみtrueを返します。
retrieveDiscoveryProviderDependencies: このDiscoveryProvider
のDependencies
内のすべての子DiscoveryProvider
要素に対応するDiscoveryProviderMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
retrieveDiscoveryProviderDependency: セッターが指定されると、このDiscoveryProvider
のDependencies
内の指定されたセッターのDiscoveryProvider
要素に対応するDiscoveryProviderMXBean
に対してMBeanサーバーに登録されているObjectName
を返します。
DiscoveryProvider
要素は、type、setterおよびdependsOn属性を持ちます。また子要素として、1つのClassName
要素および1つのDependencies
要素も持ちます。Dependencies
要素は、DiscoveryProvider
要素のシーケンスを含みます。
<datastore xmlns="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd" defaultPackage="oracle.security.fed.jvt.discovery.model"> … <DiscoveryProvider type="ConfigurationDiscovery"> <ClassName> oracle.security.fed.jvt.discovery.model.config.ChainingConfigDiscoveryProvider </ClassName> <Dependencies> <DiscoveryProvider type="ConfigurationDiscovery" setter="setConfigurationDiscovery"> … </DiscoveryProvider> … </Dependencies> </DiscoveryProvider> … </datastore>
Oracle Identity Federationスキーマは次のとおりです。
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:fed="http://xmlns.oracle.com/fed/schema/oif-11_2.xsd"> <xsd:element name="FederationConfig" type="fed:FederationConfigType"/> <xsd:complexType name="FederationConfigType"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="fed:Config"/> </xsd:sequence> </xsd:complexType> <xsd:element name="Config" type="fed:ConfigType"/> <xsd:complexType name="ConfigType"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="fed:Property"/> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="fed:PropertiesList"/> <xsd:element ref="fed:PropertiesMap" maxOccurs="unbounded" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="name" use="required" type="xsd:string"/> </xsd:complexType> <xsd:element name="Property" type="fed:PropertyType"/> <xsd:complexType name="PropertyType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="name" use="required" type="xsd:string"/> <xsd:attribute name="type" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:element name="PropertiesList" type="fed:PropertiesListType"/> <xsd:complexType name="PropertiesListType"> <xsd:choice> <xsd:element ref="fed:Property" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> <xsd:attribute name="name" use="required" type="xsd:string"/> </xsd:complexType> <xsd:element name="PropertiesMap" type="fed:PropertiesMapType"/> <xsd:complexType name="PropertiesMapType"> <xsd:choice> <xsd:element ref="fed:Property" maxOccurs="unbounded" minOccurs="0"/> <xsd:element ref="fed:PropertiesList" maxOccurs="unbounded" minOccurs="0"/> <xsd:element ref="fed:PropertiesMap" maxOccurs="unbounded" minOccurs="0"/> </xsd:choice> <xsd:attribute name="name" use="required" type="xsd:string"/> </xsd:complexType> <xsd:element name="CircleOfTrust" type="fed:CircleOfTrustType"/> <xsd:complexType name="CircleOfTrustType"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="fed:PeerProvider"/> </xsd:sequence> </xsd:complexType> <xsd:element name="PeerProvider" type="fed:PeerProviderType"/> <xsd:complexType name="PeerProviderType"> <xsd:sequence> <xsd:element ref="fed:Metadata"/> <xsd:element ref="fed:Config"/> </xsd:sequence> <xsd:attribute name="providerID" type="xsd:string" use="required"/> <xsd:attribute name="succinctID" type="xsd:string" use="required"/> <xsd:attribute name="description" type="xsd:string"/> <xsd:attribute name="providerType" type="xsd:string" use="required"/> <xsd:attribute name="version" type="xsd:string" use="required"/> </xsd:complexType> <xsd:element name="Metadata" type="fed:MetadataType"/> <xsd:complexType name="MetadataType"> <xsd:simpleContent> <xsd:extension base="xsd:string"/> </xsd:simpleContent> </xsd:complexType> <xsd:element name="datastore" type="fed:datastoreType"/> <xsd:complexType name="datastoreType"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="fed:DiscoveryProvider"/> </xsd:sequence> <xsd:attribute name="defaultPackage" type="xsd:string" use="required"/> </xsd:complexType> <xsd:element name="DiscoveryProvider" type="fed:DiscoveryProviderType"/> <xsd:complexType name="DiscoveryProviderType"> <xsd:sequence> <xsd:element ref="fed:ClassName"/> <xsd:element ref="fed:Dependencies"/> </xsd:sequence> <xsd:attribute name="type" use="required" type="xsd:string"/> <xsd:attribute name="setter" type="xsd:string"/> <xsd:attribute name="dependsOn" type="xsd:string"/> </xsd:complexType> <xsd:element name="ClassName" type="fed:ClassNameType"/> <xsd:complexType name="ClassNameType"> <xsd:simpleContent> <xsd:extension base="xsd:string"/> </xsd:simpleContent> </xsd:complexType> <xsd:element name="Dependencies" type="fed:DependenciesType"/> <xsd:complexType name="DependenciesType"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="fed:DiscoveryProvider"/> </xsd:sequence> </xsd:complexType>
この項では、MBeanサーバーにリモート・アクセスし、MBeanに対して操作を実行する方法について説明します。
MBeanサーバーにリモートからアクセスする場合には、いくつかの変数を定義する必要があります。
HOSTNAME: Oracle Identity Federationがデプロイされているマシンのホスト名
PORT: Oracle Identity Federationのリスニング・ポート
USERNAMEとPASSWORD: 管理者のユーザー名とパスワード
次のコードは、MBeanサーバーにリモート・アクセスする方法を示しています。このコードを実行するには、クラスパス内に次のライブラリが必要です。
WL_HOME/server/lib/weblogic.jar
WL_HOME/server/lib/wljmxclient.jar
WL_HOME/server/lib/wlclient.jar
MBeanServerConnection mbs = null; try{ JMXServiceURL url = new JMXServiceURL ("t3", HOSTNAME, Integer.parseInt(PORT), "/jndi/weblogic.management.mbeanservers.runtime"); HashMap<String, Object> env = new HashMap<String,Object>(); env.put(javax.naming.Context.SECURITY_PRINCIPAL, USERNAME); env.put(javax.naming.Context.SECURITY_CREDENTIALS, PASSWORD); env.put(javax.management.remote.JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote"); JMXConnector connector = JMXConnectorFactory.connect(url, env); mbs = connector.getMBeanServerConnection(); } catch(Exception e){ //should log exception throw new RuntimeException(e.toString(), e); }
最上位のOracle Identity Federation構成MBeanは、表A-1に示す、ObjectName
のグローバル/変換バージョンで登録されます(ObjectName
は名前の衝突を防ぐために変換されます)。
表A-1 Oracle Identity Federation構成MBeanのObjectName
構成MBean | ObjectName |
---|---|
FederationConfig |
com.oracle.security.fed:type=OIFConfigMBean,name=ServerConfig |
CircleOfTrust |
com.oracle.security.fed:type=OIFConfigMBean,name=CircleOfTrust |
Datastore |
com.oracle.security.fed:type=OIFConfigMBean,name=Datastore |
MBeanのグローバル/変換ObjectName
の検索には、問合せを使用します。FederationConfigMXBean
のObjectName
を検索するための問合せの例を示します。
String fedObjNameQueryString = "com.oracle.security.fed:name=ServerConfig,type=OIFConfigMBean,*"; Set s = mbs.queryNames(new ObjectName(fedObjNameQueryString), null); ObjectName FED_CONFIG_OBJ_NAME = null; if(s != null && !s.isEmpty()) FED_CONFIG_OBJ_NAME = (ObjectName)s.iterator().next(); else{ //should log exception throw new RuntimeException("Cannot find FedConfigMBean"); }
MBeanServerConnection
のinvoke
メソッドを使用して、これらのMBeanを直接操作できます。
関連項目:
|
FederationConfigMXBean
でretrieveConfig
操作を呼び出す例を示します。
try { ObjectName configObjName = (ObjectName)mbs.invoke(FED_CONFIG_OBJ_NAME, "retrieveConfig", new Object[]{configName}, new String[]{String.class.getName()}); } catch(Exception e){ //should log exception throw new RuntimeException(e.toString(), e); }
ConfigMXBean
のObjectName
の取得後、操作を同様の方法で実行できます。たとえば、新しいプロパティを追加するには、次のようにします。
try { String previousValue = (String)mbs.invoke(configObjName, "putProperty", new Object[]{propertyName, propertyValue, propertyType}, new String[]{String.class.getName(), String.class.getName(), String.class.getName()}); } catch(Exception e){ //should log exception throw new RuntimeException(e.toString(), e); }
Oracle Identity Federation MBeans API(javadoc)は次のページから入手できます。
Oracle Fusion Middleware Oracle Identity Federation構成MBean Java APIリファレンス