1.9. サービスネットワークの保護
Application Interconnect は、クラスターやクラウドにまたがってスケーリングする、デフォルトのビルトインセキュリティーを提供します。このセクションでは、追加で設定可能なセキュリティーを説明します。
クラスターごとに詳細なポリシーを作成する方法は OpenShift での Skupper の使用 を参照してください。
1.9.1. ネットワークポリシーを使用したサービスへのアクセスの制限 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、サービスネットワーク上でサービスを公開すると、そのサービスはクラスター内の他の namespace からもアクセスできます。--create-network-policy オプションを使用してサイトを作成すると、この状況を回避することができます。
手順
ネットワークポリシーでサービスネットワークルーターを作成します。
skupper init --create-network-policy
$ skupper init --create-network-policyCopy to Clipboard Copied! Toggle word wrap Toggle overflow サイトのステータスを確認します。
skupper status
$ skupper statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力は以下のようになります。
Skupper enabled for namespace 'west'. It is not connected to any other sites.
Skupper enabled for namespace 'west'. It is not connected to any other sites.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サービスネットワーク上でサービスを公開できるようになり、それらのサービスはクラスター内の他の namespace からアクセスできません。
1.9.2. サービスネットワーク上の TCP または HTTP2 トラフィックへの TLS の適用 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、サイト間のトラフィックは暗号化されますが、サービス Pod とルーター Pod 間のトラフィックは暗号化されません。TCP または HTTP2 として公開されているサービスでは、Pod とルーター Pod 間のトラフィックを TLS を使用して暗号化することができます。
前提条件
- 2 つ以上のリンクされたサイト
- TCP または HTTP2 フロントエンドおよびバックエンドサービス
手順
- バックエンドサービスをデプロイします。
TLS を有効にして、サービスネットワークにバックエンドデプロイメントを公開します。
たとえば、TCP サービスを公開する場合は、以下を実行します。
skupper expose deployment <deployment-name> --port 443 --enable-tls
$ skupper expose deployment <deployment-name> --port 443 --enable-tls
TLS を有効にすると、TLS バックエンドに必要な証明書が作成され、skupper-tls-<deployment-name> という名前のシークレットに保存されます。
生成された証明書を含めるようにバックエンドデプロイメントを変更します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各サイトは、TLS クライアントに必要な証明書を作成し、
skupper-service-clientという名前のシークレットに保存します。生成された証明書を含めるようにフロントエンドデプロイメントを変更します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - TLS が有効なフロントエンドからのサービスの呼び出しをテストします。