Anypoint Runtime Fabric セキュリティアーキテクチャ

Anypoint Runtime Fabric は、Runtime Fabric にデプロイされた MuleSoft アプリケーションと API ゲートウェイを安全に管理する方法を提供し、データの送信元と送信先を確実に所有して管理できるようにします。

MuleSoft のアーキテクチャモデルにより、Runtime Fabric はどこにでもインストールでき、Anypoint Platform のクラウドベースの Anypoint Management Center (Anypoint Runtime Manager、Anypoint API Manager、Anypoint Monitoring、アクセス管理を含む) から一元管理できます。このモデルでは、すべてのデータフローは Runtime Fabric のインストール場所で制御され、Anypoint Management Center に保存されるメタデータとメトリクスは制限されます。このメタデータは、Runtime Fabric、インテグレーションランタイム、API の管理、監視、トラブルシューティングを支援します。

このモデルは、Runtime Fabric エージェントと呼ばれる Runtime Fabric クラスターで実行されるコンポーネントによって提供されます。Runtime Fabric エージェントは、Anypoint Management Center への接続を確立します。また、Runtime Fabric (Kubernetes など) と Anypoint Management Center を提供する内部コンポーネント間の橋渡しとしても機能します。

Runtime Fabric のデータフロー

下図は、Runtime Fabric のデータフローを示しています。

Runtime Fabric データフローの図

アクティベーションフロー

アクティベーションフロープロセスの手順は次のとおりです。

  1. 認証済みの顧客として、Anypoint コントロールプレーンで実行されている Runtime Fabric Manager から Runtime Fabric アクティベーショントークンを取得します。

  2. このアクティベーショントークンは、Runtime Fabric の作成中に Runtime Fabric Manager に渡します。

  3. Runtime Fabric Manager は、TLS 証明書、CA チェーン、および Runtime Fabric コンテナレジストリへのログイン情報 (参照のみ) を返します。

  4. Runtime Fabric エージェントは、証明書と CA チェーンを Kubernetes シークレットに保存します。

  5. Runtime Fabric エージェントは、Docker レジストリへのログイン情報 (参照のみ) を Kubernetes シークレットに保存します。

  6. Runtime Fabric エージェントは、TLS 証明書と CA チェーンを使用して、Anypoint Management Center との相互 TLS (mTLS) 接続を確立し、Anypoint Runtime Manager と通信します。

  7. コンテナレジストリへのログイン情報は、Runtime Fabric コンテナレジストリから Mule Runtime イメージを取得するために使用されます。

管理フロー

管理フロープロセスの手順は次のとおりです。

  1. mTLS トンネルは、Anypoint Management Center と Runtime Fabric の間のすべてのメタデータを保護します。このトンネルは、Runtime Fabric エージェントが開始して制御します。

  2. アプリケーションデプロイメントメッセージには、アプリケーションとその連動関係を記述したメタデータと、Mule アプリケーションバンドルと設定を取得するための Anypoint Management Center 設定リゾルバーへのリンクが含まれています。設定リゾルバーの通信も、同じ mTLS ログイン情報で保護されます。

  3. Anypoint Runtime Manager を使用して、Runtime Fabric クラスターのアプリケーションを管理および監視できます。

    実行中のアプリケーション状況が表示された Runtime Manager UI
    • 管理機能: Mule アプリケーションの起動、停止、更新

    • 監視機能: CPU、メモリ、および Mule アプリケーションメトリクスの監視

      アプリケーションの監視ビューとメトリクスが表示された Anypoint Monitoring UI
  4. Anypoint Analytics を使用して、API の使用状況とパフォーマンスに関するインサイトを取得できます。このサービスは、このメトリクスデータを一方向の TLS 接続を介して Analytics API に直接送信します。​「Mule API Analytics」​を参照してください。これらのメトリクスは、要求ごとに固有のデータで構成されます。

    API の日付別要求数が表示された Anypoint Platform UI
  5. Runtime Fabric エージェント、Mule アプリケーション、API ゲートウェイは別々のプロセスです。Runtime Fabric エージェントの動作が停止したり、Anypoint Management Center との接続が失われたりしても、Mule アプリケーションと API ゲートウェイは動作を続行します。

  6. Mule アプリケーションと API ゲートウェイは Mule フローで定義されたとおりに動作し、顧客データは Anypoint Management Center へトラバースしません。データフローは、ビルドされてランタイムにデプロイされたアプリケーションに固有です。

mTLS 証明書の更新フロー

mTLS 証明書の更新フロープロセスは次のとおりです。

  1. mTLS 証明書の有効期限が近づくと、Runtime Fabric エージェントは既存の mTLS トンネルを介して Anypoint Management Center に新しい証明書を要求します。

  2. Anypoint Management Center は新しい TLS 証明書を返します。

  3. Runtime Fabric エージェントは既存の証明書を新しい証明書で上書きします。

  4. Runtime Fabric エージェントは、再起動して新しい証明書で mTLS トンネルを再確立します。

