ゲートキーパーの拡張セキュリティ

アプリケーションをデプロイする場合、アプリケーションによって公開された追跡対象リソースにアクセスできるが、それらの追跡対象リソースに指定されたポリシーがまだ適用されていない空白期間が生じることがあるため、不適切なトラフィックが追跡対象リソースに到達する可能性があります。ゲートキーパーは、すべてのポリシーがエラーなく取得されて適用されるまで追跡対象リソースをブロックしてこの状況を回避します。この期間、API は 503 HTTP 状況コードを返します。

ゲートキーパーの動作

ゲートキーパーメカニズムは、ランタイムの (再) 起動や追跡対象リソース (Autodiscovery を介して API インスタンスとリンクしているリソースなど) の (再) デプロイを行うときにのみ適用されます。

ゲートキーパーが適用されている場合、API Manager の API インスタンスに適用済みとして表示されるすべてのポリシーがエラーなくダウンロードされて追跡対象リソースに適用されるまで、各追跡対象リソースがブロックされ、「503 - Service Unavailable (503 - サービスを利用できません)」HTTP 状況コードが返されます。

Autodiscovery が関連付けられていないリソースはゲートキーパーで無視されますが、リソースに Autodiscovery が定義されていないため、ポリシーを適用することができず、分析情報も生成されません。

ランタイムの (再) 起動や追跡対象 Mule アプリケーションの (再) デプロイが行われて接続が失われた場合、接続が失われている間はキャッシュされたポリシー、設定、コントラクトも使用しますが、メカニズムはゲートキーパーとは異なります。このメカニズムは、API ゲートウェイ機能をサポートしているすべてのバージョンのランタイムに実装されています。
不正なポリシーや正しく定義されていないポリシーが追跡対象リソースに適用される場合、ゲートキーパーが適用されていると、API Manager から問題となるポリシーの適用が解除されるまで追跡リソースは 503 HTTP 状況コードでブロックされます。

ランタイムは、すべてのポリシーと、アクティブなコントラクトをローカルにキャッシュします。

セキュリティレベル

ゲートキーパー機能を有効または無効にするには、特定のセキュリティレベルで次のプロパティを設定します。

anypoint.platform.gatekeeper

たとえば、​flexible​ セキュリティレベルを設定する場合、次のプロパティを指定する必要があります。

anypoint.platform.gatekeeper=flexible
  • Mule 4 セキュリティレベルの有効な値

    • strict

    • flexible

    • disabled

  • Mule 3 セキュリティレベルの有効な値

    • true

    • false

    • strict

    • flexible

セキュリティレベルの定義

False

この値が設定されている場合、セキュリティは適用されません。ポリシー適用プロセスで不適切なトラフィックが API に到達する可能性があります。この値は、Mule 3.x の後方互換性を確保するためにのみ使用できます。代わりに「disabled」を使用してください。​disabled​ は、すべての 3.x リリースで使用できません。​false​ は、Mule 4.x で使用できません。

Disabled

この値が設定されている場合、セキュリティは適用されません。ポリシー適用プロセスで不適切なトラフィックが API に到達する可能性があります。

True

この値が設定されている場合、デフォルトのセキュリティレベルは Strict になります。この値は、Mule 3.x の後方互換性を確保するためにのみ使用できます。代わりに「strict」または「flexible」を使用してください。​true​ は、Mule 4.x で使用できません。

Strict

この値が設定されている場合、最大セキュリティレベルでゲートキーパーセキュリティが設定されます。

Mule Runtime が (再) 起動すると、各追跡対象リソースのポリシーが正常にダウンロードされて適用されるまで API がブロックされて 503 HTTP 状況コードが返されます。ゲートキーパーが適用されている状態で API プラットフォームとの接続が失われると、少なくとも接続が再確立されるまでは追跡対象リソースがブロックされます。

Flexible

この値が設定されている場合、中間セキュリティレベルでゲートキーパーセキュリティが設定されます。

Mule Runtime が (再) 起動すると、各追跡対象リソースのポリシーが正常にダウンロードされて適用されるまで API がブロックされて 503 HTTP 状況コードが返されます。ゲートキーパーが適用されている状態で API プラットフォームとの接続が失われると、接続が失われている間はローカルキャッシュを使用してポリシーを取得します。キャッシュされたポリシーがローカルに保存されていない場合、少なくとも接続が再確立されるまでは追跡対象リソースがブロックされます。

Flexible モードは、ランタイムバージョン v3.8.6 以降の v3.8.x、v3.9.0 以降の v3.9.x、および v4.1.0 以降で使用できます。

デフォルトのゲートキーパー設定

ランタイムバージョン

デフォルトのセキュリティレベル

3.8.5

Strict

3.8.6 以降の 3.8.x

Flexible

3.9.0

Strict

3.9.1 以降の 3.9.x

Flexible

4.0.0

Strict

4.1.0 以降

Flexible

関連情報

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub