179.7. 機密情報の隠蔽
Camel 2.12 以降で利用可能
デフォルトでは、Camel は URI を使用して設定されたエンドポイントなどの MBean を JMX に登録します。この設定では、パスワードなどの機密情報が含まれる場合があります。
この情報は、以下に示すように mask
オプションを有効にすることで非表示にすることができます。
Java DSL を使用して、次のようにしてこれをオンにします。
// only enable routes when Camel starts context.getManagementStrategy().getManagementAgent().setMask(true);
そして、Spring DSL から次のことを行います。
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="agent" mask="true"/> ... </camelContext>
これにより、パスワードやパスフレーズなどのオプションを持つ URI がマスクされ、代わりの値として xxxxxx
が使用されます。
179.7.1. マスクする JMX 属性と操作の宣言
org.apache.camel.api.management.ManagedAttribute
および org.apache.camel.api.management.ManagedOperation
では、属性 mask
を true
に設定して、この JMX 属性/操作の結果をマスクする必要があることを示すことができます (JMX エージェントで有効化されています。上記を参照してください)。
たとえば、camel-core org.apache.camel.api.management.mbean.ManagedEndpointMBean
のデフォルトのマネージドエンドポイントでは、EndpointUri
JMX 属性がマスクされていると宣言しています。
@ManagedAttribute(description = "Endpoint URI", mask = true) String getEndpointUri();