Flex Gateway新着情報
Governance新着情報
Monitoring API Managerアプリケーションをデプロイすると、アプリケーションによって公開された追跡対象のリソースが、セキュリティの短い空白時間のためにアクセス可能になる場合があります。これらのリソースにはポリシーがまだ適用されていないため、API は不要なトラフィックを受け取ることがあります。ゲートキーパーは、すべてのポリシーがエラーなく取得されて適用されるまで追跡対象リソースをブロックしてこの状況を回避します。
CloudHub 4.2.2 以降、ポリシーでコントラクトが必要な場合、およびゲートキーパーが有効になっている場合に、Mule Runtime Engine (Mule) は API のコントラクトが管理プレーンから正常にダウンロードされるまで API をブロックし続けます。ゲートキーパーは、API のブロックを解除するコントラクトが使用可能になるまで待機します。
以前のバージョンの Mule では、ランタイムがすべてのポリシーを正常に適用した後に API のブロックが解除されていました。たとえば、API にクライアント ID 適用ポリシーが適用されている場合、有効なログイン情報を含む要求が拒否されていました。
この CloudHub の更新は、strict
および flexible
ゲートキーパーモードと同じように動作します。Mule の再起動前後にコントラクトサービスからダウンロードされたコントラクトは、使用可能とみなされます。
コントラクトが必要な可能性がある標準のポリシーを次に示します。
ゲートキーパーメカニズムは、ランタイムを再起動した場合、または自動検出によって API インスタンスにリンクされた追跡対象リソースを再デプロイした場合にのみ適用されます。ゲートキーパーが適用されると、API Manager ですべての API インスタンスポリシーがエラーなく適用されるまで、追跡対象の各リソースがブロックされ、503 - Service Unavailable
HTTP 状況コードが返されます。
自動検出時に API インスタンスにリンクされていないリソースは、ゲートキーパーでは無視されます。また、これらのリソースにはポリシーを適用することはできず、分析情報も生成されません。Mule インスタンスの再起動後または追跡対象の Mule アプリケーションの再デプロイ後に接続が失われると、ゲートキーパーが有効化されていない場合でも、キャッシュされているポリシー、設定、コントラクトが使用されます。
ゲートキーパーが適用され、追跡対象のリソースに不正なポリシーや定義が正しくないポリシーが適用されると、問題のポリシーが API Manager から削除されるまで、追跡対象のリソースがブロックされて 503 - Service Unavailable
HTTP 状況コードが返されます。Mule Runtime Engine は、すべてのポリシーと、アクティブなコントラクトをローカルにキャッシュします。
ゲートキーパー機能を有効または無効にするには、特定のセキュリティレベルで次のプロパティを設定します。
anypoint.platform.gatekeeper
たとえば、flexible
セキュリティレベルを設定するには、次のプロパティを指定する必要があります。
anypoint.platform.gatekeeper=flexible
Mule 4 セキュリティレベルの有効な値
strict
flexible
disabled
Mule 3 セキュリティレベルの有効な値
true
false
strict
flexible
下表に示すように、ゲートキーパーには false
、disabled
、true
、strict
、または flexible
セキュリティレベルを適用できます。
セキュリティレベル |
Description (説明) |
Mule 3.x のレベル |
Mule 4.x のレベル |
|
ゲートキーパーは一切のセキュリティを適用せず、ポリシーがエラーなく完全に適用されるまでは API が不要なトラフィックを受け取る場合があります。 |
後方互換性のみを目的としています。 |
|
|
ゲートキーパーは一切のセキュリティを適用しません。この設定では、ポリシーが適用されている間に API が不要なトラフィックを受け取る場合があります。 |
使用不可 |
Available (使用可能) |
|
この設定では、デフォルトのセキュリティレベルが |
後方互換性のみを目的としています。代わりに |
使用不可 |
|
ゲートキーパーのセキュリティは最大レベルに設定されます。Mule インスタンスが再起動すると、追跡対象の各リソースにポリシーが正しく適用されるまで API が |
Available (使用可能) |
Available (使用可能) |
|
ゲートキーパーのセキュリティは中間レベルに設定されます。Mule インスタンスが再起動すると、API は |
v3.8.6 以降と v3.9.0 以降で使用可能 |
v4.1.0 以降で使用可能 |
特定の種別のポリシーでゲートキーパーの問題が発生する場合があります。
Mule 3.x では、RAML プロキシまたは APIkit ルーターを含む API 実装に対してのみリソースレベルポリシーを適用できます。API にリソースレベルポリシーが適用されてもゲートキーパーが API を繰り返しブロックする場合は、次の理由が考えられます。
リソースレベルポリシーの設定時に選択した URI とメソッドの式が、RAML 定義で指定されているリソースと一致しない。
このエラーを回避するには、API Manager で特定のリソースレベルポリシーを設定するときに Preview Resource Matching
オプションを使用してください。
Mule アプリケーションで定義されている自動検出要素で apikitRef
属性が指定されていない。
この問題を修復するには、ルーターが使用している APIkit 設定の名前を apikitRef
属性に追加してください。