第12章 Skupper ポリシーを使用したサービスネットワークの保護


デフォルトでは、Skupper には、サイト間のすべてのサービスネットワーク通信に相互 TLS を使用するなど、多くのセキュリティー機能が含まれています。Skupper ポリシー CRD をインストールして、セキュリティー機能を追加できます。デフォルトでは、Skupper ポリシー CRD をクラスターに適用すると、そのクラスターとの間のすべてのサービスネットワーク通信が阻止されます。必要なサービスネットワーク通信のみを許可するには、Skupper ポリシー CR を詳細に指定します。

注記

Skupper ポリシーは、Skupper CLI の使用 で説明されているように、Skupper サービスへのアクセスを現在の namespace に制限する network-policy オプションである Kubernetes ネットワークポリシーとは異なります。

サービスネットワーク内の各サイトには、Skupper ルーターを実行し、プライベートな専用認証局 (CA) があります。サイト間の通信は相互 TLS で保護されているため、サービスネットワークは外部アクセスから分離され、横方向の攻撃、マルウェアの侵入、データの漏えいなどのセキュリティーリスクを防ぎます。Skupper ポリシーのセットは、クラスターレベルで別のレイヤーを追加して、クラスター管理者がサービスネットワークへのアクセスを制御できるようにします。

このガイドは、次の Skupper の概念を理解していることを前提としています。

サイト
Skupper がインストールされている namespace。
token
2 つのサイト間のリンクを確立するには、トークンが必要。
サービスネットワーク
Skupper を使用してサービスを公開した後、サービスネットワークを作成している。

12.1. Skupper ポリシーについて

クラスター管理者は、Skupper ポリシーのカスタムリソース定義 (CRD) をインストールした後、開発者 がサービスネットワーク上でサービスを作成および使用できるように、1 つ以上のポリシーを設定する必要があります。

注記

このガイドでは、開発者とは、namespace にアクセスできるが管理者権限を持たないクラスターのユーザーを指します。

クラスター管理者は、カスタムリソース (CR) を使用して、次の 1 つ以上の項目を設定して通信を有効にします。

入力リンクを許可する
allowIncomingLinks を使用して、開発者がトークンを作成し、入力リンクを設定できるようにします。
特定のホストへの出力リンクを許可する
allowedOutgoingLinksHostnames を使用して、開発者がリンクを作成できるホストを指定します。
サービスを許可する
allowedServices を使用して、開発者がサービスネットワーク上で作成または使用できるサービスを指定します。
リソースの公開を許可する
allowedExposedResources を使用して、開発者がサービスネットワーク上で公開できるリソースを指定します。
注記

クラスター管理者は、各ポリシー CR 設定を 1 つ以上の namespace に適用できます。

たとえば、次のポリシー CR は、以下を除くすべての namespace ですべての Skupper 機能を完全に許可します。

  • .example.com で終わるドメインへの出力リンクのみを許可します。
  • 'deployment/nginx' リソースのみをサービスネットワークに公開できます。
apiVersion: skupper.io/v1alpha1
kind: SkupperClusterPolicy
metadata:
  name: cluster-policy-sample-01
spec:
  namespaces:
    - "*"
  allowIncomingLinks: true
  allowedExposedResources:
    - "deployment/nginx"
  allowedOutgoingLinksHostnames: [".*\.example.com$"]
  allowedServices:
    - "*"
Copy to Clipboard Toggle word wrap
注記

多くのポリシー CR を適用でき、許可された項目に競合がある場合は、最も許容度の高いポリシーが適用されます。たとえば、allowedOutgoingLinksHostnames: [] という行を含む追加のポリシー CR を適用する場合は、ホスト名をリストしない場合でも、元の CR で許可されているため、*.example.com への出力リンクは許可されます。

namespace
このポリシーが適用される namespace を指定するための 1 つ以上のパターン。ラベルセレクター を使用して namespace を一致させることができることに注意してください。
allowIncomingLinks
他のサイトが指定された namespace へのリンクを作成できるようにするには、true を指定します。
allowedOutgoingLinksHostnames
1 つ以上のパターンを指定して、指定したネームスペースからリンクを作成できるホストを決定します。
allowedServices
1 つ以上のパターンを指定して、指定された namespace からサービスネットワークで許可されるサービスの許可される名前を決定します。
allowedExposedResources
指定された namespace から、サービストワークで許可されているリソースの 1 つ以上の許可された名前を指定します。パターンはサポートされていないことに注意してください。
ヒント

正規表現を使用して、パターンの一致を作成します。次に例を示します。

  • .*\.com$ は、.com で終わる任意の文字列に一致します。YAML の問題を回避するには、二重の円記号が必要です。
  • ^abc$ は文字列 abc と一致します。

特定の namespace への送信リンクを許可する別の Skupper ポリシー CR を作成すると、ユーザーはその namespace からリンクを作成してサービスネットワークに参加できます。つまり、複数のポリシー CR のロジックは OR です。単一のポリシー CR で操作が許可されている場合、操作は許可されます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat