Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMule 4 では、Spring セキュリティ LDAP プロバイダーを使用して、コンポーネントの認証を実行するか、または Spring Module 経由で Mule セキュリティプロバイダーとして使用できます。LDAP プロバイダーを設定する前に Spring JAR ファイルを入手して Spring Bean を宣言してください。
Mule ソフトウェアディストリビューションの <distribution>/lib/opt
ディレクトリに、必要な Spring JAR ファイルが入っています。
spring-ldap-core-2.3.2.RELEASE.jar
spring-security-config-4.2.6.RELEASE.jar
spring-security-core-4.2.6.RELEASE.jar
spring-security-ldap-4.2.6.RELEASE.jar
spring-security-web-4.2.6.RELEASE.jar
DefaultSpringSecurityContextSource クラスが LDAP コンテキストを取得するためのアクセスポイントとなります。
DefaultSpringSecurityContextSource
の Spring Bean は、resources フォルダーの個別の beans.xml
ファイルで宣言する必要があります。
たとえば、ユーザーを検索して認証するために、Spring セキュリティ認証プロバイダーで使用する LDAP コンテキストソースをセットアップする必要があります。また、次のコードサンプルに示すように、ldap-authentication-provider
クラスが埋め込まれた authentication-manager
インターフェースを定義する必要もあります。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:ss="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans
...
http://www.springframework.org/schema/security/spring-security-4.2.xsd">
<bean id="ldapContextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<constructor-arg value="ldap://localhost:389"/>
<property name="userDn" value="cn=admin,dc=example,dc=org"/>
<property name="password" value="admin"/>
</bean>
<ss:authentication-manager alias="ldapAuthManager">
<ss:ldap-authentication-provider
server-ref="ldapContextSource"
user-search-base="DC=example,DC=org"
user-search-filter="(uid={0})"
group-search-base="DC=example,DC=org"
group-search-filter="({0})"
group-role-attribute="ou"
/>
</ss:authentication-manager>
</beans>
SpringSecurityProviderAdapter
は、LdapAuthenticationProvider
のような AuthenticationProvider
に認証プロセスを委任します。Mule セキュリティプロバイダーを設定するには、1 つ以上のセキュリティプロバイダーを必要とする Mule のコネクタレベルのセキュリティや他のセキュリティ機能の設定方法を示した次の例を参考にしてください。
<spring:config name="Spring_Config" files="beans.xml" />
<spring:security-manager>
<spring:delegate-security-provider name="ldap-provider" delegate-ref="ldapAuthManager" />
</spring:security-manager>
次の設定例では、基本 HTTP セキュリティ検索条件を参照しています。
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<spring:config name="Spring_Config" files="beans.xml" />
<spring:security-manager>
<spring:delegate-security-provider name="ldap-provider" delegate-ref="ldapAuthManager" />
</spring:security-manager>
<flow name="secureFlow">
<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/test" />
<http:basic-security-filter doc:name="Basic security filter" securityProviders="#[['ldap-provider']]" realm="mule-realm"/>
<ee:transform doc:name="Transform Message">
<ee:message>
<ee:set-payload><![CDATA[%dw 2.0
output application/json
---
{
"status": "ok"
}]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>