WebLogic Serverセキュリティ構成では、特別な処理が必要であり、モデル・セマンティクスの必要性が他のフォルダと異なります。 プロバイダの順序付けは重要であり、新しく作成したドメインで順序が正しく設定されていることを確認するために、Create Domain ToolおよびUpdate Domain Toolでは、作成または変更されるプロバイダ・タイプのモデルですべてのプロバイダを指定する必要があります。 たとえば、プロバイダ・タイプAuthenticationProvider
のプロバイダのいずれかを変更する場合、モデルは、すべてのAuthenticationProvider
プロバイダおよびそれらのプロバイダのデフォルト以外の属性を指定する必要があります。 セキュリティ・プロバイダを適用するために、これらのツールはモデルで指定されたプロバイダ・タイプのターゲット・ドメインからすべてのプロバイダを削除してから、モデルからターゲット・ドメインにプロバイダを追加します。 モデルから除外されるプロバイダ・タイプは変更されません。 プロバイダ・タイプの例は、Adjudicator
, AuthenticationProvider
, Authorizer
, CertPathProvider
, CredentialMapper
, PasswordValidator
およびRoleMapper
です。
たとえば、モデルでLDAPAuthenticator
を指定し、次に示すものと同様のLDAPX509IdentityAsserter
を指定すると、DefaultAuthenticator
およびDefaultIdentityAsserter
が削除されます。 この例では、RoleMapper
やCredentialMapper
などの他のプロバイダ・タイプは指定されず、ツールによって変更されません。
topology:
SecurityConfiguration:
Realm:
myrealm:
AuthenticationProvider:
My LDAP authenticator:
LDAPAuthenticator:
ControlFlag: SUFFICIENT
PropagateCauseForLoginException: true
EnableGroupMembershipLookupHierarchyCaching: true
Host: myldap.example.com
Port: 389
UserObjectClass: person
GroupHierarchyCacheTTL: 600
SSLEnabled: true
UserNameAttribute: cn
Principal: 'cn=foo,ou=users,dc=example,dc=com'
UserBaseDn: 'OU=Users,DC=example,DC=com'
UserSearchScope: subtree
UserFromNameFilter: '(&(cn=%u)(objectclass=person))'
AllUsersFilter: '(memberOf=CN=foo,OU=mygroups,DC=example,DC=com)'
GroupBaseDN: 'OU=mygroups,DC=example,DC=com'
AllGroupsFilter: '(&(foo)(objectclass=group))'
StaticGroupObjectClass: group
StaticMemberDNAttribute: cn
StaticGroupDNsfromMemberDNFilter: '(&(member=%M)(objectclass=group))'
DynamicGroupObjectClass: group
DynamicGroupNameAttribute: cn
UseRetrievedUserNameAsPrincipal: true
KeepAliveEnabled: true
GuidAttribute: uuid
My LDAP IdentityAsserter:
LDAPX509IdentityAsserter:
ActiveType: AuthenticatedUser
Host: myldap.example.com
Port: 389
SSLEnabled: true
プロバイダの変更/追加中にDefaultAuthenticator
およびDefaultIdentityAsserter
を保持するには、次の例に示すように、デフォルト以外の属性を使用してモデルで指定する必要があります。 モデル内のプロバイダの順序は、WebLogicセキュリティ構成でプロバイダが設定される順序になることに注意してください。
topology:
SecurityConfiguration:
Realm:
myrealm:
AuthenticationProvider:
My LDAP authenticator:
LDAPAuthenticator:
ControlFlag: SUFFICIENT
PropagateCauseForLoginException: true
EnableGroupMembershipLookupHierarchyCaching: true
Host: myldap.example.com
Port: 389
UserObjectClass: person
GroupHierarchyCacheTTL: 600
SSLEnabled: true
UserNameAttribute: cn
Principal: 'cn=foo,ou=users,dc=example,dc=com'
UserBaseDn: 'OU=Users,DC=example,DC=com'
UserSearchScope: subtree
UserFromNameFilter: '(&(cn=%u)(objectclass=person))'
AllUsersFilter: '(memberOf=CN=foo,OU=mygroups,DC=example,DC=com)'
GroupBaseDN: 'OU=mygroups,DC=example,DC=com'
AllGroupsFilter: '(&(foo)(objectclass=group))'
StaticGroupObjectClass: group
StaticMemberDNAttribute: cn
StaticGroupDNsfromMemberDNFilter: '(&(member=%M)(objectclass=group))'
DynamicGroupObjectClass: group
DynamicGroupNameAttribute: cn
UseRetrievedUserNameAsPrincipal: true
KeepAliveEnabled: true
GuidAttribute: uuid
My LDAP IdentityAsserter:
LDAPX509IdentityAsserter:
ActiveType: AuthenticatedUser
Host: myldap.example.com
Port: 389
SSLEnabled: true
DefaultAuthenticator:
DefaultAuthenticator:
ControlFlag: SUFFICIENT
DefaultIdentityAsserter:
DefaultIdentityAsserter:
Trust Identity Asserterセキュリティ・プロバイダは、12cバージョン以降でJRFによってインストールされています。
JRFインストール済のTrust Identity Asserterは、デフォルトではスキーマ・ファイルを提供しません。 WLSTをオフラインまたはWDTをオフラインで構成する前に、まずprepareCustomProvider
スクリプトを使用してスキーマ・ファイルを作成する必要があります。
MBean Jar File (MJF)からスキーマ・ファイルを準備およびインストールする方法の例を次に示します:
$ export CONFIG_JVM_ARGS=-DSchemaTypeSystemName=TrustServiceIdentityAsserter
$ ORACLE_HOME/oracle_common/common/bin/prepareCustomProvider.sh -mjf=ORACLE_HOME/oracle_common/modules/oracle.jps/jps-wls-trustprovider.jar -out ORACLE_HOME/oracle_common/lib/schematypes/jps-wls-trustprovider.schema.jar
FMWバージョン12.1.2および12.1.3の場合、前述のパス例のoracle.jps
を置換: oracle.jps_12.1.2, or oracle.jps_12.1.3, respectively.
カスタム・セキュリティ・プロバイダを使用したドメインの作成および更新は、WebLogicバージョン12.1.2以降に制限されます。
このツールを使用してカスタム・セキュリティ・プロバイダでドメインを作成または更新する前に、いくつかの前提条件があります。 まず、WebLogic Serverでは、カスタムMBean JARをOracle Homeディレクトリに構成する前に、WLSERVER/server/lib/mbeantypes
が必要です。 次に、WebLogic Scripting Tool、WLSTでは、WLSTオフラインを使用してスキーマJARを検出または構成する前に、スキーマJARをOracle Homeディレクトリに配置する必要があります(ORACLEHOME/oracle_common/lib/schematypes
)。 MBean JARドキュメントの生成は、WebLogic Server 「ドキュメント」にあります。 スキーマJARの生成は、WebLogic Serverインストールで提供されているprepareCustomProvider
スクリプトで実行できます。
MBean JARの場合、WLSTオフラインでは、システム・プロパティ-Dfmwconfig.alternateTypesDirectory=dir
を使用して、WLSERVER/server/lib/mbeantypes
以外の代替ディレクトリを定義できます。 WebLogic MBeanスキーマ・タイプJARの場合、-Dfmwconfig.alternateSchemaDirectory=dir
を使用して別のロケーションを使用できます。 ドメインの検出または作成時にWLSTオフラインでカスタム・プロバイダJARを正しくロードするには、このシステム・プロパティをWLSDEPLOY_PROPERTIES
環境変数に設定します。 どちらのプロパティも、対応するタイプのjarを含むディレクトリへのパスのカンマ区切りリストを取ります。
-Dfmwconfig.alternateTypesDirectory=dir
および-Dfmwconfig.alternateSchemaDirectory=dir
システム・プロパティを使用してドメインを作成する場合は、WebLogic Serverサーバーの起動環境に-Dweblogic.alternateTypesDirectory=dir
および-Dweblogic.alternateSchemaDirectory=dir
システム・プロパティを指定する必要があります。 ドメイン内のすべての管理対象サーバーと管理サーバーでは、これらの代替ロケーションからカスタム・セキュリティ・プロバイダを検索、ロードおよび構成するために、これらのプロパティが必要です。
カスタム・セキュリティ・プロバイダの形式は、組込みプロバイダとは若干異なります。カスタム・プロバイダは、プロバイダ名とプロバイダの属性の間で、モデル内のプロバイダのクラスの完全修飾名を指定する必要があります。 生成されたImplサフィクスは名前から省略されます。 次のカスタムCredentialMapper
の例では、モデル' examples.security.providers.SampleCredentialMapper 'のロケーションに注意してください:
CredentialMapper:
Sample CredentialMapper:
examples.security.providers.SampleCredentialMapper:
UserNameMapperClassName: examples.security.providers.CredentialMapperProviderImpl
CredentialMappingDeploymentEnabled: true
Adjudicator
プロバイダ・タイプを追加または変更できません。PasswordCredentials
プロバイダ・タイプは、WLSTオンラインでは更新できません。