Anypoint Monitoring 証明書の更新フロー

Anypoint Monitoring 証明書の更新フロープロセスは次のとおりです。

  1. Anypoint Monitoring 証明書の有効期限が近づくと、Runtime Fabric エージェントは既存の mTLS トンネルを介して Anypoint Management Center に新しい証明書を要求します。

  2. Anypoint Management Center は新しい証明書を返します。

  3. Runtime Fabric エージェントは既存の証明書を新しい証明書で上書きします。

  4. Anypoint Monitoring コンテナは新しい証明書で接続を再確立します。

MuleSoft イメージの管理

イメージの管理プロセスは次のとおりです。

  • ビルドプロセス中に脆弱性スキャンを実行し、SONAR Quality Gates を設定します。

  • 新しいイメージの取得は、すべて顧客によってのみトリガーされます。

  • MuleSoft はコンテナイメージを修復し、通常の修復ケイデンスに従って利用可能なパッチを適用します。

    • 重大な脆弱性は 30 日以内

    • 高度の脆弱性は 90 日以内

    • 中程度の脆弱性は 180 日以内

    • 低度の脆弱性は 360 日以内

コンテナ権限の管理

コンテナ権限の管理プロセスは次のとおりです。

  1. どのコンテナも Runtime Fabric で root として実行する必要はありません。

  2. コンテナ内での権限は極限まで切り詰めます。

  3. どのアプリケーションコンテナにも Kubernetes サービスアカウントを添付しません。

Runtime Fabric エージェントと Mule クラスター IP サービスは Kubernetes コントロールプレーンとやり取りします。これらのコンポーネントが何らかのアクションを実行するには、クラスターのすべてのリソースに対してすべての権限を持っている必要があります。

クラウドに保存されるメタデータ型

クラウドには、次のメタデータ型が保存されます。

  • Runtime Fabric
    Runtime Fabric クラスターに関する情報。具体的には次の情報が保存されます。

    • 名前

    • リージョン

    • クラスターのバージョン

    • Runtime Fabric エージェントのバージョン

    • 関連付けられている環境

    • ノード、CPU、メモリ容量、Kubernetes バージョン、Docker バージョン、Kubernetes 健全性警告

  • Mule アプリケーション
    Anypoint Studio を使用して作成するフローアーキテクチャ。このフローアーキテクチャは API に関するメタデータで、Runtime Manager にアップロードされます。その後、Mule アプリケーションが指定された Runtime Fabric にデプロイされます。

  • 監視メトリクス (必要に応じて)
    ランタイムで設定されたポーリングで収集される基本的なランタイムの状況に関するメトリクス。具体的には次の情報が保存されます。

    • CPU Usage - Past Hour, Current Time (CPU 使用率 - 過去 1 時間、現在時刻)

    • Memory Usage - Past Hour, Current Time (メモリ使用量 - 過去 1 時間、現在時刻)

    • Memory Total - Past Hour, Current Time (メモリ合計 - 過去 1 時間、現在の時刻)

    • Message Count - Past Hour, Current Time (メッセージ数 - 過去 1 時間、現在の時刻)

    • Response Time - Past Hour, Current Time (応答時間 - 過去 1 時間、現在の時刻)

    • Error Count - Past Hour, Current Time (エラー数 - 過去 1 時間、現在の時刻)

  • 分析メトリクス (必要に応じて)
    分析メトリクスを有効にすることで、API がどのように使用され、どの程度のパフォーマンスを実現しているかを把握することができます。これらのメトリクスを設定して、結果を最大 90 日間保存できます。次のメトリクスを取得できます。

    • API name (API 参照名)

    • API バージョン

    • アプリケーション

    • Browser (ブラウザー)

    • City (市区郡)

    • Client IP (クライアント IP)

    • Continent (大陸)

    • Country (国)

    • Hardware platform (ハードウェアプラットフォーム)

    • OS family (OS ファミリー)

    • OS major Version (OS メジャーバージョン)

    • OS minor Version (OS マイナーバージョン)

    • OS version (OS バージョン)

    • Postal code (郵便番号)

    • Resource path (リソースパス)

    • Status code (状況コード)

    • Timezone (タイムゾーン)

    • User agent type (ユーザーエージェント種別)

    • User agent version (ユーザーエージェントバージョン)

    • Verb (動詞)

    • Violated policy name (違反ポリシー名)

  • Advanced capabilities (高度な機能)
    このモデルの高度な機能を使用して、ペイロード情報をクラウドに送信できます。これらはデフォルトでは有効化されていないため、使用するには高度な設定で有効化する必要があります。この機能の例としては ​Runtime Manager Insighthttps://docs.mulesoft.com/runtime-manager/insight があります。